cub::LoadDirectWarpStriped#
Overloads#
LoadDirectWarpStriped(linear_tid, block_src_it, T(&dst_items)[ItemsPerThread])#
- 
template<typename T, int ItemsPerThread, typename RandomAccessIterator>
 void cub::LoadDirectWarpStriped(
- int linear_tid,
- RandomAccessIterator block_src_it,
- T (&dst_items)[ItemsPerThread],
- Load a linear segment of items into a warp-striped arrangement across the thread block. - Assumes a warp-striped arrangement of elements across threads, where warpi owns the ith range of (warp-threads * items-per-thread) contiguous items, and each thread owns items (i), (i + warp-threads), …, (i + (warp-threads * (items-per-thread - 1))). - Usage Considerations#- The number of threads in the thread block must be a multiple of the architecture’s warp size. - Template Parameters:
- T – inferred The data type to load. 
- ItemsPerThread – inferred The number of consecutive items partitioned onto each thread. 
- RandomAccessIterator – inferred The random-access iterator type for input iterator. 
 
- Parameters:
- linear_tid – [in] A suitable 1D thread-identifier for the calling thread (e.g., - (threadIdx.y * blockDim.x) + linear_tidfor 2D thread blocks)
- block_src_it – [in] The thread block’s base iterator for loading from 
- dst_items – [out] Destination to load data into 
 
 
LoadDirectWarpStriped(linear_tid, block_src_it, T(&dst_items)[ItemsPerThread], block_items_end)#
- 
template<typename T, int ItemsPerThread, typename RandomAccessIterator>
 void cub::LoadDirectWarpStriped(
- int linear_tid,
- RandomAccessIterator block_src_it,
- T (&dst_items)[ItemsPerThread],
- int block_items_end,
- Load a linear segment of items into a warp-striped arrangement across the thread block, guarded by range - Assumes a warp-striped arrangement of elements across threads, where warpi owns the ith range of (warp-threads * items-per-thread) contiguous items, and each thread owns items (i), (i + warp-threads), …, (i + (warp-threads * (items-per-thread - 1))). - Usage Considerations#- The number of threads in the thread block must be a multiple of the architecture’s warp size. - Template Parameters:
- T – inferred The data type to load. 
- ItemsPerThread – inferred The number of consecutive items partitioned onto each thread. 
- RandomAccessIterator – inferred The random-access iterator type for input (may be a simple pointer type). 
 
- Parameters:
- linear_tid – [in] A suitable 1D thread-identifier for the calling thread (e.g., - (threadIdx.y * blockDim.x) + linear_tidfor 2D thread blocks)
- block_src_it – [in] The thread block’s base iterator for loading from 
- dst_items – [out] Destination to load data into 
- block_items_end – [in] Number of valid items to load 
 
 
LoadDirectWarpStriped(linear_tid, block_src_it, T(&dst_items)[ItemsPerThread], block_items_end, oob_default)#
- 
template<typename T, typename DefaultT, int ItemsPerThread, typename RandomAccessIterator>
 void cub::LoadDirectWarpStriped(
- int linear_tid,
- RandomAccessIterator block_src_it,
- T (&dst_items)[ItemsPerThread],
- int block_items_end,
- DefaultT oob_default,
- Load a linear segment of items into a warp-striped arrangement across the thread block, guarded by range, with a fall-back assignment of out-of-bound elements. - Assumes a warp-striped arrangement of elements across threads, where warpi owns the ith range of (warp-threads * items-per-thread) contiguous items, and each thread owns items (i), (i + warp-threads), …, (i + (warp-threads * (items-per-thread - 1))). - Usage Considerations ++++++++++++++++++++ - The number of threads in the thread block must be a multiple of the architecture’s warp size. - Template Parameters:
- T – inferred The data type to load. 
- ItemsPerThread – inferred The number of consecutive items partitioned onto each thread. 
- RandomAccessIterator – inferred The random-access iterator type for input (may be a simple pointer type). 
 
- Parameters:
- linear_tid – [in] A suitable 1D thread-identifier for the calling thread (e.g., - (threadIdx.y * blockDim.x) + linear_tidfor 2D thread blocks)
- block_src_it – [in] The thread block’s base iterator for loading from 
- dst_items – [out] Destination to load data into 
- block_items_end – [in] Number of valid items to load 
- oob_default – [in] Default value to assign out-of-bound items