42#include "../util_namespace.cuh"
143 typename InputIteratorT,
144 typename UniqueOutputIteratorT,
145 typename LengthsOutputIteratorT,
146 typename NumRunsOutputIteratorT>
147 CUB_RUNTIME_FUNCTION __forceinline__
149 void* d_temp_storage,
150 size_t &temp_storage_bytes,
153 LengthsOutputIteratorT d_counts_out,
156 cudaStream_t stream = 0,
157 bool debug_synchronous =
false)
168 typename std::iterator_traits<LengthsOutputIteratorT>::value_type>::Type LengthT;
178 LengthsInputIteratorT((LengthT) 1),
239 typename InputIteratorT,
240 typename OffsetsOutputIteratorT,
241 typename LengthsOutputIteratorT,
242 typename NumRunsOutputIteratorT>
243 CUB_RUNTIME_FUNCTION __forceinline__
245 void* d_temp_storage,
246 size_t &temp_storage_bytes,
252 cudaStream_t stream = 0,
253 bool debug_synchronous =
false)
Optional outer namespace(s)
OffsetsOutputIteratorT d_offsets_out
< [in] Pointer to input sequence of data items
UniqueOutputIteratorT d_unique_out
< Pointer to the input sequence of keys
UniqueOutputIteratorT ValuesInputIteratorT AggregatesOutputIteratorT NumRunsOutputIteratorT d_num_runs_out
Pointer to total number of runs encountered (i.e., the length of d_unique_out)
KeyT const ValueT ValueT OffsetT OffsetT num_items
[in] Total number of input data items
OffsetsOutputIteratorT LengthsOutputIteratorT d_lengths_out
[out] Pointer to output sequence of run-lengths
OffsetT OffsetT
[in] Total number of input data items
CUB_RUNTIME_FUNCTION static __forceinline__ cudaError_t Dispatch(void *d_temp_storage, size_t &temp_storage_bytes, InputIteratorT d_in, OffsetsOutputIteratorT d_offsets_out, LengthsOutputIteratorT d_lengths_out, NumRunsOutputIteratorT d_num_runs_out, EqualityOpT equality_op, OffsetT num_items, cudaStream_t stream, bool debug_synchronous, int ptx_version, DeviceScanInitKernelPtr device_scan_init_kernel, DeviceRleSweepKernelPtr device_rle_sweep_kernel, KernelConfig device_rle_config)
< Function type of cub::DeviceRleSweepKernelPtr
DeviceRunLengthEncode provides device-wide, parallel operations for demarcating "runs" of same-valued...
CUB_RUNTIME_FUNCTION static __forceinline__ cudaError_t NonTrivialRuns(void *d_temp_storage, size_t &temp_storage_bytes, InputIteratorT d_in, OffsetsOutputIteratorT d_offsets_out, LengthsOutputIteratorT d_lengths_out, NumRunsOutputIteratorT d_num_runs_out, int num_items, cudaStream_t stream=0, bool debug_synchronous=false)
Enumerates the starting offsets and lengths of all non-trivial runs (of length > 1) of same-valued ke...
CUB_RUNTIME_FUNCTION static __forceinline__ cudaError_t Encode(void *d_temp_storage, size_t &temp_storage_bytes, InputIteratorT d_in, UniqueOutputIteratorT d_unique_out, LengthsOutputIteratorT d_counts_out, NumRunsOutputIteratorT d_num_runs_out, int num_items, cudaStream_t stream=0, bool debug_synchronous=false)
Computes a run-length encoding of the sequence d_in.
CUB_RUNTIME_FUNCTION static __forceinline__ cudaError_t Dispatch(void *d_temp_storage, size_t &temp_storage_bytes, KeysInputIteratorT d_keys_in, UniqueOutputIteratorT d_unique_out, ValuesInputIteratorT d_values_in, AggregatesOutputIteratorT d_aggregates_out, NumRunsOutputIteratorT d_num_runs_out, EqualityOpT equality_op, ReductionOpT reduction_op, OffsetT num_items, cudaStream_t stream, bool debug_synchronous, int, ScanInitKernelT init_kernel, ReduceByKeyKernelT reduce_by_key_kernel, KernelConfig reduce_by_key_config)
< Function type of cub::DeviceReduceByKeyKernelT
Default equality functor.
Type selection (IF ? ThenType : ElseType)
A simple "NULL" marker type.