Ascend c算子开发
1.Mindstudio安装和配置
https://www.hiascend.com/document/detail/zh/mindstudio/60RC3/quickstart/quickstart_MS.html
2.安装算子开发的依赖
pip3 install xlrd==1.2.0
pip3 install gnureadline
pip3 install absl-py
pip3 install coverage
pip3 install jinja2
pip3 install onnx
pip3 install tensorflow==1.15.0
pip3 install python-csv
pip3 install google
安装python-csv报错
解决方法:
pip3 install --upgrade setuptools==57.5.0
重新执行pip安装
3.导入aicpu算子工程案例
cp -r
Ascend-cann-toolkit安装目录/ascend-toolkit/latest/tools/msopgen/template/
operator_demo_projects
$HOME/MindstudioProjects
chmod -R 750
$HOME/MindstudioProjects/operator_demo_projects
用Mindstudio打开operator_demo_projects/aicpu_operator_sample工程,构建工程
4.算子的本地部署
选择Ascend > Operator Deployment”,弹出算子部署界面
选择本地部署
本地部署成功,在Ascend-cann-toolkit安装目录/ascend-toolkit/latest/opp 中可以看到自定义算子包更新
5.算子的远程部署
首先ssh连接远端开发板或者服务器
将本地工程文件映射到远端
添加远端toolchains
最后一下添加/usr/bin/aarch64-linux-gnu-g++,构建工程,遇到无法找到头文件include “register/register.h” ,解决方法
export ASCEND_TENSOR_COMPILER_INCLUDE=/usr/local/Ascend/ascend-toolkit/7.0.RC1/aarch64-linux/include
发现不起作用,应该在MindStudio软件中添加
重新构建工程
部署远端
在远端对应的文件下可以看到生成的文件,和算子库更新
6.TBE测试
测试时,失败 报错 AttributeError: module ‘numpy’ has no attribute ‘bool’. 降低numpy版本 即可
完结