Atomic operations
- group NVCV_CPP_CUDATOOLS_ATOMICS
Functions
- template<typename T, class OP, class = Require<std::is_floating_point_v<T>>> __device__ void AtomicOp (T *address, T val, OP op)
Metafunction to do a generic atomic operation in floating-point types.
- Template Parameters:
T – Type of the values used in the atomic operation.
OP – Operation class that defines the operator call to be used as atomics.
- Parameters:
address – [inout] First value to be used in the atomic operation.
val – [in] Second value to be used.
op – [in] Operation to be used.
- template<typename T> inline __device__ void AtomicMin (T &a, T b)
Metafunction to do a atomic minimum operation that accepts floating-point types.
- Template Parameters:
T – Type of the values used in the atomic operation.
- Parameters:
a – [inout] First value to be used in the atomic operation.
b – [in] Second value to be used.
- template<typename T> inline __device__ void AtomicMax (T &a, T b)
Metafunction to do a atomic maximum operation that accepts floating-point types.
- Template Parameters:
T – Type of the values used in the atomic operation.
- Parameters:
a – [inout] First value to be used in the atomic operation.
b – [in] Second value to be used.