news 2026/5/9 12:46:07

CANN/ops-solver环境部署指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/ops-solver环境部署指南

环境部署

【免费下载链接】ops-solver本项目是CANN提供的高级数值求解算子库,实现矩阵分解、求逆、特征值求解等功能在NPU上的加速计算。项目地址: https://gitcode.com/cann/ops-solver

您在学习QuickStart或各类教程操作之前,请先参考下面步骤完成基础环境搭建,确保已安装NPU驱动、固件和CANN软件(Ascend-cann-toolkitAscend-cann-ops)等。

环境安装

本项目提供多种搭建昇腾环境的方式,请按需选择。

说明:本文提到的编译态和运行态含义如下,请根据实际情况选择。

  • 编译态:针对仅编译本项目不运行的场景,只需安装CANN toolkit包。
  • 运行态:针对运行本项目的场景(编译运行或纯运行),需安装驱动与固件、CANN toolkit包、CANN ops包。
安装方式使用说明使用场景
WebIDE一站式开发平台,提供在线直接运行的昇腾环境,无需手动安装。
当前可提供单机算力,默认安装最新商发版CANN包
适用于没有昇腾设备的开发者。
DockerDocker镜像是一种高效部署方式,已预集成CANN包和必备依赖。
当前仅适用于Atlas A2系列产品,OS仅支持Ubuntu操作系统。默认安装最新商发版CANN包
适用有昇腾设备,需要快速搭建环境的开发者。
手动安装-适用有昇腾设备,想体验手动安装CANN包或体验最新master分支能力的开发者。

方式1:WebIDE环境

对于无昇腾设备的开发者,可直接使用WebIDE开发平台,即“一站式开发平台”,该平台为您提供在线可直接运行的昇腾环境,环境中已安装必备的驱动固件、软件包和依赖,无需手动安装。

说明:环境默认安装最新商发版CANN包,源码下载时注意与软件配套。更多关于开发平台的介绍请参考WebIDE指导。

  1. 进入开源项目,单击“云开发”按钮,使用已认证过的华为云账号登录。若未注册或认证,请根据页面提示进行注册和认证。

  2. 根据页面提示创建NPU环境并配置规格,启动云开发环境后,单击“连接 > WebIDE”进入一站式开发平台。

    当前开源项目资源默认在/mnt/workspace/gitCode/${gitCode_id}目录下,${gitCode_id}表示开发者个人gitCode账号。

方式2:Docker部署

对于有昇腾设备的开发者,若您想快速搭建昇腾环境,可使用Docker镜像部署。

说明

  • 镜像文件比较大,下载需要一定时间,请您耐心等待。关于docker命令的选项介绍可通过docker --help查询。
  • 环境默认安装最新商发版CANN包,源码下载时注意与软件配套。

1.安装驱动与固件(运行态依赖)

宿主机上昇腾驱动与固件的下载和安装操作请参考《CANN软件安装指南》中“准备软件包”和“安装NPU驱动和固件”章节。驱动与固件是运行态依赖,若仅编译算子,可以不安装。

2.下载镜像

  • 步骤1:以root用户登录宿主机。确保宿主机已安装Docker引擎(版本1.11.2及以上)。

  • 步骤2:从昇腾镜像仓库拉取已预集成CANN软件包及ops-solver所需依赖的镜像。命令如下,根据实际架构选择:

    # 示例:拉取ARM架构的CANN开发镜像 docker pull --platform=arm64 swr.cn-south-1.myhuaweicloud.com/ascendhub/cann:8.5.0-910b-ubuntu22.04-py3.10-ops # 示例:拉取X86架构的CANN开发镜像 docker pull --platform=amd64 swr.cn-south-1.myhuaweicloud.com/ascendhub/cann:8.5.0-910b-ubuntu22.04-py3.10-ops

3.运行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
参数说明注意事项
--name cann_container为容器指定名称,便于管理。可自定义。
--device /dev/davinci0核心:将宿主机的NPU设备卡映射到容器内,可指定映射多张NPU设备卡。必须根据实际情况调整:davinci0对应系统中的第0张NPU卡。请先在宿主机执行npu-smi info命令,根据输出显示的设备号(如NPU 0,NPU 1)来修改此编号。
--device /dev/davinci_manager映射NPU设备管理接口。-
--device /dev/devmm_svm映射设备内存管理接口。-
--device /dev/hisi_hdc映射主机与设备间的通信接口。-
-v /usr/local/dcmi:/usr/local/dcmi挂载设备容器管理接口(DCMI)相关工具和库。-
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi挂载npu-smi工具。使容器内可以直接运行此命令来查询NPU状态和性能信息。
-v /usr/local/Ascend/driver/lib64/:/usr/local/Ascend/driver/lib64/关键挂载:将宿主机的NPU驱动库映射到容器内。-
-v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info挂载驱动版本信息文件。-
-v /etc/ascend_install.info:/etc/ascend_install.info挂载CANN软件安装信息文件。-
-it-i(交互式)和-t(分配伪终端)的组合参数。-
swr.cn-south-1.myhuaweicloud.com/ascendhub/cann:8.5.0-910b-ubuntu22.04-py3.10-ops指定要运行的Docker镜像。请确保此镜像名和标签(tag)与你通过docker pull拉取的镜像完全一致。
bash容器启动后立即执行的命令。-

方式3:手动安装

对于有昇腾设备的开发者,若您想手动搭建昇腾环境,请参考下述步骤。

前置依赖

请先确保编译环境的基础库依赖已安装,注意满足版本号要求。

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

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

bash install_deps.sh

安装完上述依赖后,可通过项目根目录requirements.txt继续安装python三方库依赖,命令如下。

