函数原型
| template <AtomicDtype type, AtomicOp op>
__aicore__ inline void SetStoreAtomicConfig()
|
参数说明
表1 参数说明参数名
|
输入/输出
|
描述
|
type
|
输入
|
原子操作使能位,AtomicDtype枚举类的定义如下:
| enum class AtomicDtype {
ATOMIC_NONE = 0, // 无原子操作
ATOMIC_F32, // 使能原子操作,进行原子操作的数据类型为float
ATOMIC_F16, // 使能原子操作,进行原子操作的数据类型为half
ATOMIC_S16, // 使能原子操作,进行原子操作的数据类型为int16_t
ATOMIC_S32, // 使能原子操作,进行原子操作的数据类型为int32_t
ATOMIC_S8, // 使能原子操作,进行原子操作的数据类型为int8_t
ATOMIC_BF16 // 使能原子操作,进行原子操作的数据类型为bfloat16_t
};
|
|
op
|
输入
|
原子操作类型,仅当使能原子操作时有效(即“type”为非“ATOMIC_NONE”的场景),当前仅支持求和操作。
| enum class AtomicOp {
ATOMIC_SUM = 0 // 求和操作
};
|
|
支持的型号
Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件
Atlas 200I/500 A2 推理产品
调用示例
| // 设置原子操作为求和操作,支持的数据类型为half
AscendC::SetStoreAtomicConfig<AscendC::AtomicDtype::ATOMIC_F16, AscendC::AtomicOp::ATOMIC_SUM>();
|