40 #include "dispatch/dispatch_rle.cuh"
41 #include "dispatch/dispatch_reduce_by_key.cuh"
42 #include "../util_namespace.cuh"
144 typename InputIteratorT,
145 typename UniqueOutputIteratorT,
146 typename LengthsOutputIteratorT,
147 typename NumRunsOutputIteratorT>
148 CUB_RUNTIME_FUNCTION __forceinline__
150 void* d_temp_storage,
151 size_t &temp_storage_bytes,
153 UniqueOutputIteratorT d_unique_out,
154 LengthsOutputIteratorT d_counts_out,
155 NumRunsOutputIteratorT d_num_runs_out,
157 cudaStream_t stream = 0,
158 bool debug_synchronous =
false)
161 typedef typename std::iterator_traits<LengthsOutputIteratorT>::value_type Value;
175 return DispatchReduceByKey<InputIteratorT, UniqueOutputIteratorT, LengthsInputIteratorT, LengthsOutputIteratorT, NumRunsOutputIteratorT, EqualityOp, ReductionOp, OffsetT>::Dispatch(
180 LengthsInputIteratorT(one_val),
242 typename InputIteratorT,
243 typename OffsetsOutputIteratorT,
244 typename LengthsOutputIteratorT,
245 typename NumRunsOutputIteratorT>
246 CUB_RUNTIME_FUNCTION __forceinline__
248 void* d_temp_storage,
249 size_t &temp_storage_bytes,
251 OffsetsOutputIteratorT d_offsets_out,
252 LengthsOutputIteratorT d_lengths_out,
253 NumRunsOutputIteratorT d_num_runs_out,
255 cudaStream_t stream = 0,
256 bool debug_synchronous =
false)
261 return DeviceRleDispatch<InputIteratorT, OffsetsOutputIteratorT, LengthsOutputIteratorT, NumRunsOutputIteratorT, EqualityOp, OffsetT>::Dispatch(