SetAtomicType
产品支持情况
- Ascend 950PR/Ascend 950DT:支持
- Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
- Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持
- Atlas 200I/500 A2 推理产品:支持
- Atlas 推理系列产品AI Core:支持
- Atlas 推理系列产品Vector Core:不支持
- Atlas 训练系列产品:不支持
功能说明
头文件路径为:"basic_api/kernel_operator_set_atomic_intf.h"。
通过设置模板参数来设定原子操作不同的数据类型。
函数原型
C++
template <typename T>
__aicore__ inline void SetAtomicType()
参数说明
表1 模板参数说明
| 参数名 | 描述 |
|---|---|
| T | 设定原子操作不同的数据类型。 |
数据类型
- Ascend 950PR/Ascend 950DT,支持的数据类型为int8_t、int16_t、half、bfloat16_t、int32_t、float。
- Atlas A3 训练系列产品/Atlas A3 推理系列产品,支持的数据类型为int8_t、int16_t、half、bfloat16_t、int32_t、float。
- Atlas A2 训练系列产品/Atlas A2 推理系列产品,支持的数据类型为int8_t、int16_t、half、bfloat16_t、int32_t、float。
- Atlas 200I/500 A2 推理产品,支持的数据类型为int16_t、half、int32_t、float。
- Atlas 推理系列产品AI Core,支持的数据类型为int16_t、half、float。
返回值说明
无
约束说明
- SetAtomicAdd、SetAtomicMax、SetAtomicMin内部已集成与SetAtomicType相同的功能。建议调用上述接口时,通过设置模板参数显式指定原子操作的数据类型,无需额外调用SetAtomicType接口。
- 使用完成后,建议使用DisableDmaAtomic清空原子操作的状态,以免影响后续相关指令功能。
调用示例
根据约束说明可知,使用SetAtomicAdd、SetAtomicMax、SetAtomicMin时,已通过模板参数指定原子操作的数据类型,无需额外调用SetAtomicType接口,因此本接口不提供调用示例。