|
template<typename R , typename I , typename F > |
AMREX_GPU_DEVICE AMREX_FORCE_INLINE R | amrex::Gpu::Atomic::detail::atomic_op (R *const address, R const val, F const f) noexcept |
|
template<typename R , typename I , typename Op , typename Cond > |
AMREX_GPU_DEVICE AMREX_FORCE_INLINE bool | amrex::Gpu::Atomic::detail::atomic_op_if (R *const address, R const val, Op &&op, Cond &&cond) noexcept |
|
template<class T > |
AMREX_GPU_DEVICE AMREX_FORCE_INLINE T | amrex::Gpu::Atomic::Add_device (T *const sum, T const value) noexcept |
|
AMREX_GPU_DEVICE AMREX_FORCE_INLINE Long | amrex::Gpu::Atomic::Add_device (Long *const sum, Long const value) noexcept |
|
template<class T > |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE T | amrex::Gpu::Atomic::Add (T *sum, T value) noexcept |
|
template<typename T , typename Op , typename Cond , std::enable_if_t< sizeof(T)==sizeof(unsigned int), int > foo = 0> |
AMREX_GPU_DEVICE AMREX_FORCE_INLINE bool | amrex::Gpu::Atomic::If_device (T *const sum, T const value, Op &&op, Cond &&cond) noexcept |
|
template<class T , class Op , class Cond > |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool | amrex::Gpu::Atomic::If (T *const add, T const value, Op &&op, Cond &&cond) noexcept |
| Conditionally perform an atomic operation. More...
|
|
template<class T > |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | amrex::Gpu::Atomic::AddNoRet (T *sum, T value) noexcept |
|
template<class T > |
AMREX_GPU_DEVICE AMREX_FORCE_INLINE T | amrex::Gpu::Atomic::Min_device (T *const m, T const value) noexcept |
|
AMREX_GPU_DEVICE AMREX_FORCE_INLINE float | amrex::Gpu::Atomic::Min_device (float *const m, float const value) noexcept |
|
AMREX_GPU_DEVICE AMREX_FORCE_INLINE double | amrex::Gpu::Atomic::Min_device (double *const m, double const value) noexcept |
|
AMREX_GPU_DEVICE AMREX_FORCE_INLINE Long | amrex::Gpu::Atomic::Min_device (Long *const m, Long const value) noexcept |
|
template<class T > |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE T | amrex::Gpu::Atomic::Min (T *const m, T const value) noexcept |
|
template<class T > |
AMREX_GPU_DEVICE AMREX_FORCE_INLINE T | amrex::Gpu::Atomic::Max_device (T *const m, T const value) noexcept |
|
AMREX_GPU_DEVICE AMREX_FORCE_INLINE float | amrex::Gpu::Atomic::Max_device (float *const m, float const value) noexcept |
|
AMREX_GPU_DEVICE AMREX_FORCE_INLINE double | amrex::Gpu::Atomic::Max_device (double *const m, double const value) noexcept |
|
AMREX_GPU_DEVICE AMREX_FORCE_INLINE Long | amrex::Gpu::Atomic::Max_device (Long *const m, Long const value) noexcept |
|
template<class T > |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE T | amrex::Gpu::Atomic::Max (T *const m, T const value) noexcept |
|
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE int | amrex::Gpu::Atomic::LogicalOr (int *const m, int const value) noexcept |
|
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE int | amrex::Gpu::Atomic::LogicalAnd (int *const m, int const value) noexcept |
|
template<typename T > |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE T | amrex::Gpu::Atomic::Exch (T *address, T val) noexcept |
|
template<typename T > |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE T | amrex::Gpu::Atomic::CAS (T *const address, T compare, T const val) noexcept |
|
template<typename T , std::enable_if_t< sizeof(T)==sizeof(int), int > = 0> |
AMREX_GPU_DEVICE AMREX_FORCE_INLINE T | amrex::Gpu::Atomic::Multiply_device (T *const prod, T const value) noexcept |
|
template<class T > |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE T | amrex::Gpu::Atomic::Multiply (T *const prod, T const value) noexcept |
|
template<typename T , std::enable_if_t< sizeof(T)==sizeof(int), int > = 0> |
AMREX_GPU_DEVICE AMREX_FORCE_INLINE T | amrex::Gpu::Atomic::Divide_device (T *const quot, T const value) noexcept |
|
template<class T > |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE T | amrex::Gpu::Atomic::Divide (T *const quot, T const value) noexcept |
|
template<class T > |
AMREX_FORCE_INLINE void | amrex::HostDevice::Atomic::Add_Host (T *const sum, T const value) noexcept |
|
template<class T > |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | amrex::HostDevice::Atomic::Add (T *const sum, T const value) noexcept |
|