Ascend 算子开发实战+基础算子开发命题笔记(以ThreeNN为例)
新人帖
发表于2024-07-17 19:16:25
0 查看
Ascend 算子开发实战+基础算子开发命题笔记(以ThreeNN为例)
编写构建算子工程的JSON文件

-
将/usr/local/Ascend/ascend-toolkit/8.0.RC2.alpha002/python/site-packages/bin加入PATH
通过以下命令新建工程 msopgen gen -i ${JSON文件} -c ai_core-ascend310b -lan cpp -out {工程初始化目录}
新建完后,可能要调整CMakePresets.json文件,设置正确的ascend package 地址
运行build.sh,编译算子,完成后再运行build_out/custom_opp_ubuntu_aarch64.run将自己写的算子安装到本地库里面
从下载测试样例,解压缩后,进入ThreeNNCase/ThreeNNCase1文件夹
src/oprunner.cpp文件可能需要的修改如下
运行run.sh进行评测
Ascend 算子开发实战+基础算子开发命题笔记(以ThreeNN为例)
编写构建算子工程的JSON文件
[ { "op": "ThreeNNCustom", "language":"cpp", "input_desc": [ { "name": "xyz1", "param_type": "required", "format": [ "ND" ], "type": [ "fp32" ] }, { "name": "xyz2", "param_type": "required", "format": [ "ND" ], "type": [ "fp32" ] } ], "output_desc": [ { "name": "dist", "param_type": "required", "format": [ "ND" ], "type": [ "fp32" ] }, { "name": "idx", "param_type": "required", "format": [ "ND" ], "type": [ "int32" ] } ] } ]将
/usr/local/Ascend/ascend-toolkit/8.0.RC2.alpha002/python/site-packages/bin加入PATH通过以下命令新建工程
msopgen gen -i ${JSON文件} -c ai_core-ascend310b -lan cpp -out {工程初始化目录}新建完后,可能要调整
CMakePresets.json文件,设置正确的ascend package 地址"ASCEND_CANN_PACKAGE_PATH": { "type": "PATH", "value": "/usr/local/Ascend/ascend-toolkit/latest" },运行
build.sh,编译算子,完成后再运行build_out/custom_opp_ubuntu_aarch64.run将自己写的算子安装到本地库里面从下载测试样例,解压缩后,进入
ThreeNNCase/ThreeNNCase1文件夹src/oprunner.cpp文件可能需要的修改如下运行
run.sh进行评测