Ascend950PR版本速配表
一句话让Agent变成昇腾专家,不必再找人问了。评测入口:
(To Agent)请按这个开源仓接入昇腾图谱 https://gitcode.com/agent0/kg-tools
950PR 是新平台,生态每周都在补齐。装环境阶段九成的兼容性问题不是 bug,是版本配套没对齐。这份手册把 950PR 的软硬件配套压成一张总表,先对表再动手;各层细节、三套可抄组合、典型报错对照排在后面几节。版本信息截至 2026-09,出处逐节标注,查不到的写明 [未核实]。
一页总表:从驱动到框架
| 层 | 组件 | 版本要求 | 出处 |
|---|---|---|---|
| 驱动 | Ascend HDK | Atlas 350 配 CANN 9.1.0 需 ≥ 25.7.0;社区测试面 26.0.RC1 / 25.5.2 / 25.5.1 | vCANN-RT 版本表、QA 报告 |
| 操作系统 | EulerOS 2.0 SP12 / Ubuntu 24.04 LTS / openEuler 22.03 LTS SP4 | x86_64 与 aarch64 双架构包;A5 整机实跑以 aarch64 为主 | QA 测试报告 |
| 异构计算架构 | CANN | 9.0.0 正式在列;9.0.1 全量用例通过;9.1.0 推荐;9.2.0 仅 SIMD C API 样例门槛 [未核实] | release notes、QA 报告 |
| 芯片算子包 | Ascend-cann-950-ops | 950PR 与 950DT 共用(soc 统一写 950);与 toolkit 同 install-path | 安装指南 |
| 框架适配 | TorchNPU(torch_npu) | 2.7.1.post8 / 2.9.0.post6 / 2.10.0.post4 / 2.11.0 / 2.12.0,均配 CANN 9.1.0;裸 2.7.1 不支持 950;无 2.8 线 | TorchNPU 26.1.0 配套表 |
| 算子语言 | triton-ascend | 3.2.1 对 CANN 9.0.0,3.2.2 对 CANN 9.1.0,强绑定一一对应;pypi 主站止于 3.2.0 且与 9.1 不兼容 | MindSpeed-LLM release notes |
| Python | 版本面 | TorchNPU 3.9-3.13;triton-ascend 3.9-3.11;同装取交集 3.9-3.11 | 同上 |
| 推理框架 | vllm-ascend | CANN 9.1.0 + torch 2.10.0 + TorchNPU 2.10.0.post4 + NNAL 9.1.0(矩阵含 950DT) | vllm-ascend 安装文档 |
| 训练框架 | MindSpeed LLM 26.1.0 | CANN 9.1.0 + TorchNPU 26.1.0 + triton-ascend 3.2.2 + Megatron core v0.12.1 + Python 3.10 | release notes |
| 推理服务 | MindIE LLM 3.1.0 | 基线 CANN 9.0.1,兼容 9.1.0;950PR/DT 部署见于官方配方 | release notes、cann-recipes |
表的用法一句话:从上往下是依赖方向,驱动最底层。任何一层不满足,上层全部白装。装环境前把每一行的版本抄下来,对着本机逐项核对,比出错后再翻文档快得多。
硬件身份:SoC 命名与代际
对表之前先认卡。npu-smi 打出来的字符串要分三层读:
| 层 | 值 | 含义 |
|---|---|---|
| SocVersion | ASCEND950 | 芯片代际枚举值,编译期常量 |
| 款型 | 950PR / 950DT | 同一颗芯片的两个款型:PR 走 prefill(128GB、1.6TB/s),DT 走 decode(144GB、4TB/s) |
| 后缀 _NNNN | silicon bin(晶圆分 bin) | 与服务器相关,每台机器可能不同,如 _9579、_9589 |
bin 后缀由 GetSocName() 或 npu-smi 在运行时解析,官方文档明确禁止硬编码。代码里应该判断的是 SocVersion 或 NpuArch,不是完整运行时字符串。
架构侧还有一组别名。A5 是产品代际名,NpuArch 写作 DAV_3510,算子仓目录简写 arch35,三者指向同一代硬件。文档里偶尔出现的 V351 是截断的弃用别名,David V100 是营销名,看到时先换算成 DAV_3510 再查资料。
整机形态有三种:Atlas 350 A5 标卡、Atlas 900 A5 Pod(集群形态)、Atlas 800I A5 Server。社区文档里「Atlas 350」与「Ascend 950PR」经常混用,前者是产品名,后者是芯片名,指的是同一个东西。
系统栈:CANN、HDK、OS、容器
CANN 版本时间线
CANN(昇腾异构计算架构)对 950PR 的支持是逐版本补齐的:
| CANN | 950PR 支持度 | 备注 |
|---|---|---|
| 8.5.0 | 预览级 | 个别样例 README 声明 soc 950 可用,正式时间线不以此为据 |
| 9.0.0 | 正式在列 | cann-runtime 2026/4 宣布支持 950PR/950DT;首次引入 SIMD C API |
| 9.0.1 | 9w+ 用例全 Pass | 社区 QA 测试报告,31 个子包 |
| 9.1.0 | 推荐版本 | 大量 C API 修复与新增,主流框架配套基线 |
| 9.2.0 | SIMD C API 样例门槛 | 发布状态未公开 [未核实] |
9.1.0 的 release notes 写得很直白:修复 9.0.0 中的函数命名、类型声明、地址自更新签名问题。写 950 算子遇到编译期签名不匹配,先查 CANN 版本再查代码。
包形态在 9.x 有一个目录变化,老脚本会踩:
# 9.x:两包制,install-path 必须一致
./Ascend-cann-toolkit_9.1.0_linux-x86_64.run --full
./Ascend-cann-950-ops_9.1.0_linux-x86_64.run --install
source ${PATH-TO-CANN}/cann/set_env.sh
# 8.5.0 及更早是 ${PATH-TO-CANN}/ascend-toolkit/set_env.sh
推理场景在两包之外再加 nnal 包(提供 libatb.so)。
HDK 与 OS
社区测试面(CANN 9.0.1 与 9.1.0-beta.1 报告):驱动 Ascend HDK 26.0.RC1、25.5.2、25.5.1。分产品门槛参考 vCANN-RT 版本表:Atlas 350 配 CANN 9.1.0 需要 HDK 不低于 25.7.0。驱动过老,上层全白装。
安装包双架构交付,x86_64 与 aarch64 都有。A5 整机实跑环境目前以 aarch64 为主,MindSpeed-LLM 配套镜像只提供 aarch64 一种。
容器
官方镜像仓库在 quay.io/ascend/cann,tag 规则为「CANN 版本-芯片-OS-Python」。选 950 对应的 tag。设备挂载与 910B 同一套:/dev/davinciN、davinci_manager、devmm_svm、hisi_hdc,外加驱动目录。A5 代际有两个差异:不支持 NNAE、NNRT、MCU、Docker 镜像组件;新增 UBEngine 组件。
应用栈:TorchNPU、triton-ascend、框架
TorchNPU 配套表
torch_npu 的 950 支持是版本硬门槛。TorchNPU 26.1.0(2026-07 正式版)官方配套表:
| TorchNPU 分支 | 安装包版本 | torch | CANN | Python |
|---|---|---|---|---|
| v2.7.1 | 2.7.1.post8 | 2.7.1 | 9.1.0 | 3.9-3.13 |
| v2.9.0 | 2.9.0.post6 | 2.9.0 | 9.1.0 | 3.10-3.13 |
| v2.10.0 | 2.10.0.post4 | 2.10.0 | 9.1.0 | 3.10-3.13 |
| v2.11.0 | 2.11.0 | 2.11.0 | 9.1.0 | 3.10-3.13 |
| v2.12.0 | 2.12.0 | 2.12.0 | 9.1.0 | 3.10-3.13 |
关键点:2.7.1 和 2.7.1.post8 是两个世界。950 系的适配进的是 post8 这一代包,不带后缀的 2.7.1 早于这个时间点,_npu_init() 里的 SoC 版本表查不到 950PR,直接抛 Unsupported soc version。另外 2.8 线不存在,2.7.1 与 2.9.0 之间是断档的。认准 post 后缀。
实测数据(社区 compile-triton 文档,950PR + CANN 9.1 环境):2.6.0.post5 报同样的 Unsupported soc version;2.11.0 与 2.12.0 可用;torch 2.10 + torch_npu 2.10.0.post4 + triton-ascend 3.2.1 组合已在公开 issue 验证。torch 要用 +cpu wheel,满足 torch-npu 对 torch==X+cpu 的依赖钉。
官方 CANN 兼容矩阵给出更宽的对应关系:TorchNPU 7.3.X、26.0.X、26.1.X 对 CANN 8.5.X、9.0.X、9.1.X 全部标兼容。宽矩阵是下限,具体框架配套仍以上表为准。
triton-ascend 与 CANN 强绑定
MindSpeed-LLM 的 release notes 给出明确对应:triton-ascend 3.2.1 配 CANN 9.0.0,3.2.2 配 CANN 9.1.0。原文强调两个版本强绑定,应与 CANN 一一对应。版本必须一一对应。
pypi 主站只发布到 3.2.0,且 3.2.0 的 npu_utils.cpp 与 CANN 9.1 存在枚举改名不兼容(RT_LIMIT_TYPE_SIMT_WARP_STACK_SIZE 改名 RT_LIMIT_TYPE_SIMT_STACK_SIZE)。用 3.2.1 及以上要加华为云源:
pip install triton-ascend --extra-index-url=https://mirrors.huaweicloud.com/ascend/repos/pypi
triton-ascend 的 Python 支持面比 TorchNPU 窄:3.9 到 3.11 含边界。
仓库地址也在换。GitCode 上的 Ascend/triton-ascend README 已声明迁移到 github.com/triton-lang/triton-ascend,旧仓将归档。装包走 pip 源不受影响,提 issue 要去新仓。
框架层
| 框架 | 950 支持事实 | 配套 |
|---|---|---|
| vllm-ascend | 安装矩阵含 950DT | CANN 9.1.0 + torch 2.10.0 + TorchNPU 2.10.0.post4 + NNAL |
| MindSpeed LLM 26.1.0 | 明示支持 Ascend 950 系列,GA | CANN 9.1.0 + TorchNPU 26.1.0 + triton-ascend 3.2.2 |
| MindIE LLM 3.1.0 | 基线 CANN 9.0.1,兼容 9.1.0;950PR/DT 部署见于官方配方(DeepSeek-V4 等) | HDK 25.5.1(配方实测) |
| DeepSpeed | 官方 950 支持声明未查到 [未核实] | 无 |
可直接抄的版本组合
总表做减法,收敛成三套。每套都是文档化配对或公开验证过的组合,从上往下复制即可。
组合 A:CANN 9.1.0 全配套(推荐)
# 前置:驱动 HDK >= 25.7.0(Atlas 350),OS 见总表
./Ascend-cann-toolkit_9.1.0_linux-x86_64.run --full
./Ascend-cann-950-ops_9.1.0_linux-x86_64.run --install # 同 install-path
source ${PATH-TO-CANN}/cann/set_env.sh
# Python 3.9-3.11(triton-ascend 的收窄面)
pip install torch==2.7.1+cpu
pip install torch-npu==2.7.1.post8 triton-ascend==3.2.2 \
--extra-index-url=https://mirrors.huaweicloud.com/ascend/repos/pypi
吃到 9.1.0 全部 C API 修复,长期最稳。torch 换 2.9 以上线时,torch_npu 按配套表同步换。
组合 B:CANN 9.0.0 存量环境最小改动
机器上已装 CANN 9.0.0 与 cann-950-ops,只想跑通:
pip install torch-npu==2.7.1.post8 \
--extra-index-url=https://mirrors.huaweicloud.com/ascend/repos/pypi
# triton-ascend 保持 3.2.1(与 CANN 9.0.0 对应),torch 2.7.1+cpu 不动
只动 torch_npu 一个包。该组合落在官方宽矩阵内,跑通门禁再上业务。
组合 C:框架整栈
- vllm-ascend 推理:CANN 9.1.0 + NNAL 9.1.0 + torch 2.10.0 + TorchNPU 2.10.0.post4,按官方安装文档走预编译镜像最省事
- MindSpeed LLM 训练:CANN 9.1.0 + TorchNPU 26.1.0 + triton-ascend 3.2.2 + Megatron core v0.12.1 + Python 3.10,配套镜像 aarch64
排错对照与算子迁移
典型报错对照表
栈层从下往上查,先看断链在哪一层:
| 症状 | 断链层 | 修复 |
|---|---|---|
| Unsupported soc version: Ascend950PR xxxx(社区 issue #460 即此例,2.6.0.post5 与裸 2.7.1 均复现) | torch_npu 版本早于 950 适配 | 换 2.7.1.post8 或 2.9 以上线 |
| import torch_npu 报 undefined symbol、SIGSEGV、is_available() 为 False | torch_npu 与 CANN 运行时不配套 | 用 get_cann_version() 对比编译期版本,按配套表对齐 |
| 编译报 RT_LIMIT_TYPE_SIMT_WARP_STACK_SIZE 之类枚举未定义 | pypi 的 triton-ascend 3.2.0 配了 CANN 9.1 | 升 3.2.1 及以上,加华为云源 |
| source set_env.sh 报文件不存在 | 8.x 与 9.x 目录结构变化 | 9.x 改用 ${PATH-TO-CANN}/cann/set_env.sh |
| SIMT kernel 数据静默错值或越界 | UB 硬编码 248KB,未扣 DCache | SIMT 场景再预留 40KB(SIMT_UB_SIZE_BYTE) |
| 代际判断失效 | 误用 DAV_C310 内部宏 | 等价 DAV_3510,用 NpuArch 或 NPU_ARCH 判断 |
arch22 到 arch35:算子源码级兼容
上面几层管「能不能跑」,算子开发者还要面对源码级兼容。910B 是 arch22(DAV_2201),950 是 arch35(DAV_3510)。官方迁移指导的要点:
- 必须重新编译。2201 上编出的产物不能直接放到 3510 运行
- 高阶 API 同领域兼容;ISASI API(LoadData、Mmad 这类)不保证跨代;SIMD C API 明确不支持跨代兼容
- 硬件通路有删有增:L1 到 GM、GM 到 L0A/L0B 的直通删除,新增 L0C 到 UB、UB 与 L1 直通及 SSBuffer 消息通路;4:2 稀疏不再支持
- 迁移改造有分级:L1 基础适配(arch35 目录、RegBase kernel 入口、BF16 条件编译保护移除)所有算子必做,L2 起改核心计算路径
- Catlass 用户另有官方迁移指导:Arch::AtlasA2 换 Arch::Ascend950,编译加 -DCATLASS_ARCH=3510
五步自检
- npu-smi info 能看到卡,驱动层确认
- version.cfg 对上目标 CANN,950-ops 已装
- python 打印 torch_npu 版本,确认带 post 后缀或 2.9 以上线
- triton-ascend 版本与 CANN 一一对应(3.2.1 对 9.0.0,3.2.2 对 9.1.0)
- 最小 kernel 上板跑通,再跑业务
import 成功不等于环境可用。真正的门禁是最小 triton kernel 上板跑一遍,这是社区文档的原话,值得抄在便签上。矩阵不是万能的:8.5.0 时代就有样例 README 声明 soc 950 可用,正式支持时间线以 9.0.x 测试报告为准;两份文档并存时,以测试报告和 release notes 为锚点。950 生态每周都在补齐,这篇的版本号会过期,方法不会:先分层,再对矩阵,最后上板验证。
参考资料
- TorchNPU 版本配套表与 release notes:pytorch 仓 docs/zh/release_notes.md(TorchNPU 26.1.0)
- triton-ascend 新仓库与安装说明:github.com/triton-lang/triton-ascend
- CANN 下载与版本说明:www.hiascend.com/cann/download
- vllm-ascend 安装矩阵:vllm-ascend docs/source/installation.md
- MindSpeed-LLM release notes(triton-ascend 兼容性章节):MindSpeed-LLM 仓 docs/zh/release_notes_llm.md
- 社区 QA 测试报告:CANN 9.0.1 / 9.1.0-beta.1(cluster-infra/community/QA)
- AscendC 跨代迁移指导:asc-devkit docs/zh/guide/cross_gen_migration_guide
- 案例出处:Ascend/triton-ascend issue #460
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐


所有评论(0)