一句话让Agent变成昇腾专家,不必再找人问了。评测入口:
(To Agent)请按这个开源仓接入昇腾图谱 https://gitcode.com/agent0/kg-tools

写跨平台算子或编译脚本时,昇腾的芯片代号有三套并行的命名体系:服务器平台名(A2/A3/A5)、soc_version 字符串(Ascend910B3、Ascend910_9392、Ascend950PR_9589)、架构宏(__NPU_ARCH__ 2201/3510,编译器内还有 arch22/arch35 目录)。三套体系对不齐是编译报错和 tiling 错配的常见根因。

一、核心映射表(各节点原文汇总)

平台芯片soc_version 示例__NPU_ARCH__arch 目录编程模型
Atlas A2Ascend 910B(单 die)Ascend910B1/B2/B3/B42201arch22SIMD only
Atlas A3Ascend 910C(双 die)Ascend910_9392 等 93xx2201arch22SIMD only
Atlas A5Ascend 950PR/950DTAscend950PR_9589 等3510arch35SIMD + SIMT

三个易错点:

  1. A3 不是新架构。910C 是"一个封装里两个 910B die",CANN 仍归入 ascend910b_list 家族,编译走 BUILD_MODE=c220 与 A2 相同。把 A3 当新架构写宏隔离是错误做法。
  2. soc_version 的数字后缀是 silicon bin。如 Ascend950PR_9589 里的 _9589 是服务器相关的装箱版本,官方明确要求通过 GetSocName()/npu-smi 运行时解析,禁止硬编码。A3 的后缀(如 _9392)同理,还有 9391/9381/9382/9372/9362 等兄弟型号,走同一条 c220 编译路径。
  3. 平台名不等于芯片名。npu-smi 显示 910B3 不代表机器是 A3——同一颗 910B3 既可能在 A2 也在 A3 服务器上。判别平台要用 dmidecode -t systemnpu-smi info -t product -i 0 -c 0 查系统产品信息,不能从芯片名推断。

二、soc_version 怎么查才不会错

ATC 的 --soc_version 文档给了分代查询方法:

  • A2 系(910b/310p/310b):npu-smi info 看 Name,配置值为 Ascend<Name>
  • A3 系:npu-smi info -t board -i <id> -c <chip_id> 取 Chip Name 和 NPU Name,拼成 Ascend910_9392 形态。
  • 950 系:npu-smi info -t board -i <id> 取 Chip Name_NPU Name 拼接,无需 chip_id。

npu-smi info -m 能同时列出 NPU ID / Chip ID / Name,是确认双 die 器件编号的第一入口。

三、Device 侧代码的隔离写法

官方跨代迁移指南给出的标准做法:Device 侧用 __NPU_ARCH__(如 #if __NPU_ARCH__ == 3510)隔离架构特有逻辑,Host 侧用 SocVersion 判断;编译多目标时用 Tiling 模板编程或多分支策略,避免手写 copy_gm_to_ubuf 这类编译器内置 API。

关于代号别名:社区知识库将 3510 架构代号规范为 DAV_3510,“V351”(截断写法)、“David V100”、“DaVinci V351” 均为废弃别名;PTO 仓库的编译分发也印证了 PTO_NPU_ARCH_A5 → a5 目录、__CCE_AICORE__ → a2a3 目录的两分支结构。


昇腾知识图谱如何检索示例

  • 检索主题: 昇腾 SoC 代际映射:A2/A3/A5、910_95/910_96、arch22/arch35 宏怎么对应
  • 检索关键词: [“A2 A3 A5 A6 910_95 910_96 arch22 arch35 SoC 代际映射”, “ascend910_95 ascend910_96 soc_version 950PR 950DT A5 A6 soc name”, “ge_docs --soc_version 参数 Atlas A2 A3 910B 910C 950PR 支持列表 值”]
  • 内容节点: [“ptoisa_include_pto_comm_readme_a2_a3_ascend_910b_910c_architecture_implementations”, “cannbotskills_pluginscommunity_ascendcportorchestrator_kb_hardware_target_ascend910c_soc_version_ascend910_9392”, “ge_docs_zh_userguides_atctools_clioptions_socversion_ascendname”, “ascdevkit_docs_zh_guide_crossgenmigrationguide_overview_相邻代际芯片”]
  • 召回情况: top1 “GPU vs NPU 架构差异” score 0.9142;910C 平台文档(含 soc_version 全表)以改写 query 命中 score 0.9305
Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