Class for value assembly using warp-based partial summation to reduce conflict occurences in downstream atomic addition. More...
#include <cs_math_hip.h>
Collaboration diagram for assembled_value< T,... >:Public Types | |
| using | inner_type = T |
Public Member Functions | |
| assembled_value () noexcept=default | |
| __device__ | assembled_value (T val) noexcept |
| __device__ void | add (const assembled_value &restrict other) restrict noexcept |
| __device__ void | atomic_add (const assembled_value &restrict other) restrict noexcept |
| __device__ assembled_value | exchange (const assembled_value &restrict other) restrict noexcept |
| __device__ assembled_value | atomic_exchange (const assembled_value &restrict other) restrict noexcept |
| __device__ assembled_value | shuffle (cs_hip_mask_t mask, unsigned laneid) const noexcept |
| __device__ cs_hip_mask_t | conflict_mask (cs_hip_mask_t mask) const noexcept |
| __device__ bool | reduce_add (cs_hip_mask_t mask, cs_hip_mask_t peers) noexcept |
| __device__ void | conflict_free_add (cs_hip_mask_t mask, assembled_value other) noexcept |
| __device__ inner_type & | operator* () noexcept |
| __device__ inner_type const & | operator* () const noexcept |
| __device__ inner_type * | operator-> () noexcept |
| __device__ inner_type const * | operator-> () const noexcept |
| __device__ inner_type & | get () noexcept |
| __device__ inner_type const & | get () const noexcept |
Static Public Member Functions | |
| static __device__ assembled_value & | ref (inner_type &r) noexcept |
| static __device__ assembled_value const & | ref (inner_type const &r) noexcept |
Class for value assembly using warp-based partial summation to reduce conflict occurences in downstream atomic addition.
| using inner_type = T |
|
defaultnoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinenoexcept |