<< All versions

Skill v1.0.0

currentAutomated scan100/100
tasselszcx/ako-npu/npu-arch
──Details
PublishedOctober 25, 2026 at 10:39 AM
Content Hashsha256:9e8cecf06370857f...
Git SHA6a244d457321
──Files
Files (1 file, 4.0 KB)
SKILL.md4.0 KBactive
SKILL.md · 85 lines · 4.0 KB

version: "1.0.0" name: npu-arch description: Ascend NPU 架构知识查询技能。通过芯片型号映射、架构代际划分和 archXX 特性说明,帮助判断目标平台能力、特性支持与条件编译策略。当需要确认芯片型号、NpuArch/SocVersion、架构差异、特性支持或编译分支条件时使用。


Ascend NPU 架构知识

架构代际概述

概念说明
NpuArch芯片架构号,定义指令集和微架构,运行时通过 GetCurNpuArch() 获取
SocVersion片上系统版本,软件命名标识,运行时通过 GetSocVersion() 获取
__NPU_ARCH__Device 侧编译宏,四位数值,用于条件编译
archXX算子仓目录简写,取 DAV 编号前两位(如 DAV_3510 → arch35)
__DAV_C310__构建系统内部宏,等价于 NpuArch::DAV_3510 / arch35 / __NPU_ARCH__=3510,不可按数值推断

完整映射表

完整产品系列 / SocVersion / NpuArch / 芯片型号映射见 `npu-hardware-params.md` §0 产品映射表。

获取当前架构

cpp
#include "utils/tiling/platform/platform_ascendc.h"
auto ascendcPlatform = platform_ascendc::PlatformAscendC(context->GetPlatformInfo());
NpuArch npuArch = ascendcPlatform.GetCurNpuArch(); // DAV_2201 / DAV_3510 / ...
platform_ascendc::SocVersion socVer = ascendcPlatform.GetSocVersion();

GetCurNpuArch() 失败返回 NpuArch::DAV_RESV,GetSocVersion() 失败返回 SocVersion::RESERVED_VERSION。

DAV_3510 相对 DAV_2201 的关键变化

详细硬件参数真值见 references/npu-hardware-params.md。运行时必须以 PlatformAscendC 接口获取实际值,禁止硬编码。

Buffer(同架构内通常一致)

BufferDAV_2201DAV_3510
L0C128 KB256 KB
UB192 KB248 KB
BT1 KB4 KB

频率/核数/L2/Memory(因子型号/形态而异)

参数Ascend910B2 (DAV_2201)Ascend950PR PCIEAscend950PR Server
Cube 核数242832
频率1.8 GHz1.65 GHz1.65 GHz
L2192 MB112 MB128 MB
Memory64 GB112 GB128 GB
详见 典型SKU示例。

指令集与微架构

类别变化
数据格式新增 FP8 / MXFP8 / MXFP4 / HiF8 Cube MMAD
CV 直通通路新增 L0C→UB、UB→L1、SSBuffer 消息
同步机制BufferID 替代 set/wait 强配对
编程模型新增 SIMT、SIMD-Regbase、NDDMA、CCU 通算融合
Memory 带宽基于公开资料与经验值,详见 npu-hardware-params.md §4。

详细文档索引

references/ 按需加载:

  • `npu-hardware-params.md` — 硬件参数参考:各架构子型号一致参数、典型SKU示例、基于公开资料与经验值的规格
  • `simt-arch-guide.md` — SIMT 架构概念参考:线程层次结构、Warp调度机制、内存空间、UB分区、数据类型、函数调用层级、LAUNCH_BOUND与寄存器数量、SIMT与SIMD核心差异
  • `npu-arch-guide.md`:
  • 典型硬件参数与获取方式:核数 / Buffer 容量典型值,GetCoreNumA* / GetCoreMemSize / aclrtGetDeviceInfo 接口用法(含硬编码反例)
  • DAV_3510 微架构:AI Core Buffer 层级、MTE 引擎、CV 数据通路改动、BufferID 同步
  • SIMT vs SIMD:硬件能力差异与适用场景
  • SIMD-Regbase:寄存器组、核心优势、代码形态变化
  • 数据格式扩展:完整数据类型表、C++ 类型名映射、MXFP Tiling 约束
  • NDDMA / CCU:高维 DMA 用法、CCU 三种通信范式、KFC 调度模型
  • 架构兼容性检查清单 / 参考信息来源
范围边界:本技能聚焦架构判断与硬件能力识别。算子目录结构、CMake 配置、文件命名约定等工程模板内容不在本技能范围内。
All versions