Ascend C管理不同层级的物理内存时,用一种抽象的逻辑位置(TPosition)来表达各级别的存储,代替了片上物理存储的概念,达到隐藏硬件架构的目的。TPosition类型包括:VECIN、VECOUT、VECCALC、A1、A2、B1、B2、CO1、CO2,具体介绍请参考
TPosition。TPosition与物理内存的映射关系如
表1所示。
表1 TPosition与物理内存映射关系TPosition
|
物理内存
|
GM
|
Global Memory
|
VECIN
|
Unified Buffer
|
VECCALC
|
Unified Buffer
|
VECOUT
|
Unified Buffer
|
A1
|
L1 Buffer
|
A2
|
L0A Buffer
|
B1
|
L1 Buffer
|
B2
|
L0B Buffer
|
C1
|
Atlas 训练系列产品,Unified Buffer。
Atlas 推理系列产品AI Core,Unified Buffer。
Atlas A2 训练系列产品/Atlas 800I A2 推理产品,L1 Buffer。
Atlas 200I/500 A2 推理产品,Unified Buffer。
|
C2
|
Atlas 训练系列产品,L0C Buffer。
Atlas 推理系列产品AI Core,L0C Buffer。
Atlas A2 训练系列产品/Atlas 800I A2 推理产品,BT Buffer。
Atlas 200I/500 A2 推理产品,BT Buffer。
|
CO1
|
L0C Buffer
|
CO2
|
Atlas 训练系列产品,Unified Buffer。
Atlas 推理系列产品AI Core,Unified Buffer。
Atlas A2 训练系列产品/Atlas 800I A2 推理产品,Global Memory。
Atlas 200I/500 A2 推理产品,Global Memory。
|
TSCM
|
L1 Buffer
|
SPM
|
Atlas 训练系列产品,L1 Buffer。
Atlas 推理系列产品AI Core,L1 Buffer。
Atlas A2 训练系列产品/Atlas 800I A2 推理产品,Global Memory。
|
C2PIPE2GM
|
Atlas A2 训练系列产品/Atlas 800I A2 推理产品,Fixpipe Buffer。
|
Ascend C内存管理模块在进行内存分配时会对起始地址进行对齐。各类存储单元的对齐要求如表2所示。
使用
Ascend C数据计算和数据搬运接口时,目的操作数和源操作数地址偏移对齐要求和
表2保持一致,
如果Ascend C指令接口中已说明操作数起始地址对齐要求,则以具体指令中的说明为准。
表2 不同存储单元的对齐要求存储单元
|
对齐要求
|
Global Memory
|
暂无对齐要求。
|
Unified Buffer
|
32Byte对齐。
|
L1 Buffer
|
32Byte对齐。
|
L0A Buffer/L0B Buffer
|
512Byte对齐。
|
L0C Buffer
|
64Byte对齐。
|
BT Buffer
|
64Byte对齐。
|