算子部署指将算子编译生成的自定义算子安装包(*.run)部署到OPP算子库中。
推理场景下,自定义算子直接部署到开发环境的OPP算子库。
训练场景下,自定义算子安装包需要部署到运行环境的OPP算子库中。
编译生成算子包的操作系统版本与架构需要与执行算子包部署操作的操作系统版本与架构相同。
基于MindStudio进行算子开发的算子包部署操作请参见《MindStudio 用户指南》中的“自定义算子开发 > 算子部署”章节。
./custom_opp_<target os>_<target architecture>.run
命令执行成功后,会将编译生成的自定义算子相关文件部署到opp对应目录下的custom路径下,部署后目录结构示例如下所示:
├── opp //算子库目录
│ ├── op_impl
│ ├── built-in
│ ├── custom
│ ├── ai_core
│ ├── 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 //自定义算子原型库文件 注:其他目录与文件,自定义算子部署无需关注。