摘要: 工欲善其事,必先利其器。本文将手把手教你如何从零开始,在Ubuntu系统上搭建华为昇腾AI的AscendCL开发环境,包括驱动、固件、CANN工具包的安装与配置。

昇腾AI环境安装指南(详细版)

1. 环境准备

硬件要求

本地开发环境

  1. Atlas 200I DK A2开发者套件

    • 搭载昇腾310B AI处理器
    • 提供8GB/16GB LPDDR4X内存选项
    • 支持32GB eMMC存储
    • 典型功耗15W,适合边缘计算场景
  2. Atlas 800-9000服务器

    • 搭载昇腾910B AI处理器
    • 单机支持8张昇腾910B加速卡
    • 每张加速卡提供256TFLOPS FP16算力
    • 典型应用场景:大规模模型训练
  3. 推荐配置

    • 内存:至少16GB(32GB以上更佳)
    • 存储空间:100GB可用空间(建议SSD)
    • 建议配备千兆/万兆网络接口

云端开发环境

  1. 华为云ModelArts专业版

    • 内置完整的昇腾开发环境
    • 预装CANN工具包和MindSpore框架
    • 支持分布式训练任务管理
  2. 推荐实例规格

    • ecs.ebmhfg7.32xlarge
    • 配置:8*昇腾910B加速卡
    • 每节点最高2PFLOPS算力
    • 适用于大规模分布式训练场景

软件要求

操作系统

  1. 官方认证版本

    • Ubuntu 18.04.6 LTS
    • 长期支持版本(LTS)
    • 内核版本要求:4.15.0-193或更高
  2. 推荐版本

    • Ubuntu 20.04.3 LTS
    • 包含更新的驱动支持
    • 更好的昇腾芯片兼容性
  3. 注意事项

    • 不支持Windows/WSL环境
    • 不支持CentOS/RHEL等非Debian系发行版
    • 虚拟机需开启嵌套虚拟化支持

系统配置

  1. 权限要求

    • 需要root或sudo权限用户
    • 用于安装驱动和配置环境
  2. 基础开发工具

    • 必须安装:make (4.1+), gcc (7.3+), git (2.17+)
    • 推荐安装:cmake (3.12+), python3-pip
  3. 安全配置

    • 建议关闭Secure Boot
    • 某些驱动模块需要加载未签名内核模块
    • 可能需要修改/etc/default/grub配置
  1. 详细安装步骤

步骤一:下载安装包

  1. 打开浏览器访问华为昇腾社区官网(https://ascend.huawei.com),建议使用Chrome或Firefox浏览器

  2. 在顶部导航栏找到"软件下载"栏目并点击进入

  3. 在软件分类中选择"CANN"(Compute Architecture for Neural Networks)选项

  4. 根据您的操作系统和需求选择对应版本(以CANN 7.0为例进行说明)

  5. 需要下载的核心组件包括:

    • 驱动包: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 (包含运行时、算子库、编译器工具链等核心组件)
  6. 下载注意事项:

    • 确保下载的组件版本相互兼容
    • 检查文件完整性(可通过MD5校验)
    • 建议创建专用目录存放这些安装包,如:/home/username/ascend_packages
    • 如果使用代理网络,可能需要配置代理设置才能正常下载
  7. 针对不同操作系统:

    • Linux系统:建议使用CentOS 7.6或Ubuntu 18.04及以上版本
    • Windows系统:目前仅支持部分开发工具,主要支持Linux环境
    • ARM架构:需选择对应的ARM版本安装包
  1. 建议使用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插件

  1. 打开VSCode,点击左侧活动栏的扩展图标(或按Ctrl+Shift+X)
  2. 在搜索框中输入"Remote - SSH"
  3. 找到Microsoft官方提供的Remote-SSH插件并点击安装
  4. 安装完成后,左侧活动栏会出现远程资源管理器图标

连接到昇腾服务器

  1. 点击远程资源管理器图标
  2. 选择"SSH Targets"旁边的配置按钮(齿轮图标)
  3. 选择你的SSH配置文件(通常位于~/.ssh/config)
  4. 添加服务器配置,示例如下:
    Host ascend-server
        HostName 192.168.1.100
        User your_username
        Port 22
        IdentityFile ~/.ssh/id_rsa
    

  5. 保存后,在SSH Targets列表中找到新添加的服务器
  6. 右键选择"Connect to Host in New Window"
  7. 首次连接时会提示输入服务器密码或验证密钥

推荐安装插件

核心开发插件

  1. C/C++ (Microsoft)

    • 提供C/C++代码智能提示、调试支持
    • 需要配置c_cpp_properties.json文件设置包含路径
    • 支持昇腾NPU特有的头文件和库路径
  2. CMake Tools

    • 提供CMake项目构建支持
    • 支持在远程服务器上执行CMake配置和构建
    • 与昇腾CANN工具链集成示例:
      find_package(ascend)
      target_link_libraries(your_target PRIVATE ascend::ascend)
      

  3. Python

    • 提供Python开发环境支持
    • 支持在昇腾服务器上使用Python API开发AI应用
    • 建议配合安装Python扩展包如ais_bench

其他实用插件

  • Remote - Containers: 用于容器化开发环境
  • Docker: 管理容器和镜像
  • GitLens: 增强的Git功能
  • YAML: 用于编写Ascend配置YAML文件
  1. 配置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无输出

  • 检查步骤
    1. 确认设备连接:
      lspci | grep -i ascend
      

    2. 检查驱动加载:
      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. 后续学习建议

  1. 运行官方示例:
    cd $ASCEND_HOME/ascend-toolkit/latest/examples
    

  2. 参考文档:
    • 《AscendCL API参考》
    • 《CANN开发指南》
  3. 加入昇腾开发者社区获取技术支持

注意:本指南基于CANN 7.0版本编写,不同版本可能略有差异。建议定期检查华为昇腾社区获取最新安装指南。


  • 2025年昇腾CANN训练营第二季,基于CANN开源开放全场景,推出0基础入门系列、码力全开特辑、开发者案例等专题课程,助力不同阶段开发者快速提升算子开发技能。获得Ascend C算子中级认证,即可领取精美证书,完成社区任务更有机会赢取华为手机,平板、开发板等大奖。
    报名链接:https://www.hiascend.com/developer/activities/cann20252

Logo

CANN开发者社区旨在汇聚广大开发者,围绕CANN架构重构、算子开发、部署应用优化等核心方向,展开深度交流与思想碰撞,携手共同促进CANN开放生态突破!

更多推荐