Template Class WarpScan

Inheritance Relationships

Base Type

  • private rocprim::warp_scan< T, LOGICAL_WARP_THREADS >

Class Documentation

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

Public Types

using TempStorage = typename base_type::storage_type

Public Functions

__device__ inline WarpScan(TempStorage &temp_storage)
__device__ inline void InclusiveSum(T input, T &inclusive_output)
__device__ inline void InclusiveSum(T input, T &inclusive_output, T &warp_aggregate)
__device__ inline void ExclusiveSum(T input, T &exclusive_output)
__device__ inline void ExclusiveSum(T input, T &exclusive_output, T &warp_aggregate)
template<typename ScanOp>
__device__ inline void InclusiveScan(T input, T &inclusive_output, ScanOp scan_op)
template<typename ScanOp>
__device__ inline void InclusiveScan(T input, T &inclusive_output, ScanOp scan_op, T &warp_aggregate)
template<typename ScanOp>
__device__ inline void ExclusiveScan(T input, T &exclusive_output, ScanOp scan_op)
template<typename ScanOp>
__device__ inline void ExclusiveScan(T input, T &exclusive_output, T initial_value, ScanOp scan_op)
template<typename ScanOp>
__device__ inline void ExclusiveScan(T input, T &exclusive_output, ScanOp scan_op, T &warp_aggregate)
template<typename ScanOp>
__device__ inline void ExclusiveScan(T input, T &exclusive_output, T initial_value, ScanOp scan_op, T &warp_aggregate)
template<typename ScanOp>
__device__ inline void Scan(T input, T &inclusive_output, T &exclusive_output, ScanOp scan_op)
template<typename ScanOp>
__device__ inline void Scan(T input, T &inclusive_output, T &exclusive_output, T initial_value, ScanOp scan_op)
__device__ inline T Broadcast(T input, unsigned int src_lane)