自定义算子工程aclnn单算子API调用样例概述本样例基于示例自定义算子工程介绍了aclnnOpType单算子API的方式执行固定shape算子。本样例支持的产品及CANN软件版本产品CANN软件版本Ascend 950PR/Ascend 950DT CANN 9.1.0Atlas A3 训练系列产品/Atlas A3 推理系列产品 CANN 9.0.0Atlas A2 训练系列产品/Atlas A2 推理系列产品 CANN 9.0.0Atlas 200I/500 A2 推理产品 CANN 9.0.0Atlas 推理系列产品 CANN 9.0.0目录结构介绍├── aclnn_invocation │ ├── CMakeLists.txt // 编译工程文件 │ ├── main.cpp // 算子调用主程序 │ └── README.md // 样例说明文档代码实现介绍完成自定义算子的开发部署后可以通过单算子API调用的方式来验证单算子的功能。具体可参考单算子API调用章节以及单算子调用中“单算子API执行”相关章节。单算子API执行是基于C语言的API执行算子无需提供单算子描述文件进行离线模型的转换可直接调用单算子API接口。本样例中通过aclnnAddCustomGetWorkspaceSize与aclnnAddCustom两段式接口执行算子计算核心流程如下创建输入/输出aclTensor并准备Device侧数据。调用aclnnAddCustomGetWorkspaceSize获取本次计算所需workspace大小并申请对应Device内存。调用aclnnAddCustom执行计算同步流aclrtSynchronizeStream并将结果拷回Host侧进行验证。编译运行编译、打包和部署自定义算子工程运行此样例前需先进入自定义算子工程样例目录完成编译、打包和部署。配置环境变量请根据当前环境上CANN开发套件包的安装方式选择对应配置环境变量的命令。默认路径root用户安装CANN软件包source /usr/local/Ascend/cann/set_env.sh默认路径非root用户安装CANN软件包source $HOME/Ascend/cann/set_env.sh指定路径install_path安装CANN软件包source ${install_path}/cann/set_env.sh说明${install_path}为CANN包安装目录未指定安装目录时默认安装至/usr/local/Ascend下。样例执行在本样例根目录下执行如下步骤运行该样例。mkdir -p build; cd build cmake .. make -j ./execute_add_op执行结果如下说明执行成功。test pass创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考