算子开发快速入门:基于ops-rand仓

本指南旨在帮助你快速上手基于CANN和ops-rand算子仓的使用,最简化地完成环境安装、编译部署及算子运行。

一、环境安装

1. 有环境场景:Docker安装

Docker安装环境以Atlas A2产品(910B)为例。 前提条件

  • Docker环境:宿主机已安装Docker引擎(版本1.11.2及以上)。
  • 驱动与固件:宿主机已安装昇腾NPU的驱动与固件Ascend HDK 24.1.0版本以上。安装指导详见《CANN 软件安装指南》。

    注意:使用npu-smi info查看对应的驱动与固件版本。

下载镜像

拉取已预集成CANN软件包及ops-rand所需依赖的镜像。

  • 操作步骤
    1. 以root用户登录宿主机。
    2. 执行拉取命令(请根据你的宿主机架构选择):
      • ARM架构:
      docker pull --platform=arm64 swr.cn-south-1.myhuaweicloud.com/ascendhub/cann:8.5.0-910b-ubuntu22.04-py3.10-ops
      
      • X86架构:
      docker pull --platform=amd64 swr.cn-south-1.myhuaweicloud.com/ascendhub/cann:8.5.0-910b-ubuntu22.04-py3.10-ops
      

      注意:正常网速下,镜像下载时间约为5-10分钟。

Docker运行

请根据以下命令运行docker:

docker run --name cann_container --device /dev/davinci0 --device /dev/davinci_manager --device /dev/devmm_svm --device /dev/hisi_hdc -v /usr/local/dcmi:/usr/local/dcmi -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi -v /usr/local/Ascend/driver/lib64/:/usr/local/Ascend/driver/lib64/ -v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info -v /etc/ascend_install.info:/etc/ascend_install.info -it swr.cn-south-1.myhuaweicloud.com/ascendhub/cann:8.5.0-910b-ubuntu22.04-py3.10-ops bash

检查环境

进入容器后,验证环境和驱动是否正常。

  • 检查NPU设备
    npu-smi info
    
  • 检查CANN安装
    cat /usr/local/Ascend/ascend-toolkit/latest/opp/version.info
    

2. 无环境场景:WebIDE开发(建设中)

对于无环境的用户,提供WebIDE开发方式,目前本方式正在建设中。

二、编译部署

1. 拉取ops-rand仓库代码

git clone https://gitcode.com/cann/ops-rand.git
cd ops-rand

2. 编译ops-rand算子包

bash build.sh --pkg --soc=ascend950

若提示如下信息,说明编译成功。

Self-extractable archive "cann-950-ops-rand_9.0.0_linux-x86_64.run" successfully created.
Build package success: build_out/cann-950-ops-rand_9.0.0_linux-x86_64.run

编译成功后,run包存放于项目根目录的build_out目录下。

3. 安装ops-rand算子包

./build_out/cann-${soc_name}-ops-rand_${cann_version}_linux-${arch}.run --full --install-path=${install_path}
  • ${soc_name}:表示NPU型号名称,如950
  • ${cann_version}:表示CANN版本号,如9.0.0
  • ${arch}:表示CPU架构,如aarch64x86_64
  • ${install_path}:表示指定安装路径,需要与toolkit包安装在相同路径,默认安装在/usr/local/Ascend目录。

ops-rand安装在${install_path}/cann路径中。

4. 配置环境变量

source ${ASCEND_HOME_PATH}/cann/set_env.bash

5. 运行测试

bash build.sh --run

三、更多帮助