asc.language.basic.set_store_atomic_config

asc.language.basic.set_store_atomic_config(atomic_type: AtomicDtype, atomic_op: AtomicOp) None

设置原子操作使能位与原子操作类型。

对应的Ascend C函数原型

template <AtomicDtype type, AtomicOp op>
__aicore__ inline void SetStoreAtomicConfig()

参数说明

  • type:原子操作使能位,AtomicDtype枚举类的定义如下:

    class AtomicDtype(IntEnum):
        ATOMIC_NONE = 0   // 无原子操作
        ATOMIC_F32 = 1    // 使能原子操作进行原子操作的数据类型为float
        ATOMIC_F16 = 2    // 使能原子操作进行原子操作的数据类型为half
        ATOMIC_S16 = 3    // 使能原子操作进行原子操作的数据类型为int16_t
        ATOMIC_S32 = 4    // 使能原子操作进行原子操作的数据类型为int32_t
        ATOMIC_S8 = 5     // 使能原子操作进行原子操作的数据类型为int8_t
        ATOMIC_BF16 = 6   // 使能原子操作进行原子操作的数据类型为bfloat16_t
    
  • op:原子操作类型,仅当使能原子操作时有效(即“type”为非“ATOMIC_NONE”的场景),当前仅支持求和操作。

    class AtomicOp(IntEnum):
        ATOMIC_SUM = 0    // 求和操作
    

约束说明

无。

调用示例

asc.set_store_atomic_config(asc.AtomicDtype.ATOMIC_F16, asc.AtomicOp.ATOMIC_SUM)