已关闭
[Documentation|文档反馈]: 算子跨平台迁移指导的规格参数表与昇腾950白皮书/CANN INI 不一致 #997
jon_jin创建于  9月20日关闭于  28 天前
jon_jin
9月20日 创建

[Documentation|文档反馈]: 算子跨平台迁移指导的规格参数表与昇腾950白皮书/CANN INI 不一致

Document Link(文档链接)

https://gitcode.com/cann/ops-cv/blob/master/docs/zh/develop/cross_platform_migration_guide.md

涉及位置:§一「代际规格参数对比」表、§二「硬件能力变更引入适配点」表(存储单元行、计算单元行)。

Issues Section(问题文档片段)

规格参数表(Atlas A2 → Ascend 950):

规格项 Atlas A2 Ascend 950
AICore 核数 24 32
频率 1.8 1.65
Cube算力规格 353T/376T @BF16,FP16 426T@BF16,FP16 757T@FP8,HIFP8,MXFP8,INT8 1514T@MXFP4
Vector算力规格(FP16) 23.5T 54T
Memory容量(GB) 64 128
Memory带宽 1.6TB/s 1.6TB/s

以及 §二 中「Local Buffer内存改进:Cube L0C 256KB、Vector UB 256KB」「Cube不再支持int4_t」两处表述。

Existing Issues(存在的问题)

