已关闭
[Documentation|文档反馈]: 算子跨平台迁移指导的规格参数表与昇腾950白皮书/CANN INI 不一致 #997
jon_jin创建于 9月20日关闭于 28 天前
liu-wei
9月20日 评论:
9月20日 评论:
您好,感谢反馈!
问题分析
经核对仓库 master 分支 docs/zh/develop/cross_platform_migration_guide.md 当前内容,您引用的 8 处规格表/表述与文档实际值逐条一致,引用准确。我们同时用 CANN 9.2.0 安装包的 platform_config/*.ini 做了交叉验证,以下问题可以直接确认:
- UB 口径:950 各 SKU
ub_size=253952(每 AIV 用户可用 248KB,物理 256KB),A2 为196608(192KB)且文档未提及——现表"Vector UB 256KB"口径不清、缺 A2 侧数值,该条成立。 - SKU 档位:
ai_core_cnt在 950 跨 SKU 为 4/28/32/36,memory_size有 112/128/144GB 多档,部分 SKUcube_freq为 1800——表中"32 核/128GB/1.65GHz"仅对应部分 SKU,未标注档位的问题成立(频率一项与您"一致、无需修改"的结论也略有出入,同样属 SKU 相关)。 - 类型名与拼写:CANN 内置类型名为
int4b_t(打包形式int4x2_t),950 INI 使用hif8token——int4_t表述与HIFP8拼写需修正,该条成立。 - L0C 128KB→256KB、4:2 稀疏移除:与 INI 一致(
l0_c_size262144/131072,sparsityA2=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 档位标注。
我们会持续跟踪,文档修订进展将在此同步。


29 天前 将 liu-wei 设为负责人
28 天前 关联了pull request:docs: 修正跨平台迁移指南规格与能力说明
28 天前 关闭了 issue
28 天前 添加了label:resolved
[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):
以及 §二 中「Local Buffer内存改进:Cube L0C 256KB、Vector UB 256KB」「Cube不再支持int4_t」两处表述。
Existing Issues(存在的问题)
对照真源《昇腾950 NPU架构白皮书》表3-1/表4-2 与 CANN 安装包
platform_config/*.ini(两源已做算术闭环交叉验证):426T@BF16,FP16757T@FP8,HIFP8,MXFP8,INT8HIFP8应为HiF81514T@MXFP4353T/376T23.5TVector UB 256KBub_size=253952,即GetCoreMemSize(UB)返回值)Cube不再支持int4_tint4b_t(打包int4x2_t),在 950 仍为合法内置类型(Vector 计算/权重存储),仅 Cube MMAD 不支持一致、无需修改的项: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>脚注:
PlatformAscendC(GetCoreNumAic/GetCoreNumAiv/GetCoreMemSize)运行时获取,禁止硬编码。2)§二 两处表述替换:
Local Buffer内存改进:Cube L0C 256KB、Vector UB 256KBLocal Buffer内存改进:Cube L0C 扩至 256KB(A2 为 128KB);UB 每 AIV 物理 256KB、用户可用 248KB(A2 为 192KB)。tiling 一律以 GetCoreMemSize 返回值为准Cube不再支持int4_tCube MMAD 不再支持 INT4 矩阵计算(int4b_t 及打包类型 int4x2_t 仍为合法内置类型,可用于 Vector 计算与权重存储)备注
ops-math/ops-nn/ops-cv/ops-transformer四仓同源(原始来源为 ops-nn PR #2980,ops-cv PR #639 等同步复制),已在四仓分别提单:- cann/ops-math: https://gitcode.com/cann/ops-math/issues/3252