GetStoreAtomicConfig(ISASI)

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品
Atlas 推理系列产品AI Core x
Atlas 推理系列产品Vector Core x
Atlas 训练系列产品 x

功能说明

头文件路径为:"basic_api/kernel_operator_common_intf.h"

获取原子操作开启位与原子操作类型的值,详细说明见表1

函数原型

__aicore__ inline void GetStoreAtomicConfig(uint16_t& atomicType, uint16_t& atomicOp)

参数说明

表 1 参数说明

参数名 输入/输出 描述
atomicType 输出 原子操作开启位。
0:无原子操作
1:开启原子操作,进行原子操作的数据类型为float
2:开启原子操作,进行原子操作的数据类型为half
3:开启原子操作,进行原子操作的数据类型为int16_t
4:开启原子操作,进行原子操作的数据类型为int32_t
5:开启原子操作,进行原子操作的数据类型为int8_t
6:开启原子操作,进行原子操作的数据类型为bfloat16_t
atomicOp 输出 原子操作类型。
0:求和操作

返回值说明

约束说明

此接口需要与SetStoreAtomicConfig(ISASI)配合使用,用以获取原子操作开启位与原子操作类型的值。

调用示例

AscendC::SetStoreAtomicConfig<AscendC::AtomicDtype::ATOMIC_F16, AscendC::AtomicOp::ATOMIC_SUM>();
uint16_t type = 0;       // 原子操作开启位
uint16_t op = 0;         // 原子操作类型
AscendC::GetStoreAtomicConfig(type, op);