算子交付件开发完成后,需要对算子工程进行编译,生成自定义算子安装包*.run,详细的编译操作包括:
... set(AICPU_SOC_VERSION $ENV{AICPU_SOC_VERSION}) message(STATUS "AICPU_SOC_VERSION=${AICPU_SOC_VERSION}") # 添加如下代码 if(EXISTS "${ASCEND_AICPU_PATH}/opp/built-in/op_impl/aicpu/aicpu_kernel/lib/${AICPU_SOC_VERSION}/libascend_protobuf.a") target_link_options(${AICPU_KERNEL_TARGET} PRIVATE -s -Wl,-Bsymbolic -Wl,--exclude-libs=libascend_protobuf.a ) target_link_libraries(${AICPU_KERNEL_TARGET} PRIVATE -Wl,--whole-archive ${ASCEND_AICPU_PATH}/opp/built-in/op_impl/aicpu/aicpu_kernel/lib/${AICPU_SOC_VERSION}/libascend_protobuf.a -Wl,--no-whole-archive ) endif() if(EXISTS "${ASCEND_AICPU_PATH}/opp/built-in/op_impl/aicpu/aicpu_kernel/lib/${AICPU_SOC_VERSION}/libcpu_kernels_context.a") ...
在MindStudio工程界面,选中算子工程,单击顶部菜单栏的
。
参数 |
说明 |
---|---|
Name |
配置名称自定义,默认为Release。 |
Build type |
配置类型,可选,默认为Release。 |
Toolchain |
工具链配置器,根据已安装的CANN包预置架构一致的自定义Toolchain,支持本地和远程编译功能。 可单击“Manage toolchains……”自定义配置Toolchain,配置详情请参见Toolchains。 |
CMake options |
CMake选项,默认:“-DCMAKE_BUILD_TYPE=Release”。 |
Build directory |
编译目录相对路径,该路径是相对于工程目录的路径。 |
Build options |
编译加速选项。 |
Environment variables |
环境变量配置:支持编译前配置环境变量。 可直接手动配置或单击 |
若选用远程Toolchain,将默认添加一个Deployment,用户需要配置环境变量。
ASCEND_OPP_PATH=Ascend-cann-toolkit安装目录/ascend-toolkit/latest/opp; ASCEND_TENSOR_COMPILER_INCLUDE=Ascend-cann-toolkit安装目录/ascend-toolkit/latest/include; ASCEND_AICPU_PATH=Ascend-cann-toolkit安装目录/ascend-toolkit/latest
建议用户配置AICPU_KERNEL_TARGET环境变量。并添加软件版本号的后缀,避免后续由于AI CPU软件升级造成自定义AI CPU动态库文件的冲突。若不配置此环境变量,使用默认值:cust_aicpu_kernels。
AICPU_KERNEL_TARGET=cust_aicpu_kernels_3.3.0
export ASCEND_AICPU_PATH=Ascend-cann-toolkit安装目录/ascend-toolkit/latest
export AICPU_KERNEL_TARGET=cust_aicpu_kernels_3.3.0(建议配置)
其中Arch的取值根据安装的CANN包和Toolchain的信息获取。