首先介绍一下我的硬件和环境,我的硬件是香橙派,芯片是Ascend310B4,使用的CANN的版本是8.0.RC1。
在学习算子开发过程中,我跟着CANN社区版的文档一步一步配置。参考的是 快速上手端到端算子开发。在创建add_custom.json后,使用msopgen工具来创建我的工程
/usr/local/Ascend/ascend-toolkit/latest/python/site-packages/bin/msopgen gen -i /root/my_robot/ascend_operator/test/add_custom.json -c ai_core-Ascend310B4 -lan cpp -out /root/my_robot/ascend_operator/test/
然后修改修改CMakePresets.json中ASCEND_CANN_PACKAGE_PATH为CANN软件包安装路径。
接下来我直接使用./build.sh进行编译。此时会报错 
此时我很不解,在论坛和gitee的仓库中翻了翻,也有不少人遇到这个问题,大多说的都是CANN版本的问题,于是我从7.0.RC1尝试到8.0.RC2。这个报错依旧存在。
于是我将官方仓库的这一章节的代码下载下来直接进行编译,发现并没有这个报错。此时我感觉非常奇怪。
下面我介绍一下我的处理方案:
删掉使用msopgen工具生成的cmake这个文件夹,将上面gitee仓库的cmake放到自己的工程中,然后修改CMakePresets.json中ASCEND_COMPUTE_UNIT的值,将ascend310b4改为ascend310b
然后将/op_host中add_custom.cpp的this->AICore().AddConfig("ascend310b4");修改为this->AICore().AddConfig("ascend310b");
接下来编译就没有错了。
这是我使用的一个临时的处理方案,我并不清楚使用msopgen工具创建的工程为什么会出现这个问题,希望有大佬能帮我解答一下。另外想确定一下有没有更好的解决方案。
首先介绍一下我的硬件和环境,我的硬件是香橙派,芯片是Ascend310B4,使用的CANN的版本是8.0.RC1。
在学习算子开发过程中,我跟着CANN社区版的文档一步一步配置。参考的是 快速上手端到端算子开发。在创建add_custom.json后,使用msopgen工具来创建我的工程
/usr/local/Ascend/ascend-toolkit/latest/python/site-packages/bin/msopgen gen -i /root/my_robot/ascend_operator/test/add_custom.json -c ai_core-Ascend310B4 -lan cpp -out /root/my_robot/ascend_operator/test/然后修改修改CMakePresets.json中ASCEND_CANN_PACKAGE_PATH为CANN软件包安装路径。
{ …… "configurePresets": [ { …… "ASCEND_CANN_PACKAGE_PATH": { "type": "PATH", "value": "/usr/local/Ascend/latest" //请替换为CANN软件包安装后的实际路径 }, …… } ] }接下来我直接使用
./build.sh进行编译。此时会报错此时我很不解,在论坛和gitee的仓库中翻了翻,也有不少人遇到这个问题,大多说的都是CANN版本的问题,于是我从7.0.RC1尝试到8.0.RC2。这个报错依旧存在。
于是我将官方仓库的这一章节的代码下载下来直接进行编译,发现并没有这个报错。此时我感觉非常奇怪。
下面我介绍一下我的处理方案:
删掉使用msopgen工具生成的cmake这个文件夹,将上面gitee仓库的cmake放到自己的工程中,然后修改
CMakePresets.json中ASCEND_COMPUTE_UNIT的值,将ascend310b4改为ascend310b"ASCEND_COMPUTE_UNIT": { "type": "STRING", "value": "ascend310b" },然后将
/op_host中add_custom.cpp的this->AICore().AddConfig("ascend310b4");修改为this->AICore().AddConfig("ascend310b");接下来编译就没有错了。
这是我使用的一个临时的处理方案,我并不清楚使用msopgen工具创建的工程为什么会出现这个问题,希望有大佬能帮我解答一下。另外想确定一下有没有更好的解决方案。