|
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 |