SetStoreAtomicConfig
功能说明
设置原子操作使能位与原子操作类型。
函数原型
template <AtomicDtype type, AtomicOp op> __aicore__ inline void SetStoreAtomicConfig()
参数说明
参数名 |
输入/输出 |
描述 |
---|---|---|
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推理产品
约束说明
无。
调用示例
// 设置原子操作为求和操作,支持的数据类型为half SetStoreAtomicConfig<AtomicDtype::ATOMIC_F16, AtomicOp::ATOMIC_SUM>();
父主题: 原子操作