Template Class BlockScan¶
Defined in File block_scan.hpp
Inheritance Relationships¶
Base Type¶
private rocprim::block_scan< T, BLOCK_DIM_X, static_cast<::rocprim::block_scan_algorithm >(ALGORITHM), BLOCK_DIM_Y, BLOCK_DIM_Z >
Class Documentation¶
-
template<typename T, int BLOCK_DIM_X, BlockScanAlgorithm ALGORITHM = BLOCK_SCAN_RAKING, int BLOCK_DIM_Y = 1, int BLOCK_DIM_Z = 1, int ARCH = HIPCUB_ARCH>
class hipcub::BlockScan : private rocprim::block_scan<T, BLOCK_DIM_X, static_cast<::rocprim::block_scan_algorithm>(ALGORITHM), BLOCK_DIM_Y, BLOCK_DIM_Z>¶ Public Types
-
using TempStorage = typename base_type::storage_type¶
Public Functions
-
__device__ inline BlockScan()¶
-
__device__ inline BlockScan(TempStorage &temp_storage)¶
-
template<typename BlockPrefixCallbackOp>
__device__ inline void InclusiveSum(T input, T &output, BlockPrefixCallbackOp &block_prefix_callback_op)¶
-
template<int ITEMS_PER_THREAD>
__device__ inline void InclusiveSum(T (&input)[ITEMS_PER_THREAD], T (&output)[ITEMS_PER_THREAD])¶
-
template<int ITEMS_PER_THREAD>
__device__ inline void InclusiveSum(T (&input)[ITEMS_PER_THREAD], T (&output)[ITEMS_PER_THREAD], T &block_aggregate)¶
-
template<int ITEMS_PER_THREAD, typename BlockPrefixCallbackOp>
__device__ inline void InclusiveSum(T (&input)[ITEMS_PER_THREAD], T (&output)[ITEMS_PER_THREAD], BlockPrefixCallbackOp &block_prefix_callback_op)¶
-
template<typename ScanOp>
__device__ inline void InclusiveScan(T input, T &output, ScanOp scan_op, T &block_aggregate)¶
-
template<typename ScanOp, typename BlockPrefixCallbackOp>
__device__ inline void InclusiveScan(T input, T &output, ScanOp scan_op, BlockPrefixCallbackOp &block_prefix_callback_op)¶
-
template<int ITEMS_PER_THREAD, typename ScanOp>
__device__ inline void InclusiveScan(T (&input)[ITEMS_PER_THREAD], T (&output)[ITEMS_PER_THREAD], ScanOp scan_op)¶
-
template<int ITEMS_PER_THREAD, typename ScanOp>
__device__ inline void InclusiveScan(T (&input)[ITEMS_PER_THREAD], T (&output)[ITEMS_PER_THREAD], ScanOp scan_op, T &block_aggregate)¶
-
template<int ITEMS_PER_THREAD, typename ScanOp, typename BlockPrefixCallbackOp>
__device__ inline void InclusiveScan(T (&input)[ITEMS_PER_THREAD], T (&output)[ITEMS_PER_THREAD], ScanOp scan_op, BlockPrefixCallbackOp &block_prefix_callback_op)¶
-
template<typename BlockPrefixCallbackOp>
__device__ inline void ExclusiveSum(T input, T &output, BlockPrefixCallbackOp &block_prefix_callback_op)¶
-
template<int ITEMS_PER_THREAD>
__device__ inline void ExclusiveSum(T (&input)[ITEMS_PER_THREAD], T (&output)[ITEMS_PER_THREAD])¶
-
template<int ITEMS_PER_THREAD>
__device__ inline void ExclusiveSum(T (&input)[ITEMS_PER_THREAD], T (&output)[ITEMS_PER_THREAD], T &block_aggregate)¶
-
template<int ITEMS_PER_THREAD, typename BlockPrefixCallbackOp>
__device__ inline void ExclusiveSum(T (&input)[ITEMS_PER_THREAD], T (&output)[ITEMS_PER_THREAD], BlockPrefixCallbackOp &block_prefix_callback_op)¶
-
template<typename ScanOp>
__device__ inline void ExclusiveScan(T input, T &output, T initial_value, ScanOp scan_op)¶
-
template<typename ScanOp>
__device__ inline void ExclusiveScan(T input, T &output, T initial_value, ScanOp scan_op, T &block_aggregate)¶
-
template<typename ScanOp, typename BlockPrefixCallbackOp>
__device__ inline void ExclusiveScan(T input, T &output, ScanOp scan_op, BlockPrefixCallbackOp &block_prefix_callback_op)¶
-
template<int ITEMS_PER_THREAD, typename ScanOp>
__device__ inline void ExclusiveScan(T (&input)[ITEMS_PER_THREAD], T (&output)[ITEMS_PER_THREAD], T initial_value, ScanOp scan_op)¶
-
template<int ITEMS_PER_THREAD, typename ScanOp>
__device__ inline void ExclusiveScan(T (&input)[ITEMS_PER_THREAD], T (&output)[ITEMS_PER_THREAD], T initial_value, ScanOp scan_op, T &block_aggregate)¶
-
template<int ITEMS_PER_THREAD, typename ScanOp, typename BlockPrefixCallbackOp>
__device__ inline void ExclusiveScan(T (&input)[ITEMS_PER_THREAD], T (&output)[ITEMS_PER_THREAD], ScanOp scan_op, BlockPrefixCallbackOp &block_prefix_callback_op)¶
-
using TempStorage = typename base_type::storage_type¶