算子部署(远程)

将自定义算子安装包custom_opp_Linux_Arch.run部署到昇腾AI处理器所在硬件环境的算子库中,为后续算子在网络中运行构造必要条件。

  1. 在MindStudio工程界面,选中算子工程。
  2. 单击顶部菜单栏的Ascend > Operator Deployment,进入算子打包部署界面。

    请在Operator Deploy Remotely > Deployment选择配置项,配置“Deployment”的方法请参见Deployment

  3. 配置环境变量。

    两种配置方式如下所示:
    • 昇腾AI处理器所在硬件环境Host侧配置环境变量。

      MindStudio使用Host侧的运行用户在Host侧进行算子部署,进行算子部署执行前,需要在Host侧进行如下环境变量的配置。

      1. 以运行用户在Host侧的$HOME/.bashrc文件中配置如下环境变量。
        export ASCEND_OPP_PATH=Ascend-cann-toolkit安装目录/ascend-toolkit/latest/opp

        Ascend-cann-toolkit安装目录/ascend-toolkit/latest为OPP组件(算子库)的安装路径,请根据实际情况配置。

      2. 执行命令使环境变量生效。

        source ~/.bashrc

    • “Environment Variables”中添加环境变量。

      可以在“Environment Variables”中直接输入ASCEND_OPP_PATH=Ascend-cann-toolkit安装目录/ascend-toolkit/latest/opp。

      Ascend-cann-toolkit安装目录/ascend-toolkit/latest为OPP组件(算子库)的安装路径,请根据实际情况配置。

      也可以单击文本框后的图标,在弹出的对话框中填写。

      • 在Name中输入环境变量名称:ASCEND_OPP_PATH。
      • 在Value中输入环境变量值:Ascend-cann-toolkit安装目录/ascend-toolkit/latest/opp

  4. 选择指定的算子库OPP包。

    “Operator Package”中选择指定的算子库OPP包目录。

  5. 选择算子部署的目标服务器,单击“Operator deploy”
  6. 算子部署过程即算子工程编译生成的自定义算子安装包的安装过程,部署完成后,算子被部署在Host侧算子库OPP对应文件夹中,若不选择指定的算子库OPP包则默认路径为/usr/local/Ascend/opp/。

    图1 算子部署日志打印

    Host侧自定义算子部署完成后目录结构示例如下所示:

    ├── opp      //算子库目录
    │   ├── vendors    //自定义算子所在目录
    │       ├── config.ini     // 自定义算子优先级配置文件
    │       ├── vendor_name1   // 存储对应厂商部署的自定义算子,此名字为编译自定义算子安装包时配置的vendor_name,若未配置,默认值为customize
    │           ├── op_impl
    │               ├── ai_core
    │                   ├── tbe
    │                       ├── config
    │                           ├── aic_ops_info.json      //自定义算子信息库文件
    │                       ├── vendor_name1_impl          //自定义算子实现代码文件
    │                           ├── add.py
    │               ├── vector_core     //此目录预留,无需关注
    │           ├── framework
    │               ├── caffe        //存放Caffe框架的自定义算子插件库
    │               ├── onnx         //存放ONNX框架的自定义算子插件库
    │               ├── tensorflow          //存放TensorFlow框架的自定义算子插件库
    │                   ├── libcust_tf_parsers.so
    │           ├── op_proto
    │               ├── libcust_op_proto.so    //自定义算子原型库文件