pip3 install -r requirements.txt
软件安装
  • 场景1:体验master版本能力或基于master版本进行开发

    1. 安装驱动与固件(运行态依赖)

      下载和安装操作请参考《CANN软件安装指南》中“准备软件包”和“安装NPU驱动和固件”章节。驱动与固件是运行态依赖,若仅编译算子,可以不安装。

    2. 安装CANN包

      请单击下载链接,选择最新时间版本,并根据产品型号和环境架构下载对应包。安装命令如下,更多指导参考《CANN软件安装指南》。

      • 安装CANN toolkit包

        # 确保安装包具有可执行权限 chmod +x Ascend-cann-toolkit_${cann_version}_linux-${arch}.run # 安装命令 ./Ascend-cann-toolkit_${cann_version}_linux-${arch}.run --install --install-path=${install_path}
      • 安装CANN ops包(运行态依赖)

        ops包是运行态依赖,若仅编译算子,可不安装此包。

        # 确保安装包具有可执行权限 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}
        • ${cann_version}:表示CANN包版本号。
        • ${arch}:表示CPU架构,如aarch64、x86_64。
        • ${soc_name}:表示NPU型号名称。
        • ${install_path}:表示指定安装路径,ops包需与toolkit包安装在相同路径,root用户默认安装在/usr/local/Ascend目录。
  • 场景2:体验已发布版本能力或基于已发布版本进行开发

    请访问CANN官网下载中心,选择发布版本(仅支持CANN 8.5.0及后续版本),并根据产品型号和环境架构下载对应包,最后参考网页提供的命令完成安装。

环境验证

安装完CANN包后,需验证环境和驱动是否正常。

  • 检查NPU设备

    # 运行npu-smi,若能正常显示设备信息,则驱动正常 npu-smi info
  • 检查CANN版本

    # 查看CANN toolkit包版本信息(默认路径安装),WebIDE场景下将/usr/local替换为/home/developer cat /usr/local/Ascend/cann/${arch}-linux/ascend_toolkit_install.info # 查看CANN ops包版本信息(默认路径安装),WebIDE场景下将/usr/local替换为/home/developer cat /usr/local/Ascend/cann/${arch}-linux/ascend_ops_install.info

环境变量配置

按需选择合适的命令使环境变量生效。

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

源码下载

通过如下命令下载项目源码,${tag_version}请替换为版本分支标签名,源码版本与CANN版本配套关系参见release仓库。

# 下载项目对应分支源码 git clone -b ${tag_version} https://gitcode.com/cann/ops-solver.git

对于WebIDE或Docker环境,已默认提供最新商发版本的项目源码,如需获取其他版本的源码,也需通过上述命令下载源码。

[!NOTE] 注意

  • gitcode平台在使用HTTPS协议的时候要配置并使用个人访问令牌代替登录密码进行克隆,推送等操作。
  • 若您的编译环境无法访问网络,无法通过git指令下载代码,请先在联网环境中下载源码,再手动上传至目标环境。

【免费下载链接】ops-solver本项目是CANN提供的高级数值求解算子库,实现矩阵分解、求逆、特征值求解等功能在NPU上的加速计算。项目地址: https://gitcode.com/cann/ops-solver

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 12:40:54

CANN/ops-cv双三次上采样梯度算子

UpsampleBicubic2dGrad 【免费下载链接】ops-cv 本项目是CANN提供的图像处理、目标检测相关的算子库&#xff0c;实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-cv 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DTAtlas A3 训练系列产品/Atl…

作者头像 李华
网站建设 2026/5/9 12:40:29

CANN TensorFlow DynamicGRUV2构造函数

DynamicGRUV2构造函数 【免费下载链接】tensorflow Ascend TensorFlow Adapter 项目地址: https://gitcode.com/cann/tensorflow 功能说明 TensorFlow侧使用该接口&#xff0c;支持RNN类网络训练、推理。 函数原型 class DynamicGRUV2(_DynamicBasic):def __init__(s…

作者头像 李华
网站建设 2026/5/9 12:40:21

CANN/sip HcgemvBatched算子

信号处理加速库HcgemvBatchedOperation C Demo 【免费下载链接】sip 本项目是CANN提供的一款高效、可靠的高性能信号处理算子加速库&#xff0c;基于华为Ascend AI处理器&#xff0c;专门为信号处理领域而设计。 项目地址: https://gitcode.com/cann/sip 介绍 该目录下…

作者头像 李华
网站建设 2026/5/9 12:39:07

模型诊断:从冲突集到命中集,构建高效故障定位系统

1. 模型诊断&#xff1a;从原理到实践&#xff0c;优化系统故障定位与修复我们每天开车、网购、上网、用手机&#xff0c;背后都依赖着一个个复杂系统在默默运转。从汽车的发动机控制单元&#xff0c;到电商平台的推荐算法&#xff0c;再到电网的调度系统&#xff0c;这些系统的…

作者头像 李华
网站建设 2026/5/9 12:38:48

网络交换芯片:从25.6T到51.2T的技术演进与挑战

1. 网络交换芯片&#xff1a;超大规模数据中心的无名英雄当我们谈论超大规模数据中心时&#xff0c;闪亮的服务器CPU、强大的GPU或是神秘的AI加速芯片总是占据着舞台中央。然而&#xff0c;真正支撑起这个数字世界庞大体量的“幕后功臣”&#xff0c;却常常被忽视——它就是网络…

作者头像 李华
网站建设 2026/5/9 12:38:43

HoRain云--汇编子程序:高效编程的底层奥秘

&#x1f3ac; HoRain云小助手&#xff1a;个人主页 &#x1f525; 个人专栏: 《Linux 系列教程》《c语言教程》 ⛺️生活的理想&#xff0c;就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站&#xff0c;性价比超高&#xff0c;大内存超划算&#xff01;…

作者头像 李华