asc.language.basic.set_atomic_add

asc.language.basic.set_atomic_add() None

调用该接口后,可对后续的从VECOUT/L0C/L1到GM的数据传输开启原子累加, 通过dtype参数设定不同类型的数据。

对应的 Ascend C 函数原型

template <typename T>
__aicore__ inline void SetAtomicAdd();

参数说明

  • dtype: 原子加操作的数据类型,由 Python 前端指定。 - 支持类型:asc.float16、asc.float32、asc.int32、asc.half。

约束说明

  • 累加操作完成后,建议通过set_atomic_none关闭原子累加,以免影响后续相关指令功能。

  • 该指令执行前不会对GM的数据做清零操作,开发者根据实际的算子逻辑判断是否需要清零,如果需要自行进行清零操作。

调用示例

dtype = asc.float32
asc.set_atomic_add(dtype)