首页 > 其他分享 >Ascend C 算子开发遇到的问题及解决方法

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

时间:2023-11-30 16:31:46浏览次数:37  
标签:cmake 遇到 CANN linux Ascend aarch64 算子 PATH

摘要:在学习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

安装成功会显示如下:

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

说明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

报错找不到头文件:

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

这个错误是在进行自定义算子工程实验时的编译算子工程出现的,也就是在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,具体可以参考如下:

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

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

二、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

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

这个错误应该和前面的一样,也是因为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

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

如果是在启智社区使用的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等。但是还是没有这两行代码快且有效。

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

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

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

报错原因应该是因为我在启智社区调式的镜像环境有问题,需要源码安装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自定义算子工程和算子调用了。

标签:cmake,遇到,CANN,linux,Ascend,aarch64,算子,PATH
From: https://blog.51cto.com/u_16353294/8632661

相关文章

  • ceph 编译时遇到的一些问题
    在用gitsubmoduleupdate--init--recursive--progress下载子模块时,一些子模块加载有问题,包括rook-clinet-python#######################################执行./do_cmake.sh时报错###########################MakeErrorat/usr/share/cmake/Modules/ExternalProject.cmake:......
  • 谷歌Gmail停用申诉回来登陆遇到异常活动验证,提示手机号无法用于验证怎么办?
    谷歌Gmail无法登陆出现异常活动验证怎么办?先说注意事项:一、不要使用外面的手机号去验证,100%被谷歌锁定。外面的号码都是被人滥用过去注册的,你还使用去验证自己的异常账号,不被锁定就怪了!二、谷歌的风控规则已经变化了,网上有很多说法认为只需要等待几天、一周甚至一个月就能自动恢复,......
  • 虚拟机进行实验八遇到的坑(一)
    idea依赖下载报错//引入阿里云镜像下载就ok啦~~~<repositories><repository><id>alimaven</id><name>aliyunmaven</name><url>https://maven.aliyun.com/nexus/content/groups/public/</url......
  • CRM是如何解决中小型企业遇到的问题的?
     许多企业认识到了应该使用CRM系统来进行客户关系管理,但却对CRM本身不太了解。在了解企业自身需求和问题的情况下,把CRM的功能用到淋漓尽致是每个企业的必修课。下面说说,中小型企业CRM系统需求与功能如何匹配?一、为什么要用CRM系统CRM系统是客户关系管理软件,它不仅仅用于销售......
  • MySQL5.6建索引时遇到 Specified key was too long; max key length is 767 bytes错误
    解决方法//查看showvariableslike"innodb_large_prefix";showvariableslike"innodb_file_format"; //修改最大索引长度限制 setglobalinnodb_large_prefix=1;或  setglobalinnodb_large_prefix=on;setglobalinnodb_file_format=BA......
  • 【2023CANN训练营第二季】——Ascend C自定义算子工程介绍及实验
    一、自定义算子工程介绍与创建自定义算子工程是一个包含用户编写的host侧和kerne|侧算子实现文件的,用于编译和安装自定义算子run包的工程框架。CANN软件包中提供了工程创建工具msopgen,开发者可以输入算子原型定义文件生成AscendC算子开发工程。需要编写AddCustom算子的原型定义......
  • 遇到Qt使用UI文件无法连接信号问题
    1.手动加载UI文件代码如下: 以上代码pushButton按钮在状态切换时,无法接收到信号,经过调试发现调用"connect"时变量“lineWidget”各个成员都是空指针,但是"connect"函数并没有报异常。2.查看"setupUI"函数,其片段如下: 可以发现,其实创建对象都是在"setupUi"中完成。3......
  • Sb7:关于.net使用WCF过程中遇到的坑
    最近写了一个类似QQ升级的功能。使用wcf编写了一个服务端。 做了四个接口服务,可以根据软件编号查询所有版本号,可以根据版本查询所有待升级文件,远程获取升级文件。在做服务的时候原计划GetFile方法中采用异步同时传输,将大文件切割成多个模块进行传输,在客户端接收完后重新组包再......
  • 【专题】展望人工智能银行:当银行遇到AI报告PDF合集分享(附原数据表)
    报告链接:http://tecdat.cn/?p=32210在2016年,AlphaGo机器人打败了18届世界棋王李世石,成为了世界棋坛上最伟大的人物。阅读原文,获取专题报告全文,解锁154份文末人工智能银行相关报告。围棋是一种非常复杂的棋类,它要求有很强的直觉,想像力和策略性的思考,而这一切在很长一段时间里都......
  • 项目启动遇到的问题
    java:无法访问org.springframework.boot.SpringApplication错误的类文件:/D:/Repository/org/springframework/boot/spring-boot/3.0.5/spring-boot-3.0.5.jar!/org/springframework/boot/SpringApplication.class类文件具有错误的版本61.0,应为52.0请删除该文件......