warp.atomic_cas#

warp.atomic_cas(
arr: Array[Any],
i: Int,
compare: Any,
value: Any,
) Any#
  • Kernel

Atomically compare and swap value with arr[i] if arr[i] equals compare, and return the old value.

The operation is only atomic on a per-component basis for vectors and matrices.

warp.atomic_cas(
arr: Array[Any],
i: Int,
j: Int,
compare: Any,
value: Any,
) Any
  • Kernel

Atomically compare and swap value with arr[i,j] if arr[i,j] equals compare, and return the old value.

The operation is only atomic on a per-component basis for vectors and matrices.

warp.atomic_cas(
arr: Array[Any],
i: Int,
j: Int,
k: Int,
compare: Any,
value: Any,
) Any
  • Kernel

Atomically compare and swap value with arr[i,j,k] if arr[i,j,k] equals compare, and return the old value.

The operation is only atomic on a per-component basis for vectors and matrices.

warp.atomic_cas(
arr: Array[Any],
i: Int,
j: Int,
k: Int,
l: Int,
compare: Any,
value: Any,
) Any
  • Kernel

Atomically compare and swap value with arr[i,j,k,l] if arr[i,j,k,l] equals compare, and return the old value.

The operation is only atomic on a per-component basis for vectors and matrices.

warp.atomic_cas(
arr: FabricArray[Any],
i: Int,
compare: Any,
value: Any,
) Any
  • Kernel

Atomically compare and swap value with arr[i] if arr[i] equals compare, and return the old value.

The operation is only atomic on a per-component basis for vectors and matrices.

warp.atomic_cas(
arr: FabricArray[Any],
i: Int,
j: Int,
compare: Any,
value: Any,
) Any
  • Kernel

Atomically compare and swap value with arr[i,j] if arr[i,j] equals compare, and return the old value.

The operation is only atomic on a per-component basis for vectors and matrices.

warp.atomic_cas(
arr: FabricArray[Any],
i: Int,
j: Int,
k: Int,
compare: Any,
value: Any,
) Any
  • Kernel

Atomically compare and swap value with arr[i,j,k] if arr[i,j,k] equals compare, and return the old value.

The operation is only atomic on a per-component basis for vectors and matrices.

warp.atomic_cas(
arr: FabricArray[Any],
i: Int,
j: Int,
k: Int,
l: Int,
compare: Any,
value: Any,
) Any
  • Kernel

Atomically compare and swap value with arr[i,j,k,l] if arr[i,j,k,l] equals compare, and return the old value.

The operation is only atomic on a per-component basis for vectors and matrices.

warp.atomic_cas(
arr: IndexedFabricArray[Any],
i: Int,
compare: Any,
value: Any,
) Any
  • Kernel

Atomically compare and swap value with arr[i] if arr[i] equals compare, and return the old value.

The operation is only atomic on a per-component basis for vectors and matrices.

warp.atomic_cas(
arr: IndexedFabricArray[Any],
i: Int,
j: Int,
compare: Any,
value: Any,
) Any
  • Kernel

Atomically compare and swap value with arr[i,j] if arr[i,j] equals compare, and return the old value.

The operation is only atomic on a per-component basis for vectors and matrices.

warp.atomic_cas(
arr: IndexedFabricArray[Any],
i: Int,
j: Int,
k: Int,
compare: Any,
value: Any,
) Any
  • Kernel

Atomically compare and swap value with arr[i,j,k] if arr[i,j,k] equals compare, and return the old value.

The operation is only atomic on a per-component basis for vectors and matrices.

warp.atomic_cas(
arr: IndexedFabricArray[Any],
i: Int,
j: Int,
k: Int,
l: Int,
compare: Any,
value: Any,
) Any
  • Kernel

Atomically compare and swap value with arr[i,j,k,l] if arr[i,j,k,l] equals compare, and return the old value.

The operation is only atomic on a per-component basis for vectors and matrices.