41#include "../util_namespace.cuh"
146 typename InputIteratorT,
147 typename OutputIteratorT>
150 void *d_temp_storage,
151 size_t &temp_storage_bytes,
153 OutputIteratorT
d_out,
155 cudaStream_t stream = 0,
156 bool debug_synchronous =
false)
163 typename std::iterator_traits<InputIteratorT>::value_type,
164 typename std::iterator_traits<OutputIteratorT>::value_type>::Type OutputT;
238 typename InputIteratorT,
239 typename OutputIteratorT,
244 void *d_temp_storage,
245 size_t &temp_storage_bytes,
247 OutputIteratorT
d_out,
251 cudaStream_t stream = 0,
252 bool debug_synchronous =
false)
320 typename InputIteratorT,
321 typename OutputIteratorT>
324 void* d_temp_storage,
325 size_t& temp_storage_bytes,
327 OutputIteratorT
d_out,
329 cudaStream_t stream = 0,
330 bool debug_synchronous =
false)
403 typename InputIteratorT,
404 typename OutputIteratorT,
408 void *d_temp_storage,
409 size_t &temp_storage_bytes,
411 OutputIteratorT
d_out,
414 cudaStream_t stream = 0,
415 bool debug_synchronous =
false)
Optional outer namespace(s)
KeyT const ValueT ValueT OffsetT OffsetT num_items
[in] Total number of input data items
OutputIteratorT ScanTileStateT int ScanOpT InitValueT init_value
Initial value to seed the exclusive scan.
OffsetT OffsetT
[in] Total number of input data items
OutputIteratorT ScanTileStateT int ScanOpT scan_op
Binary scan functor.
OutputIteratorT d_out
< [in] Pointer to the input sequence of data items
DeviceScan provides device-wide, parallel operations for computing a prefix scan across a sequence of...
static CUB_RUNTIME_FUNCTION cudaError_t ExclusiveSum(void *d_temp_storage, size_t &temp_storage_bytes, InputIteratorT d_in, OutputIteratorT d_out, int num_items, cudaStream_t stream=0, bool debug_synchronous=false)
Computes a device-wide exclusive prefix sum. The value of 0 is applied as the initial value,...
static CUB_RUNTIME_FUNCTION cudaError_t InclusiveScan(void *d_temp_storage, size_t &temp_storage_bytes, InputIteratorT d_in, OutputIteratorT d_out, ScanOpT scan_op, int num_items, cudaStream_t stream=0, bool debug_synchronous=false)
Computes a device-wide inclusive prefix scan using the specified binary scan_op functor.
static CUB_RUNTIME_FUNCTION cudaError_t ExclusiveScan(void *d_temp_storage, size_t &temp_storage_bytes, InputIteratorT d_in, OutputIteratorT d_out, ScanOpT scan_op, InitValueT init_value, int num_items, cudaStream_t stream=0, bool debug_synchronous=false)
Computes a device-wide exclusive prefix scan using the specified binary scan_op functor....
static CUB_RUNTIME_FUNCTION cudaError_t InclusiveSum(void *d_temp_storage, size_t &temp_storage_bytes, InputIteratorT d_in, OutputIteratorT d_out, int num_items, cudaStream_t stream=0, bool debug_synchronous=false)
Computes a device-wide inclusive prefix sum.
CUB_RUNTIME_FUNCTION static __forceinline__ cudaError_t Dispatch(void *d_temp_storage, size_t &temp_storage_bytes, InputIteratorT d_in, OutputIteratorT d_out, ScanOpT scan_op, InitValueT init_value, OffsetT num_items, cudaStream_t stream, bool debug_synchronous, int, ScanInitKernelPtrT init_kernel, ScanSweepKernelPtrT scan_kernel, KernelConfig scan_kernel_config)
< Function type of cub::DeviceScanKernelPtrT
Type selection (IF ? ThenType : ElseType)
A simple "NULL" marker type.