news 2026/5/9 11:19:45

CANN/asc-tools快速入门指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/asc-tools快速入门指南

快速入门

【免费下载链接】asc-toolsAscend C Tools仓是CANN基于Ascend C编程语言推出的配套调试工具仓。项目地址: https://gitcode.com/cann/asc-tools

🛠️ 环境准备

根据本地是否有NPU设备使用目标选择对应的环境准备方式:

环境情况用于社区体验 / 算子开发(CANN商用/社区版)用于生态开发(CANN master)
无NPU设备云开发环境云开发环境 + 手动下载安装CANN master
有NPU设备基于CANN镜像的DockerDev Container + 手动下载安装CANN master

[!TIP] 选择建议

  • 为了保障开发体验环境的质量,推荐用户基于容器化技术完成环境准备
  • 如不希望使用容器,也可在带NPU设备的主机上完成环境准备,请参考CANN软件安装指南 - 在物理机上安装。
  • 针对仅体验"编译安装本开源仓 + 仿真环境运行算子"的用户,不要求主机带NPU设备,可跳过安装NPU驱动和固件,直接安装CANN包,请参考下载安装CANN包。

1️⃣ 云开发环境

对于无NPU设备的用户,可使用云开发环境提供的NPU计算资源进行开发体验,云开发环境提供了在线直接运行的昇腾ARM架构环境。目前仅适用于Atlas A2系列产品,提供两种接入方式:

  • WebIDE开发平台,即"一站式开发平台",提供网页版的便携开发体验。
  • VSCode IDE,支持远程连接云开发环境,提供VSCode强大插件市场的支持。
  1. 进入开源仓Gitcode页面,单击"云开发"按钮,使用已认证过的华为云账号登录。若未注册或认证,请根据页面提示进行注册和认证。

  2. 根据页面提示创建并启动云开发环境,单击"连接 > WebIDE 或 Visual Studio Code"进入云开发环境,开源项目的资源默认在/mnt/workspace目录下。

[!NOTE] 使用说明

  • 环境默认安装了最新的商用版NPU驱动和固件、CANN包,源码下载时注意与软件配套。
  • 如需下载特定版本的CANN包,请参考下载安装CANN包。
  • 更多关于WebIDE开发平台的介绍,请参考云开发平台介绍。
  • Huawei Developer Space插件为VSCode IDE接入云开发环境提供技术支持。

2️⃣ 基于CANN镜像的Docker

对于有NPU设备的用户,可使用此环境进行开发体验。

  1. 确认主机环境

    • 是否已安装NPU驱动和固件,使用npu-smi info能够输出NPU相关信息,如没有安装,请参考CANN软件安装指南 - 在物理机上安装。
    • 是否已安装Docker,使用docker --version能够输出Docker版本信息,如没有安装,请参考Docker官方安装指南。
  2. 下载CANN镜像

    通过以下命令从昇腾镜像仓库拉取已预集成CANN镜像:

    # 命令格式为docker pull <ascend/cann:tag> # 示例:拉取ascend/cann:tag为9.0.0-beta.2的CANN社区包 docker pull swr.cn-south-1.myhuaweicloud.com/ascendhub/cann:9.0.0-beta.2-910b-ubuntu22.04-py3.11

    [!NOTE] 使用说明

    • 镜像默认安装了对应版本的CANN包,源码下载时注意与软件配套。
    • 镜像文件比较大,正常网速下,下载时间约为5~10分钟,请您耐心等待。
  3. 运行Docker

    拉取镜像后,需要以特定参数启动,以便容器内能访问宿主机的NPU设备。

    docker run --name <cann_container> \ --ipc=host --net=host --privileged \ --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 \ -v </home/your_host_dir>:</home/your_container_dir> \ -it <ascend/cann:tag> bash
    参数说明注意事项
    --name <cann_container>为容器指定名称,便于管理自定义
    --ipc=host与宿主机共享IPC命名空间,NPU进程间通信(共享内存、信号量)所需-
    --net=host使用宿主机网络栈,避免容器网络转发带来的通信延迟-
    --privileged赋予容器完整设备访问权限,NPU驱动正常工作所需-
    --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软件安装信息文件-
    -v </home/your_host_dir>:</home/your_container_dir>挂载宿主机的一个路径到容器中自定义
    -it-i(交互式)和-t(分配伪终端)的组合参数-
    <ascend/cann:tag>指定要运行的Docker镜像请确保此镜像名和标签(tag)与您通过docker pull拉取的镜像完全一致
    bash容器启动后立即执行的命令-

