Ascend C 算子开发遇到的问题及解决方法

news2024/9/20 20:22:05

摘要:在学习Ascend C算子开发进阶课程的时候,进行Ascend C自定义算子工程、算子调用等实验,在开发环境中遇到了一些问题,在这里记录一下。

首先如果在启智社区CANN版本为6.3 ,要进行Ascend C算子开发,需要更新CANN版本。
在CANN社区根据你的架构,比如我的为CPU架构位aarch64,所以下载Ascend-cann-toolkit_7.0.RC1.alpha003_linux-aarch64.run 到本文目录下,下载好之后,运行以下命令赋权并安装:

chmod +x Ascend-cann-toolkit_7.0.RC1.alpha003_linux-aarch64.run
./Ascend-cann-toolkit_7.0.RC1.alpha003_linux-aarch64.run --full

安装成功会显示如下:

image.png

说明CANN安装到了/home/ma-user/Ascend目录下。大家根据自己的实际路径写就好了

安装好之后配置环境变量:

source /home/ma-user/Ascend/ascend-toolkit/set_env.sh
export PATH=/home/ma-user/work/cmake-3.26.4-linux-aarch64/bin:$PATH
export ASCEND_HOME_DIR=/home/ma-user/Ascend/ascend-toolkit/latest

下面就可以运行代码了


一、fatel error:register/tilingdata_base.h:No such file or directory

报错找不到头文件:

image.png

这个错误是在进行自定义算子工程实验时的编译算子工程出现的,也就是在samples/operator/AddCustomSample/FrameworkLaunch/AddCustom 目录下执行 ./build.sh出现。

起初我的解决方法是设置环境变量,但是还是会报错,会报其他头文件的错误,所以治标不治本。后面看了一个大佬的经验帖子,发现是我的CANN软件包安装后的实际路径写错了,在samples/operator/AddCustomSample/FrameworkLaunch/AddCustom/CMakePresets.json 这个文件中,应该把ASCEND_CANN_PACKAGE_PATH为CANN软件包安装后的实际路径,我的CANN安装在/usr/local/Ascend 下,所以我的路径地址应该为:/usr/local/Ascend/ascend-toolkit/latest,具体可以参考如下:

image.png

这样就不会再报头文件错误了。

二、build ops lib error: /usr/bin/ld: cannot find -lexe_graph

/usr/bin/ld: cannot find -lregister
/usr/bin/ld: cannot find -ltiling_api
collect2: error: ld returned 1 exit status

image.png

这个错误应该和前面的一样,也是因为CANN路径没有设置正确。解决方案看上面

三、CMake Error at CMakeLists.txt:1 (cmake_minimum_required):CMake 3.16.0 or higher is required. You are running version 3.12.1

image.png

如果是在启智社区使用的mindspore2.0.0_cann6.3_notebook镜像,估计就会报这个错误,因为cmake版本太低了,所以需要更新cmake。

wget https://github.com/Kitware/CMake/releases/download/v3.26.4/cmake-3.26.4-linux-aarch64.tar.gz
tar -xf cmake-3.26.4-linux-aarch64.tar.gz
export PATH=/home/ma-user/work/cmake-3.26.4-linux-aarch64/bin:$PATH

/home/ma-user/work/cmake-3.26.4-linux-aarch64/bin 这个目录是你下载的cmake压缩包解压之后的目录,然后就执行以上两步就可以更新完cmake了,我之前更新的时候也踩了很多坑,我是把安装报下载下来,然后还是用bootstrap命令,make,make install等。但是还是没有这两行代码快且有效。
image.png

四、ERROR: acl executable run failed! please check your project!

image.png

报错原因应该是因为我在启智社区调式的镜像环境有问题,需要源码安装python3.7.5

下载python3.7.5并解压、安装

wget https://canncamp202302.obs.cn-north-4.myhuaweicloud.com/Python-3.7.5.tgz
tar -zxvf Python-3.7.5.tgz
cd Python-3.7.5
./configure --prefix=/usr/local/python3.7.5 --enable-loadable-sqlite-extensions --enable-shared
make
make install

