Template Class WarpReduce

Inheritance Relationships

Base Type

  • private rocprim::warp_reduce< T, LOGICAL_WARP_THREADS >

Class Documentation

template<typename T, int LOGICAL_WARP_THREADS = ::rocprim::device_warp_size(), int ARCH = 1>
class hipcub::WarpReduce : private rocprim::warp_reduce<T, LOGICAL_WARP_THREADS>

Public Types

using TempStorage = typename base_type::storage_type

Public Functions

__device__ inline WarpReduce(TempStorage &temp_storage)
__device__ inline T Sum(T input)
__device__ inline T Sum(T input, int valid_items)
template<typename FlagT>
__device__ inline T HeadSegmentedSum(T input, FlagT head_flag)
template<typename FlagT>
__device__ inline T TailSegmentedSum(T input, FlagT tail_flag)
template<typename ReduceOp>
__device__ inline T Reduce(T input, ReduceOp reduce_op)
template<typename ReduceOp>
__device__ inline T Reduce(T input, ReduceOp reduce_op, int valid_items)
template<typename ReduceOp, typename FlagT>
__device__ inline T HeadSegmentedReduce(T input, FlagT head_flag, ReduceOp reduce_op)
template<typename ReduceOp, typename FlagT>
__device__ inline T TailSegmentedReduce(T input, FlagT tail_flag, ReduceOp reduce_op)