40 #include "dispatch/dispatch_rle.cuh"
41 #include "dispatch/dispatch_reduce_by_key.cuh"
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,
152 UniqueOutputIteratorT d_unique_out,
153 LengthsOutputIteratorT d_counts_out,
154 NumRunsOutputIteratorT d_num_runs_out,
156 cudaStream_t stream = 0,
157 bool debug_synchronous =
false)
160 typedef typename std::iterator_traits<LengthsOutputIteratorT>::value_type Value;
163 typedef NullType* FlagIterator;
164 typedef NullType SelectOp;
174 return DispatchReduceByKey<InputIteratorT, UniqueOutputIteratorT, LengthsInputIteratorT, LengthsOutputIteratorT, NumRunsOutputIteratorT, EqualityOp, ReductionOp, OffsetT>::Dispatch(
179 LengthsInputIteratorT(one_val),
240 typename InputIteratorT,
241 typename OffsetsOutputIteratorT,
242 typename LengthsOutputIteratorT,
243 typename NumRunsOutputIteratorT>
244 CUB_RUNTIME_FUNCTION __forceinline__
246 void* d_temp_storage,
247 size_t &temp_storage_bytes,
249 OffsetsOutputIteratorT d_offsets_out,
250 LengthsOutputIteratorT d_lengths_out,
251 NumRunsOutputIteratorT d_num_runs_out,
253 cudaStream_t stream = 0,
254 bool debug_synchronous =
false)
259 return DeviceRleDispatch<InputIteratorT, OffsetsOutputIteratorT, LengthsOutputIteratorT, NumRunsOutputIteratorT, EqualityOp, OffsetT>::Dispatch(