环境部署

基于本项目进行算子调用算子开发之前,需要参考下述步骤完成基础环境搭建。

前提条件

使用本项目前,请确保如下基础依赖、NPU驱动和固件已安装。

  1. 安装依赖

    本项目源码编译用到的依赖如下,请注意版本要求。

    • python >= 3.7.0, < 3.10
    • gcc >= 7.3.0
    • cmake >= 3.16.0
    • pigz(可选,安装后可提升打包速度,建议版本 >= 2.4)
    • dos2unix
    • gawk
    • make
    • googletest(仅执行UT时依赖,建议版本 release-1.11.0

    上述依赖包可通过项目根目录install_deps.sh安装,命令如下,若遇到不支持系统,请参考该文件自行适配。

    bash install_deps.sh
    
  2. 安装驱动与固件(运行态依赖)

    运行算子时必须安装驱动与固件,若仅编译算子,可跳过本操作。

    单击下载链接,根据实际产品型号和环境架构,获取对应的Ascend-hdk-<chip_type>-npu-driver_<version>_linux-<arch>.runAscend-hdk-<chip_type>-npu-firmware_<version>.run包。

    安装指导详见《CANN 软件安装指南》。

环境准备

  1. 安装社区CANN toolkit包

    根据实际产品型号和环境架构,获取对应的Ascend-cann-toolkit_${cann_version}_linux-${arch}.run包。

    • Atlas A2/A3系列产品:单击下载链接获取软件包。
    • Ascend 950PR/Ascend 950DT产品:单击下载链接获取软件包。
    # 确保安装包具有可执行权限
    chmod +x Ascend-cann-toolkit_${cann_version}_linux-${arch}.run
    # 安装命令
    ./Ascend-cann-toolkit_${cann_version}_linux-${arch}.run --install --force --install-path=${install_path}
    
    • ${cann_version}:表示CANN包版本号。
    • ${arch}:表示CPU架构,如aarch64、x86_64。
    • ${install_path}:表示指定安装路径,默认安装在/usr/local/Ascend目录。
  2. 安装社区版CANN ops包(运行态依赖)

    运行算子时必须安装本包,若仅编译算子,可跳过本操作。

    根据实际产品型号和环境架构,获取对应的Ascend-cann-${soc_name}-ops_${cann_version}_linux-${arch}.run包。

    • Atlas A2/A3系列产品:单击下载链接获取软件包。
    • Ascend 950PR/Ascend 950DT产品:单击下载链接获取软件包。
    # 确保安装包具有可执行权限
    chmod +x Ascend-cann-${soc_name}-ops_${cann_version}_linux-${arch}.run
    # 安装命令
    ./Ascend-cann-${soc_name}-ops_${cann_version}_linux-${arch}.run --install --install-path=${install_path}
    
    • ${soc_name}:表示NPU型号名称,即${soc_version}删除“ascend”后剩余的内容。
    • ${install_path}:表示指定安装路径,需要与toolkit包安装在相同路径,默认安装在/usr/local/Ascend目录。
  3. 配置环境变量

    根据实际场景,选择合适的命令。

    # 默认路径安装,以root用户为例(非root用户,将/usr/local替换为${HOME})
    source /usr/local/Ascend/cann/set_env.sh
    # 指定路径安装
    # source ${install_path}/cann/set_env.sh
    
  4. 下载源码

    # 下载项目源码,以master分支为例
    git clone https://gitcode.com/cann/ops-math.git
    # 安装根目录requirements.txt依赖
    pip3 install -r requirements.txt