41#include "../util_namespace.cuh"
128 typename InputIteratorT,
129 typename FlagIterator,
130 typename OutputIteratorT,
131 typename NumSelectedIteratorT>
132 CUB_RUNTIME_FUNCTION __forceinline__
134 void* d_temp_storage,
135 size_t &temp_storage_bytes,
138 OutputIteratorT
d_out,
141 cudaStream_t stream = 0,
142 bool debug_synchronous =
false)
234 typename InputIteratorT,
235 typename OutputIteratorT,
236 typename NumSelectedIteratorT,
238 CUB_RUNTIME_FUNCTION __forceinline__
239 static cudaError_t
If(
240 void* d_temp_storage,
241 size_t &temp_storage_bytes,
243 OutputIteratorT
d_out,
247 cudaStream_t stream = 0,
248 bool debug_synchronous =
false)
325 typename InputIteratorT,
326 typename OutputIteratorT,
327 typename NumSelectedIteratorT>
328 CUB_RUNTIME_FUNCTION __forceinline__
330 void* d_temp_storage,
331 size_t &temp_storage_bytes,
333 OutputIteratorT
d_out,
336 cudaStream_t stream = 0,
337 bool debug_synchronous =
false)
Optional outer namespace(s)
FlagsInputIteratorT SelectedOutputIteratorT NumSelectedIteratorT ScanTileStateT SelectOpT select_op
[in] Selection operator
KeyT const ValueT ValueT OffsetT OffsetT num_items
[in] Total number of input data items
FlagsInputIteratorT SelectedOutputIteratorT NumSelectedIteratorT d_num_selected_out
[out] Pointer to the total number of items selected (i.e., length of d_selected_out)
FlagsInputIteratorT d_flags
< [in] Pointer to the input sequence of data items
OffsetT OffsetT
[in] Total number of input data items
OutputIteratorT d_out
< [in] Pointer to the input sequence of data items
DeviceSelect provides device-wide, parallel operations for compacting selected items from sequences o...
CUB_RUNTIME_FUNCTION static __forceinline__ cudaError_t Unique(void *d_temp_storage, size_t &temp_storage_bytes, InputIteratorT d_in, OutputIteratorT d_out, NumSelectedIteratorT d_num_selected_out, int num_items, cudaStream_t stream=0, bool debug_synchronous=false)
Given an input sequence d_in having runs of consecutive equal-valued keys, only the first key from ea...
CUB_RUNTIME_FUNCTION static __forceinline__ cudaError_t If(void *d_temp_storage, size_t &temp_storage_bytes, InputIteratorT d_in, OutputIteratorT d_out, NumSelectedIteratorT d_num_selected_out, int num_items, SelectOp select_op, cudaStream_t stream=0, bool debug_synchronous=false)
Uses the select_op functor to selectively copy items from d_in into d_out. The total number of items ...
CUB_RUNTIME_FUNCTION static __forceinline__ cudaError_t Flagged(void *d_temp_storage, size_t &temp_storage_bytes, InputIteratorT d_in, FlagIterator d_flags, OutputIteratorT d_out, NumSelectedIteratorT d_num_selected_out, int num_items, cudaStream_t stream=0, bool debug_synchronous=false)
Uses the d_flags sequence to selectively copy the corresponding items from d_in into d_out....
CUB_RUNTIME_FUNCTION static __forceinline__ cudaError_t Dispatch(void *d_temp_storage, size_t &temp_storage_bytes, InputIteratorT d_in, FlagsInputIteratorT d_flags, SelectedOutputIteratorT d_selected_out, NumSelectedIteratorT d_num_selected_out, SelectOpT select_op, EqualityOpT equality_op, OffsetT num_items, cudaStream_t stream, bool debug_synchronous, int, ScanInitKernelPtrT scan_init_kernel, SelectIfKernelPtrT select_if_kernel, KernelConfig select_if_config)
< Function type of cub::SelectIfKernelPtrT
Default equality functor.
A simple "NULL" marker type.