triton.language.atomic_and

triton.language.atomic_and(pointer, val, mask=None, sem=None, scope=None)

pointer指定的内存位置执行原子逻辑与操作。

返回原子操作前存储在pointer处的数据。

Parameters:
  • pointer (Block of dtype=triton.PointerDType) – 要操作的内存位置

  • val (Block of dtype=pointer.dtype.element_ty) – 用于执行原子操作的值

  • sem (str, optional) – 指定操作的内存语义。可接受的值为"acquire"、"release"、"acq_rel"(代表"ACQUIRE_RELEASE")和"relaxed"。如果未提供,函数默认使用"acq_rel"语义。

  • scope (str, optional) – 定义能够观察到原子操作同步效果的线程范围。 可接受的值包括"gpu"(默认值)、"cta"(协作线程数组,线程块)或"sys"(代表"SYSTEM")。默认值为"gpu"。

该函数也可以作为成员函数调用,使用tensor对象, 形式为x.atomic_and(...)而非 atomic_and(x, ...)