算子包部署
简介
算子部署指将算子编译生成的自定义算子安装包(*.run)部署到昇腾算子库中。
推理场景下,自定义算子直接部署到开发环境的昇腾算子库。
训练场景下,自定义算子安装包需要部署到运行环境的昇腾算子库中。
编译生成算子包的操作系统版本与架构需要与执行算子包部署操作的操作系统版本与架构相同。
命令行环境
- 训练场景下,您需要将算子工程编译生成的自定义算子包custom_opp_<target os>_<target architecture>.run以运行用户拷贝到运行环境任一路径,然后参照如下步骤部署自定义算子安装包,如果您的开发环境即为运行环境,此操作可跳过。
- 在自定义算子安装包所在路径下,执行如下命令,安装自定义算子包。
./custom_opp_<target os>_<target architecture>.run
命令执行成功后,会将编译生成的自定义算子相关文件部署到opp对应目录下的custom路径下,部署后目录结构示例如下所示:
├── opp //算子库目录 │ ├── op_impl │ ├── built-in │ ├── custom │ ├── ai_core │ ├── tbe // TBE自定义算子实现文件及算子信息库所在目录 │ ├── config │ ├── ${soc_version} //昇腾AI处理器类型 │ ├── aic-${soc_version}-ops-info.json //TBE自定义算子信息库文件 │ ├── custom_impl //TBE自定义算子实现代码文件 │ ├── xx.py │ ├── vector_core //此目录预留,无需关注 │ ├── cpu //AI CPU自定义算子实现库及算子信息库所在目录 │ ├── aicpu_kernel │ ├── custom_impl │ ├── libcust_aicpu_kernels.so //AI CPU自定义算子实现库文件 │ ├── config │ ├── cust_aicpu_kernel.json //AI CPU自定义算子信息库文件 │ ├── framework │ ├── built-in │ ├── custom │ ├── caffe //存放Caffe框架的自定义算子插件库 │ ├── libcust_caffe_parsers.so //算子插件库文件,包含了自定义算子的插件解析函数 │ ├── custom.proto //自定义算子的原始定义,算子编译过程中会读取此文件自动解析算子原始定义 │ ├── onnx //存放ONNX框架的自定义算子插件库 │ ├── libcust_onnx_parsers.so //算子插件库文件,包含了自定义算子的插件解析函数 │ ├── tensorflow //存放TensorFlow框架的自定义算子插件库及npu对相关自定义算子支持度的配置文件 │ ├── libcust_tf_parsers.so //算子插件库文件 │ ├── libcust_tf_scope_fusion.so //scope融合规则定义库文件 │ ├── npu_supported_ops.json //Ascend 910场景下使用的文件 │ ├── op_proto │ ├── built-in │ ├── custom │ ├── libcust_op_proto.so //自定义算子原型库文件
注:其他目录与文件,自定义算子部署无需关注。
父主题: 算子编译部署