|
| template<class BinaryFunction > |
| ROCPRIM_DEVICE ROCPRIM_INLINE void | reduce (T input, T &output, storage_type &storage, BinaryFunction reduce_op) |
| | Computes a thread block-wide reduction using specified reduction operator. More...
|
| |
| template<class BinaryFunction > |
| ROCPRIM_DEVICE ROCPRIM_FORCE_INLINE void | reduce (T input, T &output, BinaryFunction reduce_op) |
| | Computes a thread block-wide reduction using specified reduction operator. More...
|
| |
| template<unsigned int ItemsPerThread, class BinaryFunction > |
| ROCPRIM_DEVICE ROCPRIM_INLINE void | reduce (T(&input)[ItemsPerThread], T &output, storage_type &storage, BinaryFunction reduce_op) |
| | Computes a thread block-wide reduction using specified reduction operator. More...
|
| |
| template<unsigned int ItemsPerThread, class BinaryFunction > |
| ROCPRIM_DEVICE ROCPRIM_FORCE_INLINE void | reduce (T(&input)[ItemsPerThread], T &output, BinaryFunction reduce_op) |
| | Computes a thread block-wide reduction using specified reduction operator. More...
|
| |
| template<class BinaryFunction > |
| ROCPRIM_DEVICE ROCPRIM_INLINE void | reduce (T input, T &output, unsigned int valid_items, storage_type &storage, BinaryFunction reduce_op) |
| | Computes a thread block-wide reduction using specified reduction operator. More...
|
| |
| template<class BinaryFunction > |
| ROCPRIM_DEVICE ROCPRIM_FORCE_INLINE void | reduce (T input, T &output, unsigned int valid_items, BinaryFunction reduce_op) |
| | Computes a thread block-wide reduction using specified reduction operator. More...
|
| |
template<class T , unsigned int BlockSizeX, unsigned int BlockSizeY, unsigned int BlockSizeZ, bool CommutativeOnly = false>
template<class BinaryFunction >
Computes a thread block-wide reduction using specified reduction operator.
The return value is only valid for thread0.
- Parameters
-
| input | [in] Calling thread's input to be reduced |
| output | [out] Variable containing reduction output |
| storage | [in] Temporary Storage used for the Reduction |
| reduce_op | [in] Binary reduction operator |
template<class T , unsigned int BlockSizeX, unsigned int BlockSizeY, unsigned int BlockSizeZ, bool CommutativeOnly = false>
template<class BinaryFunction >
Computes a thread block-wide reduction using specified reduction operator.
The return value is only valid for thread0.
- Parameters
-
| input | [in] Calling thread's input to be reduced |
| output | [out] Variable containing reduction output |
| reduce_op | [in] Binary reduction operator |
template<class T , unsigned int BlockSizeX, unsigned int BlockSizeY, unsigned int BlockSizeZ, bool CommutativeOnly = false>
template<unsigned int ItemsPerThread, class BinaryFunction >
Computes a thread block-wide reduction using specified reduction operator.
The return value is only valid for thread0.
- Parameters
-
| input | [in] Calling thread's input array to be reduced |
| output | [out] Variable containing reduction output |
| storage | [in] Temporary Storage used for the Reduction |
| reduce_op | [in] Binary reduction operator |
template<class T , unsigned int BlockSizeX, unsigned int BlockSizeY, unsigned int BlockSizeZ, bool CommutativeOnly = false>
template<unsigned int ItemsPerThread, class BinaryFunction >
| ROCPRIM_DEVICE ROCPRIM_FORCE_INLINE void detail::block_reduce_raking_reduce< T, BlockSizeX, BlockSizeY, BlockSizeZ, CommutativeOnly >::reduce |
( |
T(&) |
input[ItemsPerThread], |
|
|
T & |
output, |
|
|
BinaryFunction |
reduce_op |
|
) |
| |
|
inline |
Computes a thread block-wide reduction using specified reduction operator.
The return value is only valid for thread0.
- Parameters
-
| input | [in] Calling thread's input array to be reduced |
| output | [out] Variable containing reduction output |
| reduce_op | [in] Binary reduction operator |
template<class T , unsigned int BlockSizeX, unsigned int BlockSizeY, unsigned int BlockSizeZ, bool CommutativeOnly = false>
template<class BinaryFunction >
Computes a thread block-wide reduction using specified reduction operator.
The return value is only valid for thread0.
- Parameters
-
| input | [in] Calling thread's input partial reductions |
| output | [out] Variable containing reduction output |
| valid_items | [in] Number of valid elements (should be equal to or less than BlockSize) |
| storage | [in] Temporary Storage used for reduction |
| reduce_op | [in] Binary reduction operator |
template<class T , unsigned int BlockSizeX, unsigned int BlockSizeY, unsigned int BlockSizeZ, bool CommutativeOnly = false>
template<class BinaryFunction >
| ROCPRIM_DEVICE ROCPRIM_FORCE_INLINE void detail::block_reduce_raking_reduce< T, BlockSizeX, BlockSizeY, BlockSizeZ, CommutativeOnly >::reduce |
( |
T |
input, |
|
|
T & |
output, |
|
|
unsigned int |
valid_items, |
|
|
BinaryFunction |
reduce_op |
|
) |
| |
|
inline |
Computes a thread block-wide reduction using specified reduction operator.
The return value is only valid for thread0.
- Parameters
-
| input | [in] Calling thread's input partial reductions |
| output | [out] Variable containing reduction output |
| valid_items | [in] Number of valid elements (should be equal to or less than BlockSize) |
| reduce_op | [in] Binary reduction operator |