cub::ThreadStore

Defined in /home/runner/work/cccl/cccl/cub/cub/thread/thread_store.cuh

template<CacheStoreModifier MODIFIER, typename OutputIteratorT, typename T>
void cub::ThreadStore(OutputIteratorT itr, T val)

Thread utility for writing memory using cub::CacheStoreModifier cache modifiers.

Can be used to store any data type.

Example

#include <cub/cub.cuh>   // or equivalently <cub/thread/thread_store.cuh>

// 32-bit store using cache-global modifier:
int *d_out;
int val;
cub::ThreadStore<cub::STORE_CG>(d_out + threadIdx.x, val);

// 16-bit store using default modifier
short *d_out;
short val;
cub::ThreadStore<cub::STORE_DEFAULT>(d_out + threadIdx.x, val);

// 256-bit store using write-through modifier
double4 *d_out;
double4 val;
cub::ThreadStore<cub::STORE_WT>(d_out + threadIdx.x, val);

// 96-bit store using cache-streaming cache modifier
struct TestFoo { bool a; short b; };
TestFoo *d_struct;
TestFoo val;
cub::ThreadStore<cub::STORE_CS>(d_out + threadIdx.x, val);

Template Parameters
  • MODIFIER[inferred] CacheStoreModifier enumeration

  • InputIteratorT[inferred] Output iterator type (may be a simple pointer type)

  • T[inferred] Data type of output value