TPosition
Ascend C管理不同层级的物理内存时,用一种抽象的逻辑位置(TPosition)来表达各级别的存储,代替了片上物理存储的概念,达到隐藏硬件架构的目的。主要的TPosition类型包括:VECIN、VECOUT、VECCALC、A1、A2、B1、B2、C1、C2、CO1、CO2,其中VECIN、VECCALC、VECOUT主要用于矢量编程,A1、A2、B1、B2、C1、C2、CO1、CO2用于矩阵编程。您可以参考编程范式了解TPosition的基础概念,通过表1了解TPosition和物理存储的映射关系。
TPosition定义如下:
enum class TPosition : uint8_t {
GM,
A1,
A2,
B1,
B2,
C1,
C2,
CO1,
CO2,
VECIN,
VECOUT,
VECCALC,
LCM = VECCALC,
SPM,
SHM = SPM,
TSCM,
C2PIPE2GM,
C2PIPE2LOCAL,
MAX,
};
TPosition枚举值的具体定义如下:
表 1 TPosition枚举值含义说明
Local Cache Memory,代表临时共享的Unified Buffer空间,VECCALC的别名,与VECCALC实现同样的功能。 |
|