cub::StoreDirectStriped
Defined in cub/block/block_store.cuh
-
template<int BLOCK_THREADS, typename T, int ITEMS_PER_THREAD, typename OutputIteratorT>
void cub::StoreDirectStriped(int linear_tid, OutputIteratorT block_itr, T (&items)[ITEMS_PER_THREAD], int valid_items) Store a striped arrangement of data across the thread block into a linear segment of items, guarded by range
Assumes a striped arrangement of (block-threads * items-per-thread) items across the thread block, where threadi owns items (i), (i + block-threads), …, (i + (block-threads * (items-per-thread - 1))). For multi-dimensional thread blocks, a row-major thread ordering is assumed.
- Template Parameters
BLOCK_THREADS – The thread block size in threads
T – [inferred] The data type to store.
ITEMS_PER_THREAD – [inferred] The number of consecutive items partitioned onto each thread.
OutputIteratorT – [inferred] The random-access iterator type for output (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_tid
for 2D thread blocks)block_itr – [in] The thread block’s base output iterator for storing to
items – [in] Data to store
valid_items – [in] Number of valid items to write