设置环境变量

export PATH=/usr/local/python3.7.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/python3.7.5/lib:$LD_LIBRARY_PATH

安装依赖

pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple/  --upgrade pip
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple/ attrs numpy decorator sympy cffi pyyaml pathlib2 psutil protobuf==3.19.0 scipy requests absl-py wheel typing_extensions

这里安装Python的命令会有点多,跟着步骤一步步执行就好了。

安装好之后,就可以正常进行Ascend C自定义算子工程和算子调用了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1273643.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TA-Lib学习研究笔记——Volume Indicators (四)

TA-Lib学习研究笔记——Volume Indicators (四) 1.AD Chaikin A/D Line 量价指标 函数名:AD 名称:Chaikin A/D Line 累积/派发线(Accumulation/Distribution Line) 简介:Marc Chaikin提出的一…

C++ 学习之匿名名字空间的使用细节

匿名命名空间(anonymous namespace)是C中的一种特殊命名空间,它没有显式的名称。匿名命名空间可以用来定义仅在当前文件中可见的全局变量、函数和类。 由于没有名字,所以相当于直接引入,但是没有引入定义 如果发生冲…

Influx集群解决方案(Influx Proxy篇)

InFluxDB 集群搭建 本次搭建使用influx proxy 介绍 github地址:https://github.com/chengshiwen/influx-proxy/ Influx Proxy 是一个基于高可用、一致性哈希的 InfluxDB 集群代理服务,实现了 InfluxDB 高可用集群的部署方案, 具有动态扩/缩容、故障恢复…

JRT和检验共用的打印层实现

之前对接的打印和导出是C#实现的,如果要完全Java化就需要用Java把打印元素绘制协议用Java实现,这次介绍实现主体搭建,最终使JRT达到完全信创和跨平台目标。到这篇后,所有的Java难题都解决完毕,几天到几周之内就可以把打…

Echarts大屏可视化_04 横向柱状图模块的引入和开发

模块的引入 1.寻找官方示例引入 ECharts官方实例入口 2.引入示例 ECharts 示例 可从这里直接进入 标题、提示信息、图例都不需要所以直接删掉 <div class"column"><div class"panel bar2"><h2>柱状图-技能掌握</h2><div cla…

项目动态 | 十一月重点上线项目集锦

武清联创商会 【应用场景】商协会资源对接服务平台&#xff1b; 【核心功能】 l 利用资源对接系统&#xff0c;用户可在平台内发布自己的人脉信息、个性化标签&#xff0c;通过对接获得收益&#xff0c;实现人脉增值&#xff1b; l 利用信息发布系统&#xff0c;用户可直观…

UEFI与ESKII源代码分析

这是一本未出版的电子书&#xff0c;是UEFI BIOS从业者的非常重要的参考书籍。需要的朋友可以联系我。

微服务实战系列之EhCache

前言 书接前文&#xff0c;继续深耕。上一篇博主对Redis进行了入门级介绍&#xff0c;大体知道了Redis可以干什么以及怎么使用它。 今日博主继续带着大家学习如何使用EhCache&#xff0c;这是一款基于Java的缓存框架。 微服务实战系列之Redis微服务实战系列之Cache微服务实战…

主成分分析例题 (多元统计分析期末复习)

例一 给定X的协差阵&#xff0c;对其进行主成分分析, &#xff08;1&#xff09;求出每个主成分的贡献率&#xff1b; &#xff08;2&#xff09;求出每个原始变量的信息提取率&#xff1b; 解&#xff1a;对于主成分分析的题&#xff0c;一般来说&#xff0c;题目给定一个协方…

mybatis关于namespace以及id以及Mapper接口命名的说明(了解)

1、建库建表 CREATE DATABASE mybatis-example;USE mybatis-example;CREATE TABLE t_emp(emp_id INT AUTO_INCREMENT,emp_name CHAR(100),emp_salary DOUBLE(10,5),PRIMARY KEY(emp_id) );INSERT INTO t_emp(emp_name,emp_salary) VALUES("tom",200.33); INSERT INTO…

