Expand description
Synchronization and atomic operations for GPU programming.
Structs§
- AddF
- Atomic operation kind for
Atomic<'a, T>::atomic_addf - AddI
- Atomic operation kind for
Atomic<'a, T>::atomic_addi - AndI
- Atomic operation kind for
Atomic<'a, T>::atomic_andi - Assign
- Atomic operation kind for
Atomic<'a, T>::atomic_assign - Atomic
- To prevent the user from mixing use of Atomic operation and chunk-based access, we wrap the reference to the data to be modified in an Atomic struct. ensuring that the user cannot access the data without using atomic operations. If user wants to repurpose the data for non-atomic access, they need to drop the Atomic struct first and need a sync across all blocks. For now, sync across all blocks is not supported, we should reject such code in analysis. TODO: Avoid repurposing data for atomic or chunk-based access.
- MaxNumF
- Atomic operation kind for
Atomic<'a, T>::atomic_maxnumf - MaxS
- Atomic operation kind for
Atomic<'a, T>::atomic_maxs - MaxU
- Atomic operation kind for
Atomic<'a, T>::atomic_maxu - MaximumF
- Atomic operation kind for
Atomic<'a, T>::atomic_maximumf - MinNumF
- Atomic operation kind for
Atomic<'a, T>::atomic_minnumf - MinS
- Atomic operation kind for
Atomic<'a, T>::atomic_mins - MinU
- Atomic operation kind for
Atomic<'a, T>::atomic_minu - MinimumF
- Atomic operation kind for
Atomic<'a, T>::atomic_minimumf - MulF
- Atomic operation kind for
Atomic<'a, T>::atomic_mulf - MulI
- Atomic operation kind for
Atomic<'a, T>::atomic_muli - OrI
- Atomic operation kind for
Atomic<'a, T>::atomic_ori - Shared
Atomic
Functions§
- sync_
threads - Synchronization within a thread block. Disallow divergent control flow to ensure all threads in a block can reach the sync point to avoid deadlock.