对照真源《昇腾950 NPU架构白皮书》表3-1/表4-2 与 CANN 安装包 platform_config/*.ini(两源已做算术闭环交叉验证):

# 指南现值 白皮书/INI 真源值 问题
1 950 426T@BF16,FP16 Cube 432T(Server 档)/ 378T(PCIE 档);总算力 486/425T(Cube+Vector) 426T 无出处,与任何一档均不符
2 950 757T@FP8,HIFP8,MXFP8,INT8 FP8/HiF8/MXFP8:865T(Server)/ 756T(PCIE,官方向下取整;757 为公式值 756.9) 用了 PCIE 档公式值,却与同列 Server 档数值(32 核/128GB/54T/1.6TB/s)混搭;INT8 在白皮书表3-1 单列,与 FP8 族并列无依据;HIFP8 应为 HiF8
3 950 1514T@MXFP4 1730T(Server)/ 1513T(PCIE 官方值;1514 为公式值 1513.9) 同 #2
4 A2 353T/376T 353.9T 为 910B2 纯 Cube 算力;353.9+22.1=376.0T 为 Cube+Vector 总算力 同一格混用两种口径且未标注
5 A2 Vector 23.5T 128×48 核×1800MHz×2 = 22.1T ≈ 22T(INI 推导) 23.5T 无出处
6 Vector UB 256KB 白皮书表4-2 按 AI Core 组(1 AIC+2 AIV)计 512KB;每 AIV 物理 256KB、用户可用 248KB(INI ub_size=253952,即 GetCoreMemSize(UB) 返回值) 口径不清;tiling 应按 248KB 计;A2 侧 UB=192KB 未提及
7 Cube不再支持int4_t 类型名为 int4b_t(打包 int4x2_t),在 950 仍为合法内置类型(Vector 计算/权重存储),仅 Cube MMAD 不支持 类型名与影响范围表述不准确
8 核数/Memory 未标注 SKU 档位 950PR PCIE 档:Cube 28 核/112GB @1.4TB/s/Vector 47T/总算力 425T;950DT:Cube 36/32/28 核三档、144/96GB @4TB/s 「选择代表性配置」的免责声明覆盖不了上述 1–5 的数值/口径问题;950DT 信息缺席

一致、无需修改的项:L0C 128KB→256KB、4:2 稀疏矩阵计算移除、频率 1.8/1.65 GHz。

修改建议(可直接替换)

1)规格表按「Atlas A2 以 Ascend910B2 为例 / Ascend 950 以 Ascend950PR Server 档为例」标注列头,拆分 Cube/Vector 核数与总算力,数值取白皮书官方标注,并加脚注:

替换后的规格表(HTML,与原文格式一致)
<table>
  <tr>
    <th colspan="2" style="width: 25%;">规格项</th>
    <th style="width:37.5%;">Atlas A2(以 Ascend910B2 为例)</th>
    <th style="width:37.5%;">Ascend 950(以 Ascend950PR Server 档为例)</th>
  </tr>
  <tr>
    <td rowspan="4">AICore</td>
    <td>Cube 核数</td>
    <td>24</td>
    <td>32</td>
  </tr>
  <tr>
    <td>Vector 核数</td>
    <td>48</td>
    <td>64</td>
  </tr>
  <tr>
    <td>频率 (GHz)</td>
    <td>1.8</td>
    <td>1.65</td>
  </tr>
  <tr>
    <td>Cube 算力</td>
    <td>353T @BF16/FP16</td>
    <td>432T @BF16/FP16;865T @FP8/HiF8/MXFP8;1730T @MXFP4</td>
  </tr>
  <tr>
    <td>Vector</td>
    <td>Vector 算力 (FP16)</td>
    <td>22T</td>
    <td>54T</td>
  </tr>
  <tr>
    <td rowspan="2">Memory</td>
    <td>Memory 容量 (GB)</td>
    <td>64</td>
    <td>128</td>
  </tr>
  <tr>
    <td>Memory 带宽</td>
    <td>1.6TB/s</td>
    <td>1.6TB/s</td>
  </tr>
</table>

脚注:

  • 总算力 = Cube + Vector:910B2 BF16/FP16 约 376T(353T+22T);Ascend950PR Server 档 486T(432T+54T)(白皮书表3-1)。
  • Ascend950PR PCIE 档:Cube 28 核/Vector 56 核、Memory 112GB @ 1.4TB/s、Cube BF16 378T、FP8 族 756T、MXFP4 1513T、Vector 47T。Ascend950DT:Cube 36/32/28 核三档、Memory 144/96GB @ 4TB/s(详见白皮书表3-1)。
  • INT8/TF32 算力白皮书表3-1 单列,此处未展开;本表算力均为纯 Cube 口径。
  • 上表为典型 SKU 示例;算子代码中核数与 Buffer 容量应通过 PlatformAscendC(GetCoreNumAic/GetCoreNumAiv/GetCoreMemSize)运行时获取,禁止硬编码。

2)§二 两处表述替换:

原文 建议替换为
Local Buffer内存改进:Cube L0C 256KB、Vector UB 256KB Local Buffer内存改进:Cube L0C 扩至 256KB(A2 为 128KB);UB 每 AIV 物理 256KB、用户可用 248KB(A2 为 192KB)。tiling 一律以 GetCoreMemSize 返回值为准
Cube不再支持int4_t Cube MMAD 不再支持 INT4 矩阵计算(int4b_t 及打包类型 int4x2_t 仍为合法内置类型,可用于 Vector 计算与权重存储)

备注

likedislike
Jjon_jin
9月20日 添加了label:documentation
Jjon_jin
9月20日 修改了issue 的描述
liu-wei
liu-wei成员
9月20日 评论:

您好,感谢反馈!

问题分析

经核对仓库 master 分支 docs/zh/develop/cross_platform_migration_guide.md 当前内容,您引用的 8 处规格表/表述与文档实际值逐条一致,引用准确。我们同时用 CANN 9.2.0 安装包的 platform_config/*.ini 做了交叉验证,以下问题可以直接确认:

  1. UB 口径:950 各 SKU ub_size=253952(每 AIV 用户可用 248KB,物理 256KB),A2 为 196608(192KB)且文档未提及——现表"Vector UB 256KB"口径不清、缺 A2 侧数值,该条成立。
  2. SKU 档位:ai_core_cnt 在 950 跨 SKU 为 4/28/32/36,memory_size 有 112/128/144GB 多档,部分 SKU cube_freq 为 1800——表中"32 核/128GB/1.65GHz"仅对应部分 SKU,未标注档位的问题成立(频率一项与您"一致、无需修改"的结论也略有出入,同样属 SKU 相关)。
  3. 类型名与拼写:CANN 内置类型名为 int4b_t(打包形式 int4x2_t),950 INI 使用 hif8 token——int4_t 表述与 HIFP8 拼写需修正,该条成立。
  4. L0C 128KB→256KB、4:2 稀疏移除:与 INI 一致(l0_c_size 262144/131072,sparsity A2=1/950=0),无需修改,与您的结论一致。

两点需要说明:

  • 白皮书中的算力数值(432T/378T、865T/756T、1730T/1513T、UB 按 AI Core 组 512KB 口径等)我们本地无法直接核验,采信您基于白皮书表 3-1/4-2 的交叉验证;TFLOPS 与带宽数值在 INI 中无对应字段。
  • 关于第 7 条 int4:按 CANN 9.2.0 INI,950(如 957b/9581)的 Intrinsic_mmad 清单包含 s4/s32s4s4,A2 反而不包含——即 INI 口径与文档"Cube 不再支持 int4"方向相反,与您"仅 Cube MMAD 不支持"的修正表述也不一致。这一条我们会先与工具链侧复核口径,再确定文档的正确表述。

处理方向

可行的调整方向:规格表按"以 Ascend910B2 为例 / 以 Ascend950PR Server 档为例"标注列头并拆分 Cube/Vector 核数与总算力;UB 改为"物理 256KB、用户可用 248KB(INI ub_size=253952)"双口径并补充 A2 侧 192KB;HIFP8 更正为 HiF8、类型名更正为 int4b_t;int4 支持范围表述待工具链口径复核后改写;核数/Memory/频率补充 SKU 档位标注。

我们会持续跟踪,文档修订进展将在此同步。

likedislike
liu-weiliu-wei成员
29 天前 将 liu-wei 设为负责人
ayuemoonayuemoon
28 天前 关联了pull request:docs: 修正跨平台迁移指南规格与能力说明
CANN-robotCANN-robot成员
28 天前 关闭了 issue
CANN-robotCANN-robot成员
28 天前 添加了label:resolved