pypto_pro.language.AccPhase#
产品支持情况#
Ascend 950PR/Ascend 950DT:支持
Atlas A3 训练系列产品/Atlas A3 推理系列产品:不支持
Atlas A2 训练系列产品/Atlas A2 推理系列产品:不支持
功能说明#
开启硬件unitFlag机制(一种Mmad指令和Fixpipe指令细粒度的并行)的枚举。硬件给L0C Buffer中每一个512B内存块提供一个unit-flag标志位,用于表示该内存块是否可被读写,进而从硬件层面实现L0C Buffer内存的读写同步。 对于矩阵乘而言,当unit-flag标志位为0时,可写入L0C Buffer,否则阻塞写操作,直到标志位变为0。使用时,需要与L0C Buffer搬出接口(pypto_pro.language.store、pypto_pro.language.store_tile或pypto_pro.language.move)的pypto_pro.language.STPhase配置搭配使用,否则可能出现卡死现象。
原型定义#
PYPTO_DECLARE_ENUM(AccPhase,
Unspecified, # 不启用unitFlag机制
Partial, # 仅检查unit-flag标志位,并根据其0/1状态控制写操作,指令执行后,不改变该内存块的unit-flag标志位。
Final # 检查unit-flag标志位,并根据其0/1状态控制写操作,指令执行后,将该内存块的unit-flag标志位置为1。
)