通用约束
Ascend C管理不同层级的物理内存时,用一种抽象的逻辑位置(TPosition)来表达各级别的存储,代替了片上物理存储的概念,达到隐藏硬件架构的目的。TPosition类型包括:VECIN、VECOUT、VECCALC、A1、A2、B1、B2、CO1、CO2,具体介绍请参考TPosition。TPosition与物理内存的映射关系如表1所示。
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。 |
C2 |
Atlas 训练系列产品,L0C Buffer。 Atlas推理系列产品AI Core,L0C Buffer。 Atlas A2训练系列产品/Atlas 800I A2推理产品,BT Buffer。 |
CO1 |
L0C Buffer |
CO2 |
Atlas 训练系列产品,Unified Buffer。 Atlas推理系列产品AI Core,Unified Buffer。 Atlas A2训练系列产品/Atlas 800I 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 Kernel API