asc_set_store_atomic_config_v1
产品支持情况
- Ascend 950PR/Ascend 950DT:不支持
- Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
- Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持
- Atlas 200I/500 A2 推理产品:不支持
- Atlas 推理系列产品AI Core:不支持
- Atlas 推理系列产品Vector Core:不支持
- Atlas 训练系列产品:不支持
功能说明
设置原子操作启用位与原子操作类型的值。通过该接口可以配置后续数据搬运到GM时执行的原子操作的数据类型和操作类型。
函数原型
C++
__aicore__ inline void asc_set_store_atomic_config_v1(uint16_t type, uint16_t op)
参数说明
表1 参数说明
| 参数名 | 输入/输出 | 描述 |
|---|---|---|
| type | 输入 | 原子操作启用位。 0:无原子操作。 1:开启原子操作,进行原子操作的数据类型为float。 2:开启原子操作,进行原子操作的数据类型为half。 3:开启原子操作,进行原子操作的数据类型为int16_t。 4:开启原子操作,进行原子操作的数据类型为int32_t。 5:开启原子操作,进行原子操作的数据类型为int8_t。 6:开启原子操作,进行原子操作的数据类型为bfloat16_t。 其余值无具体含义。 |
| op | 输入 | 原子操作类型。 0:求和操作。 其余值无具体含义。 |
返回值说明
无
流水类型
PIPE_S
约束说明
- 使用完成后,建议通过asc_set_atomic_none清空原子操作的状态,以免影响后续相关指令功能。
- 该指令执行前不会对GM的数据做清零操作,开发者需在需要时手动添加清零操作。
调用示例
C++
uint16_t type = 1;
uint16_t op = 0;
asc_set_store_atomic_config_v1(type, op);