CUB
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Classes | Namespaces | Enumerations
block_store.cuh File Reference
#include <iterator>
#include "../ns_wrapper.cuh"
#include "../macro_utils.cuh"
#include "../thread/thread_store.cuh"
#include "../type_utils.cuh"
#include "../vector_type.cuh"
#include "block_exchange.cuh"

Classes

class  cub::BlockStore< OutputIterator, BLOCK_THREADS, ITEMS_PER_THREAD, POLICY, MODIFIER >
 BlockStore provides data movement operations for writing blocked-arranged data to global memory.

block_store_logo.png
.
More...
 

Namespaces

namespace  cub
 CUB namespace.
 

Enumerations

enum  cub::BlockStorePolicy { cub::BLOCK_STORE_DIRECT, cub::BLOCK_STORE_VECTORIZE, cub::BLOCK_STORE_TRANSPOSE }
 Tuning policy for cub::BlockStore. More...
 

Functions

Direct threadblock stores (blocked arrangement)
template<PtxStoreModifier MODIFIER, typename T , int ITEMS_PER_THREAD, typename OutputIterator >
__device__ __forceinline__ void cub::BlockStoreDirect (OutputIterator block_itr, T(&items)[ITEMS_PER_THREAD])
 Store a tile of items across a threadblock directly using the specified cache modifier. More...
 
template<typename T , int ITEMS_PER_THREAD, typename OutputIterator >
__device__ __forceinline__ void cub::BlockStoreDirect (OutputIterator block_itr, T(&items)[ITEMS_PER_THREAD])
 Store a tile of items across a threadblock directly. More...
 
template<PtxStoreModifier MODIFIER, typename T , int ITEMS_PER_THREAD, typename OutputIterator , typename SizeT >
__device__ __forceinline__ void cub::BlockStoreDirect (OutputIterator block_itr, const SizeT &guarded_items, T(&items)[ITEMS_PER_THREAD])
 Store a tile of items across a threadblock directly using the specified cache modifier, guarded by range. More...
 
template<typename T , int ITEMS_PER_THREAD, typename OutputIterator , typename SizeT >
__device__ __forceinline__ void cub::BlockStoreDirect (OutputIterator block_itr, const SizeT &guarded_items, T(&items)[ITEMS_PER_THREAD])
 Store a tile of items across a threadblock directly, guarded by range. More...
 
Direct threadblock stores (striped arrangement)
template<PtxStoreModifier MODIFIER, typename T , int ITEMS_PER_THREAD, typename OutputIterator >
__device__ __forceinline__ void cub::BlockStoreDirectStriped (OutputIterator block_itr, T(&items)[ITEMS_PER_THREAD], int stride=blockDim.x)
 Store striped tile directly using the specified cache modifier. More...
 
template<typename T , int ITEMS_PER_THREAD, typename OutputIterator >
__device__ __forceinline__ void cub::BlockStoreDirectStriped (OutputIterator block_itr, T(&items)[ITEMS_PER_THREAD], int stride=blockDim.x)
 Store striped tile directly. More...
 
template<PtxStoreModifier MODIFIER, typename T , int ITEMS_PER_THREAD, typename OutputIterator , typename SizeT >
__device__ __forceinline__ void cub::BlockStoreDirectStriped (OutputIterator block_itr, const SizeT &guarded_items, T(&items)[ITEMS_PER_THREAD], int stride=blockDim.x)
 
template<typename T , int ITEMS_PER_THREAD, typename OutputIterator , typename SizeT >
__device__ __forceinline__ void cub::BlockStoreDirectStriped (OutputIterator block_itr, const SizeT &guarded_items, T(&items)[ITEMS_PER_THREAD], int stride=blockDim.x)
 Store striped tile directly, guarded by range. More...
 
Threadblock vectorized stores (blocked arrangement)
template<PtxStoreModifier MODIFIER, typename T , int ITEMS_PER_THREAD>
__device__ __forceinline__ void cub::BlockStoreVectorized (T *block_ptr, T(&items)[ITEMS_PER_THREAD])
 Store a tile of items across a threadblock directly using the specified cache modifier. More...
 
template<typename T , int ITEMS_PER_THREAD>
__device__ __forceinline__ void cub::BlockStoreVectorized (T *block_ptr, T(&items)[ITEMS_PER_THREAD])
 Store a tile of items across a threadblock directly. More...
 

Detailed Description

Operations for writing global tiles of data from the threadblock (in blocked arrangement across threads).