Ubuntu 版的 CANN 9.2.0-beta.1 的下载方式 三大云厂商的服务器系统
Ubuntu 版的 CANN 9.2.0-beta.1 的下载方式

截图里看不到 Ubuntu,并不代表 CANN 不支持 Ubuntu——本质原因是你勾选的「950 系列产品 + X86_64 + 离线安装」过滤条件,把选项筛到了只剩 veLinux / Tlinux / AliOS 这三家云厂商的系统。把条件换成「在线安装 或 容器镜像」就会出现 Ubuntu 22.04、openEuler 等选项,官方镜像仓库里也有大量 9.2.0-beta.1-950-ubuntu22.04-py3.x 的 Docker 镜像。另外截图里版本号是 9.2.0-beta.1,beta 系列本身首发时覆盖的 OS 组合会比稳定版少,属于正常现象。
三个操作系统到底是什么
这三家其实都是国内云巨头的自研服务器 Linux,也是目前昇腾算力最大的采购方,所以华为会优先适配它们的运行环境。
| 名称 | 维护方 | 定位 | 底层兼容生态 | 华为优先适配的原因 |
|---|---|---|---|---|
| veLinux | 火山引擎(字节跳动) | 火山引擎官方服务器操作系统,针对高并发、高 I/O、AI 场景深度定制 | 兼容 CentOS 7 / Debian 10 | 字节是国内 AI 算力大买家,火山引擎大量部署昇腾实例 |
| Tlinux(TencentOS Server) | 腾讯云 | 面向云服务器场景的 Linux,内核针对云负载优化 | 兼容 RHEL/CentOS 生态 | 腾讯云是昇腾重要客户,内部业务大量跑在 Tlinux 上 |
| AliOS | 阿里巴巴 | 阿里系的服务器/IoT 操作系统(在 CANN 语境里对应阿里云服务器场景) | 兼容 RHEL/CentOS 生态 | 阿里云同样是昇腾主要落地方,需保证其自研系统可直接装 CANN |
| 它们共同的特点是:都是 RHEL/CentOS 系的服务器发行版,都用 Yum 包管理器,所以 CANN 可以用同一套 RPM 包覆盖三家,适配成本低。 |
为什么没有 Ubuntu(以及怎么解决)
CANN 完整的 OS 支持清单里其实包含 Ubuntu、Debian、openEuler、CentOS、Kylin、UOS、BCLinux、CTyunOS、CULinux、AntOS、MTOS 等。截图里没出现,是因为:
- 950 系列 + X86_64 + 离线安装的组合,首发 beta 阶段优先覆盖了三大云厂商的服务器系统(他们才是昇腾 950 的大客户),Ubuntu 主要面向个人开发者,社区版会放在容器镜像里提供;
- 华为官方的判断逻辑是:数据中心客户不会用 Ubuntu 跑生产训练,个人开发者更习惯用 Docker,所以 Ubuntu 的支持方式被有意引导到了容器方案。
如果你本地就是 Ubuntu 想用 9.2.0-beta,有两条现成路径:
- 拉容器镜像(推荐):
docker pull ascendai/cann:9.2.0-beta.1-950-ubuntu22.04-py3.12,官方 GitHub 仓库Ascend/cann-container-image列了全部 tag; - 用 Conda / Pip 在线安装:这两种方式支持所有 OS,包括 Ubuntu。
一个容易踩的坑
社区里有开发者反馈过,即使系统是 Ubuntu 22.04,ARM64 内核的 CONFIG_ARM64_VA_BITS_39 选项、Python ABI 版本、固件与 CANN 的配套关系都必须严格对齐,否则会出现 failed to map device memory 或 firmware version mismatch 之类的错。所以如果是生产环境,用华为认证过的镜像或容器方案,比自己装通用 Ubuntu 再折腾驱动省事得多。
Ubuntu 版的 CANN 9.2.0-beta.1 有三条官方下载路径,按你的使用场景选一种即可。需要先澄清一点:截图里看不到 Ubuntu,是因为「离线安装」被过滤了;Toolkit 的 .run 包本身是 OS 无关的,真正区分操作系统的是驱动/固件包和 deb/rpm 包,所以 Ubuntu 用户走下面任何一条路径都能拿到对应资源。
一、官网资源下载中心(最全)
| 资源 | 直达链接 | 说明 |
|---|---|---|
| CANN 主下载页 | https://www.hiascend.com/cann/download | 选「9.2.0-beta.1 + 产品系列 + X86_64 + Ubuntu + 离线安装」即可看到 Ubuntu 分支 |
| CANN 资源列表页 | https://www.hiascend.com/developer/download/community/result?module=cann&cann=9.2.0-beta | 列出所有 .run / .deb / .rpm 包,可按架构/格式筛选 |
| 驱动与固件(需登录) | https://www.hiascend.com/hardware/firmware-drivers/community | 下载与 CANN 配套的 Ascend HDK 26.0.RC1 驱动和固件 |
| 下载时会用到的关键包名(X86_64 为例): |
Ascend-cann-toolkit_9.2.0-beta.1_linux-x86_64.run(Toolkit 开发套件)Ascend-cann-910b-ops_9.2.0-beta.1_linux-x86_64.run(A2 系列算子包,其他系列换成对应编号)Ascend-cann-nnal_9.2.0-beta.1_linux-x86_64.run(加速库)Ascend-hdk-<型号>-npu-driver_26.0.rc1_linux-x86_64.run+ 同版本 firmware(驱动+固件)
二、APT 在线源(Ubuntu/Debian 专用,推荐)
适合 x86_64 服务器能联网的场景,命令行三步装完,不必手动挑包:
# 1. 添加昇腾 APT 源
wget https://ascend.devcloud.huaweicloud.com/cann/debian/cann-keyring_1.0.0_all.deb
sudo dpkg -i cann-keyring_1.0.0_all.deb
sudo apt-get update
# 2. 安装驱动 + Toolkit + 算子包(版本严格配套)
sudo apt-get install -y ascend910b-driver=26.0.rc1
sudo apt-get install -y ascend-cann-toolkit=9.2.0-beta.1
sudo apt-get install -y ascend-cann-910b-ops=9.2.0-beta.1
# 3. 验证
source /usr/local/Ascend/cann/set_env.sh
python3 -c "import acl;print(acl.get_soc_name())"
三、Docker 镜像(不想折腾 Ubuntu 依赖时最省事)
官方镜像仓库在华为云 SWR,Tag 命名规则是 9.2.0-beta.x-<硬件>-<OS>-<Python版本>,Ubuntu 的 tag 都带 ubuntu22.04:
export CANN_REPO=swr.cn-south-1.myhuaweicloud.com/ascendhub/cann
# 以 A3 + Ubuntu 22.04 + Py3.12 为例
export CANN_TAG=9.2.0-beta.1-a3-ubuntu22.04-py3.12
docker pull $CANN_REPO:$CANN_TAG
950 系列、910B、310P 等不同硬件对应不同 tag,完整 tag 列表可以在 GitHub 仓库 Ascend/cann-container-image 的 OVERVIEW.md 里查到。
选哪个的建议
- 本机就是 Ubuntu 22.04 / 24.04,且装了昇腾卡 → 走路径一(官网
.run包)或路径二(APT),前者最灵活,后者最不容易装错版本; - 本地是 Ubuntu 但没有昇腾卡,只想做算子/模型开发仿真 → 用路径一的 Toolkit 包单独安装即可,遇到 NPU 检测报错可以加
--install --force跳过检测; - 生产部署、想保持环境一致 → 路径三的容器镜像是首选,把驱动和 CANN 版本绑定在一起,避免兼容性踩坑。
下载.run包时记得同时下载数字签名文件(*.asc)用于校验,镜像源地址是https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%209.2.T1/,如果官网下载慢可以尝试这个备份路径。
有,而且非常全——AscendHub 上有官方 CANN Ubuntu 镜像,9.2.0-beta 系列的 tag 已经发布到 9.2.0-beta.2(目前最新的 beta),且明确提供 -devel 开发态镜像,专门用于无卡环境下的算子编译与仿真调试。 官方文档写得很清楚:如果只是"编译构建、仿真运行",可以不装驱动固件,也不用挂载 NPU 设备。
一、可用镜像与拉取命令
AscendHub 的 CANN 镜像由官方维护,仓库地址 swr.cn-south-1.myhuaweicloud.com/ascendhub/cann(也镜像到 Docker Hub 的 ascendai/cann)。Tag 规则是 <cann版本>-<芯片系列>-<OS>-<py版本>[-devel]。
针对你"本地 Ubuntu 无卡、做算子/模型仿真"的场景,推荐这样拉:
# X86_64 + Ubuntu 22.04 + 910B 配套(最常见的开发/仿真组合)
docker pull swr.cn-south-1.myhuaweicloud.com/ascendhub/cann:9.2.0-beta.2-910b-ubuntu22.04-py3.11-devel
# 如果你要针对 950 系列开发
docker pull swr.cn-south-1.myhuaweicloud.com/ascendhub/cann:9.2.0-beta.2-950-ubuntu22.04-py3.11-devel
# 镜像约 9 GB,建议配置代理或用国内网络
说明几点:
-devel后缀 = 开发态镜像,比基础镜像多装了 vim/tree/zip、wheel/pyyaml/setuptools、googletest(跑算子单元测试必需),做算子开发强烈建议用这个;- 芯片系列按你的目标硬件选:
950/a3/910b/910/310p都有对应 Ubuntu tag; - Python 版本可选
py3.10 / py3.11 / py3.12; - 关于 9.2.0-beta.3:AscendHub 目前公开的最新 beta tag 是
9.2.0-beta.2(2026/09/17 更新),beta.1 也有。如果非要 beta.3,可以用仓库里的 Dockerfile 自行构建:git clone https://github.com/Ascend/cann-container-image后在cann/目录按官方 Dockerfile 改版本号 build。
二、无卡启动容器的关键:去掉 --device 参数
官方 README 里给的 docker run 示例带了一堆 --device /dev/davinci0 参数,那是有卡运行态的写法。你没有 NPU,用下面这个简化命令即可:
mkdir -p ~/ascend_workspace
docker run --name cann_dev \
-it -u root --privileged=true \
-v ~/ascend_workspace:/home/developer \
swr.cn-south-1.myhuaweicloud.com/ascendhub/cann:9.2.0-beta.2-910b-ubuntu22.04-py3.11-devel \
bash
# 进容器后激活环境
source /usr/local/Ascend/ascend-toolkit/set_env.sh
不加 --device 的情况下,容器内可以正常做的事包括:
- ✅ 用
msopgen生成自定义算子工程 - ✅ 用
msopst做算子代码生成与静态检查 - ✅ 编译算子(
bash build.sh),生成.run安装包 - ✅ 用 CANN Simulator 在 x86 CPU 上仿真运行 Ascend C 算子,验证功能正确性,配合 msprof 做初步性能分析
- ✅ 用 ATC 做模型转换(只编译不执行)
不能做的事: - ❌ 真正把算子跑在 NPU 上(自然也不存在 NPU 性能数据)
- ❌ 调用
npu-smi、访问/dev/davinci*(宿主机没这个设备) - ❌ 运行依赖 NPU 的推理/训练样例
三、算子仿真调试的典型流程
以 ops-cv / ops-nn 仓库的算子为例,无卡环境的闭环大致是这样:
# 容器内
cd /home/developer
git clone https://gitee.com/ascend/ops-nn.git # 或 atomgit.com/cann/ops-cv
cd ops-nn && mkdir build && cd build
cmake .. -DCHIP_TYPE=ascend910b -DENABLE_DEBUG=ON
make -j$(nproc)
# 之后通过 CANN Simulator 在 CPU 上跑 kernel 仿真,验证输出
Simulator 会在 x86 CPU 上模拟达芬奇架构的 AI Core 行为(Cube/Vector/Scalar 指令、UB 内存),功能级验证没问题,但性能数据和真机会有差异,最终还是要找一台真机或云上 NPU 实例做性能回归。
四、几个容易踩的坑
libascend_hal.so报错:即便无卡运行,如果启动时挂载了宿主机不完整的/usr/local/Ascend/driver,可能导致 torch_npu 导入失败。无卡场景干脆不要挂载任何 Ascend 目录,让容器用自己内置的库;- 架构匹配:X86 笔记本记得加
--platform=amd64(或者镜像本身就是 x86 版),拉成 ARM 版会直接跑不起来; - 没有 NPU 卡时
npu-smi info会报错,这是正常的,不要按错误提示去装驱动; - 纯编译场景官方明确"可以不安装驱动与固件",但如果容器里要跑 Simulator 之外的 ACL 推理样例,就必须有 NPU 了。
五、无卡的替代/补充方案
如果只是想跑通算子逻辑而不想折腾 Docker,还有两条官方路径:
- CANNLab / WebIDE 云开发环境:浏览器打开一站式开发平台,云端已经预装好 CANN 和 NPU,可直接写代码、编译、在云上 NPU 运行,完全免本地环境,适合体验和入门;
- 手动安装 Toolkit 包:在本地 Ubuntu 上直接
./Ascend-cann-toolkit_*.run --install,无卡时只装 Toolkit(跳过 ops/nnal 和驱动),配合 Simulator 使用——这就是你上一轮提到的方案,Docker 镜像本质上是把这套环境打包好了。
结论:优先用9.2.0-beta.2-*-ubuntu22.04-py3.11-devel镜像 + 无--device启动 + Simulator 仿真,这是华为官方明确支持的无卡开发路径;如果只是学习不想装任何东西,直接上 CANNLab 云端环境更快。
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐

所有评论(0)