3️⃣ DevContainer

对于有NPU设备的用户,推荐使用此环境进行生态开发者贡献。

DevContainer基于VS Code Dev Containers,通过仓库内.devcontainer配置自动构建一致的容器化开发环境,内置condaPython等开发工具链。与宿主机的NPU驱动共享设备访问,适合需要编译源码、运行UT、向本仓贡献代码的场景。详细说明请参考.devcontainer/README.md

[!NOTE] 使用说明 DevContainer仅挂载宿主机的NPU驱动(只读),CANN toolkit和ops包需在容器启动后手动安装,请参考下载安装CANN包。

📥 下载安装CANN包

CANN包分为CANN toolkit包和CANN ops包。

下载CANN包
  1. 下载CANN商用/社区版

    如果您想体验官网正式发布的CANN包,请访问CANN安装部署-昇腾社区获取对应版本CANN包。

  2. 下载CANN master

    如果您想体验CANN master,请访问CANN master obs镜像网站,下载日期最新的CANN包。

安装CANN包
  1. 安装CANN toolkit包 (必选)

    chmod +x Ascend-cann-toolkit_${cann_version}_linux-$(uname -m).run ./Ascend-cann-toolkit_${cann_version}_linux-$(uname -m).run --install --install-path=${install_path}
  2. 安装CANN ops包 (可选)

    chmod +x Ascend-cann-${soc_name}-ops_${cann_version}_linux-$(uname -m).run ./Ascend-cann-${soc_name}-ops_${cann_version}_linux-$(uname -m).run --install --install-path=${install_path}

    [!IMPORTANT] 安装说明 examples中部分算子样例的编译运行依赖本包,若想完整体验样例编译运行流程,建议安装此包。

参数说明
${cann_version}CANN包版本号
${soc_name}NPU型号,如910b
${install_path}安装路径,toolkit包和ops包需相同。默认:root用户/usr/local/Ascend,非root用户$HOME/Ascend

✅ 环境验证

[!NOTE] 使用前须知 云开发环境和基于CANN镜像的Docker已预装CANN包,可直接执行以下命令验证;DevContainer和手动安装用户请在安装CANN包后执行。

验证环境和驱动是否正常:

⚙️ 环境变量配置

[!NOTE] 使用前须知 云开发环境和基于CANN镜像的Docker已自动配置环境变量,可跳过此步骤。

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

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

🔨 源码编译步骤

📥 下载源码

可以使用以下两种方式下载,请选择其中一种进行源码准备。

安装依赖

[!NOTE] 使用前须知 如果您使用容器化技术,容器中已为您安装好依赖,可跳过此步骤。

以下所列仅为本开源仓源码编译用到的依赖,其中python、gcc、cmake的安装方法请参见配套版本的用户手册,选择安装场景后,参见“安装CANN > 安装依赖”章节进行相关依赖的安装。

编译安装

  1. 编译

本开源仓提供一键式编译安装能力,进入本开源仓代码根目录,执行如下命令:

cd asc-tools bash build.sh --pkg

若您的编译环境无法访问网络,您需要在联网环境中下载上述依赖代码仓的压缩包、闭源压缩包及开源软件压缩包,并手动上传至您的编译环境中。

您需要在编译环境中新建一个{your_3rd_party_path}目录来存放依赖代码仓、闭源及第三方开源软件的压缩包。

mkdir -p {your_3rd_party_path}

创建好目录后,将下载好的所依赖的压缩包上传至目录{your_3rd_party_path}后,可以使用如下命令进行编译:

bash build.sh --pkg --cann_3rd_lib_path={your_3rd_party_path}

编译完成后会在build_out目录下生成cann-asc-tools_<cann_version>_linux-.run软件包。

[!CAUTION] 编译报错可能 本仓依赖其他CANN开源仓,暂不支持独立升级,须搭配对应版本的CANN包进行编译:

  1. 安装

在开源仓根目录下执行下列命令,根据设置的环境变量路径,将编译生成的run包安装到CANN包的装包路径,同时会覆盖原CANN包中的Ascend C内容。

# 切换到run包生成路径下 cd build_out # 默认路径安装run包 ./cann-asc-tools_<cann_version>_linux-<arch>.run --full # 指定路径安装run包 ./cann-asc-tools_<cann_version>_linux-<arch>.run --full --install-path=${install_path}

UT测试(可选)

在开源仓根目录执行下列命令之一,将依次批跑tests目录下的用例,得到结果日志,用于看护编译是否正常。

bash build.sh -t

bash build.sh --test

若您的编译环境无法访问网络,您需要在联网环境中下载上述依赖代码仓的压缩包及开源软件压缩包,并手动上传至您的环境中。 同时,相比于编译,UT不下载Release版本的cpudebug包,而是需要根据实际环境,下载对应Debug版本的闭源cpudebug包(cpudebug x86_64包、cpudebug aarch64包),Debug版本相比Release版本,更方便进行调试。

您需要在环境中新建一个{your_3rd_party_path}目录来存放依赖代码仓、闭源及第三方开源软件的压缩包。

mkdir -p {your_3rd_party_path}

创建好目录后,将下载好的所依赖的压缩包上传至目录{your_3rd_party_path}后,可以使用如下命令进行UT测试:

bash build.sh --test --cann_3rd_lib_path={your_3rd_party_path}

UT测试显示覆盖率

bash build.sh --test --cov

【免费下载链接】asc-toolsAscend C Tools仓是CANN基于Ascend C编程语言推出的配套调试工具仓。项目地址: https://gitcode.com/cann/asc-tools

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

CANN具身智能优化样例

CANN Recipes for Embodied Intelligence 【免费下载链接】cann-recipes-embodied-intelligence 本项目针对具身智能业务中的典型模型、加速算法&#xff0c;提供基于CANN平台的优化样例 项目地址: https://gitcode.com/cann/cann-recipes-embodied-intelligence &#…

作者头像 李华
网站建设 2026/5/9 11:15:45

告别周期性全量:KES 块级永久增量备份设计与实现

2TB 数据库增量备份还要 200GB&#xff1f;KES块级永久增量备份&#xff0c;存储省 80%、速度快 60% 引言&#xff1a;增量备份比全量备份还"心虚" 作为 DBA&#xff0c;你一定经历过这样的尴尬时刻&#xff1a;“今天是增量备份日&#xff0c;预计耗时……嗯……大概…

作者头像 李华
网站建设 2026/5/9 11:14:47

cann/pyasc安全声明

安全声明 【免费下载链接】pyasc 本项目为Python用户提供算子编程接口&#xff0c;支持在昇腾AI处理器上加速计算&#xff0c;接口与Ascend C一一对应并遵守Python原生语法。 项目地址: https://gitcode.com/cann/pyasc 运行用户建议 基于安全性角度考虑&#xff0c;不…

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

Taotoken模型广场如何帮助开发者快速对比与选择合适模型

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken模型广场如何帮助开发者快速对比与选择合适模型 当开发者需要为大语言模型应用选择基础模型时&#xff0c;常常面临一个现…

作者头像 李华
网站建设 2026/5/9 11:03:05

3分钟掌握智能水印去除:无需训练的深度学习图像修复技术

3分钟掌握智能水印去除&#xff1a;无需训练的深度学习图像修复技术 【免费下载链接】Watermark-Removal-Pytorch &#x1f525; CNN for Watermark Removal using Deep Image Prior with Pytorch &#x1f525;. 项目地址: https://gitcode.com/gh_mirrors/wa/Watermark-Rem…

作者头像 李华