【昇腾AI开发】零基础搭建AscendCL开发环境(CANN 7.0)
摘要:本文详细介绍了在Ubuntu系统上搭建华为昇腾AI开发环境的完整流程。内容涵盖硬件要求(包括Atlas开发套件和服务器配置)、软件环境准备(推荐Ubuntu 18.04/20.04 LTS)、驱动/固件/CANN工具包的安装步骤,以及开发工具配置和常见问题解决方案。特别提供了VSCode远程开发配置指南和Docker支持等进阶内容,最后推荐了官方学习资源和社区支持渠道。适用于从零开始配置昇腾
摘要: 工欲善其事,必先利其器。本文将手把手教你如何从零开始,在Ubuntu系统上搭建华为昇腾AI的AscendCL开发环境,包括驱动、固件、CANN工具包的安装与配置。
昇腾AI环境安装指南(详细版)
1. 环境准备
硬件要求
本地开发环境
-
Atlas 200I DK A2开发者套件
- 搭载昇腾310B AI处理器
- 提供8GB/16GB LPDDR4X内存选项
- 支持32GB eMMC存储
- 典型功耗15W,适合边缘计算场景
-
Atlas 800-9000服务器
- 搭载昇腾910B AI处理器
- 单机支持8张昇腾910B加速卡
- 每张加速卡提供256TFLOPS FP16算力
- 典型应用场景:大规模模型训练
-
推荐配置
- 内存:至少16GB(32GB以上更佳)
- 存储空间:100GB可用空间(建议SSD)
- 建议配备千兆/万兆网络接口
云端开发环境
-
华为云ModelArts专业版
- 内置完整的昇腾开发环境
- 预装CANN工具包和MindSpore框架
- 支持分布式训练任务管理
-
推荐实例规格
- ecs.ebmhfg7.32xlarge
- 配置:8*昇腾910B加速卡
- 每节点最高2PFLOPS算力
- 适用于大规模分布式训练场景
软件要求
操作系统
-
官方认证版本
- Ubuntu 18.04.6 LTS
- 长期支持版本(LTS)
- 内核版本要求:4.15.0-193或更高
-
推荐版本
- Ubuntu 20.04.3 LTS
- 包含更新的驱动支持
- 更好的昇腾芯片兼容性
-
注意事项
- 不支持Windows/WSL环境
- 不支持CentOS/RHEL等非Debian系发行版
- 虚拟机需开启嵌套虚拟化支持
系统配置
-
权限要求
- 需要root或sudo权限用户
- 用于安装驱动和配置环境
-
基础开发工具
- 必须安装:make (4.1+), gcc (7.3+), git (2.17+)
- 推荐安装:cmake (3.12+), python3-pip
-
安全配置
- 建议关闭Secure Boot
- 某些驱动模块需要加载未签名内核模块
- 可能需要修改/etc/default/grub配置
- 详细安装步骤
步骤一:下载安装包
-
打开浏览器访问华为昇腾社区官网(https://ascend.huawei.com),建议使用Chrome或Firefox浏览器
-
在顶部导航栏找到"软件下载"栏目并点击进入
-
在软件分类中选择"CANN"(Compute Architecture for Neural Networks)选项
-
根据您的操作系统和需求选择对应版本(以CANN 7.0为例进行说明)
-
需要下载的核心组件包括:
- 驱动包:A300-3010-npu-driver_23.0.0_linux-x86_64.run (注意:驱动版本号可能随更新而变化,请选择最新稳定版)
- 固件包:A300-3010-npu-firmware_1.0.0.1.run (用于昇腾AI处理器的底层固件更新)
- CANN工具包:Ascend-cann-toolkit_7.0.0_linux-x86_64.run (包含运行时、算子库、编译器工具链等核心组件)
-
下载注意事项:
- 确保下载的组件版本相互兼容
- 检查文件完整性(可通过MD5校验)
- 建议创建专用目录存放这些安装包,如:/home/username/ascend_packages
- 如果使用代理网络,可能需要配置代理设置才能正常下载
-
针对不同操作系统:
- Linux系统:建议使用CentOS 7.6或Ubuntu 18.04及以上版本
- Windows系统:目前仅支持部分开发工具,主要支持Linux环境
- ARM架构:需选择对应的ARM版本安装包
- 建议使用wget直接下载到服务器:
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/.../A300-3010-npu-driver_23.0.0_linux-x86_64.run
步骤二:安装驱动和固件
# 1. 赋予执行权限
chmod +x A300-3010-npu-driver_23.0.0_linux-x86_64.run
chmod +x A300-3010-npu-firmware_1.0.0.1.run
# 2. 安装驱动(需联网下载依赖)
sudo ./A300-3010-npu-driver_23.0.0_linux-x86_64.run --full
# 3. 安装固件
sudo ./A300-3010-npu-firmware_1.0.0.1.run --full
# 4. 验证安装
np-smi info
预期输出示例:
+------------------------------------------------------------------------------------------------+
| NPU Name Health Power(W) Temp(C) HBM(MB) Memory(MB) |
| Chip Model Status Avg/Max Avg/Max Usage Usage |
+================================================================================================+
| 0 310B OK 15/20 45/60 1200/4096 1800/8192 |
+------------------------------------------------------------------------------------------------+
步骤三:安装CANN工具包
# 1. 准备安装环境
sudo apt update
sudo apt install -y gcc g++ make cmake python3-pip
# 2. 安装CANN工具包(约需要15-30分钟)
sudo ./Ascend-cann-toolkit_7.0.0_linux-x86_64.run --install --install-for-all
# 3. 配置环境变量
cat <<EOF >> ~/.bashrc
export ASCEND_HOME=/usr/local/Ascend
export PATH=\$ASCEND_HOME/ascend-toolkit/latest/bin:\$PATH
export LD_LIBRARY_PATH=\$ASCEND_HOME/ascend-toolkit/latest/lib64:\$LD_LIBRARY_PATH
EOF
# 4. 使配置生效
source ~/.bashrc
步骤四:验证安装
# 检查CANN版本
ascendcli --version
# 预期输出:7.0.0.alpha001
# 运行示例测试
cd $ASCEND_HOME/ascend-toolkit/latest/examples/helloworld
make
./main
# 预期输出:Hello World! (说明AscendCL运行环境正常)
3. 开发工具配置
VSCode远程开发配置指南
安装Remote-SSH插件
- 打开VSCode,点击左侧活动栏的扩展图标(或按
Ctrl+Shift+X) - 在搜索框中输入"Remote - SSH"
- 找到Microsoft官方提供的Remote-SSH插件并点击安装
- 安装完成后,左侧活动栏会出现远程资源管理器图标
连接到昇腾服务器
- 点击远程资源管理器图标
- 选择"SSH Targets"旁边的配置按钮(齿轮图标)
- 选择你的SSH配置文件(通常位于
~/.ssh/config) - 添加服务器配置,示例如下:
Host ascend-server HostName 192.168.1.100 User your_username Port 22 IdentityFile ~/.ssh/id_rsa - 保存后,在SSH Targets列表中找到新添加的服务器
- 右键选择"Connect to Host in New Window"
- 首次连接时会提示输入服务器密码或验证密钥
推荐安装插件
核心开发插件
-
C/C++ (Microsoft)
- 提供C/C++代码智能提示、调试支持
- 需要配置
c_cpp_properties.json文件设置包含路径 - 支持昇腾NPU特有的头文件和库路径
-
CMake Tools
- 提供CMake项目构建支持
- 支持在远程服务器上执行CMake配置和构建
- 与昇腾CANN工具链集成示例:
find_package(ascend) target_link_libraries(your_target PRIVATE ascend::ascend)
-
Python
- 提供Python开发环境支持
- 支持在昇腾服务器上使用Python API开发AI应用
- 建议配合安装Python扩展包如
ais_bench等
其他实用插件
- Remote - Containers: 用于容器化开发环境
- Docker: 管理容器和镜像
- GitLens: 增强的Git功能
- YAML: 用于编写Ascend配置YAML文件
- 配置includePath:
{ "configurations": [ { "includePath": [ "/usr/local/Ascend/ascend-toolkit/latest/include" ] } ] }
编译环境优化
# 安装高性能编译器
sudo apt install -y ninja-build ccache
# 配置CMake预设
cat <<EOF > CMakePresets.json
{
"configurePresets": [
{
"name": "ascend",
"generator": "Ninja",
"binaryDir": "\${sourceDir}/build",
"cacheVariables": {
"CMAKE_PREFIX_PATH": "/usr/local/Ascend/ascend-toolkit/latest",
"ASCEND_CUSTOM_PATH": "/usr/local/Ascend"
}
}
]
}
EOF
4. 常见问题解决方案
驱动安装失败
- 现象:提示"Missing dependencies"
- 解决方案:
sudo apt install -y kmod dkms linux-headers-$(uname -r)
np-smi无输出
- 检查步骤:
- 确认设备连接:
lspci | grep -i ascend - 检查驱动加载:
lsmod | grep npu
- 确认设备连接:
CANN工具包路径问题
- 正确路径结构:
/usr/local/Ascend/ ├── ascend-toolkit/latest # CANN主目录 ├── driver # 驱动目录 └── firmware # 固件目录
5. 进阶配置(可选)
Docker支持
# 安装nvidia-docker2风格的ascend-docker
sudo apt install -y ascend-docker-runtime
# 验证容器内访问NPU
docker run --device=/dev/davinci0 --device=/dev/davinci_manager \
--device=/dev/devmm_svm --device=/dev/hisi_hdc \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
-it ubuntu:20.04 np-smi info
多版本管理
# 查看已安装版本
ascendcli toolkit list
# 切换版本
ascendcli toolkit set-default 6.2.0
6. 后续学习建议
- 运行官方示例:
cd $ASCEND_HOME/ascend-toolkit/latest/examples - 参考文档:
- 《AscendCL API参考》
- 《CANN开发指南》
- 加入昇腾开发者社区获取技术支持
注意:本指南基于CANN 7.0版本编写,不同版本可能略有差异。建议定期检查华为昇腾社区获取最新安装指南。
-
2025年昇腾CANN训练营第二季,基于CANN开源开放全场景,推出0基础入门系列、码力全开特辑、开发者案例等专题课程,助力不同阶段开发者快速提升算子开发技能。获得Ascend C算子中级认证,即可领取精美证书,完成社区任务更有机会赢取华为手机,平板、开发板等大奖。
报名链接:https://www.hiascend.com/developer/activities/cann20252
更多推荐



所有评论(0)