使用Jetty编写RESTful接口

一、依赖 <!--Jetty服务器的核心依赖项&#xff0c;用于创建和管理服务器。--><dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-server</artifactId><version>9.4.43.v20210629</version></dependency…

Linux scatterlist 详解

源码基于&#xff1a;Linux 5.4 约定&#xff1a; 芯片架构&#xff1a;ARM64内存架构&#xff1a;UMACONFIG_ARM64_VA_BITS&#xff1a;39CONFIG_ARM64_PAGE_SHIFT&#xff1a;12CONFIG_PGTABLE_LEVELS &#xff1a;3 0. 前言 之前在《Linux DMA... 零拷贝》博文分享了DMA 技…

程序员养生之道

程序员养生之道——如何保持健康的生活方式 摘要&#xff1a; 随着互联网行业的快速发展&#xff0c;越来越多的人选择从事程序员这个职业。然而&#xff0c;长时间的工作和高强度的压力容易导致程序员出现亚健康状况&#xff0c;如头发稀疏、视力下降、肥胖等问题。因此&#…

字节大佬整理测试用例编写规范

目录 1.1目的 1.2使用范围 二 测试用例编写原则 2.1系统性 2.2连贯性 2.3全面性 2.4正确性 2.5符合正常业务惯例 2.6仿真性 2.7容错性&#xff08;健壮性&#xff09; 三 测试用例设计方法 3.1 等价类划分法&#xff1a; 3.2 边界值分析法&#xff1a; 3.3 因果图…

python简单通讯录

代码&#xff1a; # 定义联系人类 class Contact:def __init__(self, name, phone, street, city, province, postcode):self.name nameself.phone phoneself.street streetself.city cityself.province provinceself.postcode postcodedef __str__(self):return f"…

shell编程系列(6)-使用Sort进行数据排序

文章目录 前言使用Sort命令文本排序sort命令的选项如下&#xff1a;基本排序对单个指定列进行排序对多个指定列进行排序删除重复的行 结语 前言 shell脚本通常用作一些自动化的操作&#xff0c;但是在有些场景下例如科研运算&#xff0c;有时候会产生大量的运算结果文件&#…

学习记录PCL-1 通过哈希表进行三维点云的虚拟格网划分

直接对整个场景的点云进行特征提取&#xff0c;效果很差&#xff0c;因此通过划分区域格网进行划分。格网划分有很多种方式&#xff0c;在这里尝试使用哈希表进行格网链接&#xff0c;后续通过在每个格网内基于点云特征进行提取。 参考博客&#xff1a; 点云侠的PCL 点云分块_p…

揭示堆叠自动编码器的强大功能 - 最新深度学习技术

简介 在不断发展的人工智能和机器学习领域&#xff0c;深度学习技术由于其处理复杂和高维数据的能力而获得了巨大的普及。在各种深度学习模型中&#xff0c;堆叠自动编码器[1]作为一种多功能且强大的工具脱颖而出&#xff0c;用于特征学习、降维和数据表示。本文探讨了堆叠式自…

影视网站影视介绍评论网站

基于Boostrap的响应式电影网站影视网站移动技术应用开发一、考核要求1、考核内容本课程的成绩主要依据平时表现、文档、答辩&#xff08;设计讲解、操作演示等&#xff09;等方面评定。运用所学知识&#xff0c;独立设计并开发一个影视介绍评论网站&#xff0c;具体要求如下&am…

凯旋泥巴佬正式全面亮相,Triumph TF 250-X

之前给大家曝光过凯旋将要进军越野车领域&#xff0c;并且发动机和车架都已经造出来了&#xff0c;还要去参加赛事想要获得比赛的荣誉和名次&#xff0c;就在今日凯旋的一台越野车TF 250-X正式亮相&#xff0c;售价9995美元。 这是凯旋真正意义上的第一台竞赛级越野车&#xff…