14 #include <type_traits>
22 template<std::
size_t TDataAlignBytes = core::vectorization::defaultAlignment>
33 template<
typename T, std::
size_t TDataAlignBytes, std::
size_t TuniqueId>
38 auto* data = smem.template getVarPtr<T>(TuniqueId);
42 smem.template alloc<T>(TuniqueId);
43 data = smem.template getLatestVarPtr<T>();
50 template<std::
size_t TDataAlignBytes>
#define ALPAKA_ASSERT(...)
The assert can be explicit disabled by defining NDEBUG.
Static block shared memory provider using a pointer to externally allocated fixed-size memory,...
Implementation of static block shared memory provider.
The alpaka accelerator library.
Tag used in class inheritance hierarchies that describes that a specific interface (TInterface) is im...
static auto declareVar(BlockSharedMemStMember< TDataAlignBytes > const &smem) -> T &
The block shared static memory variable allocation operation trait.
static auto freeVars(BlockSharedMemStMember< TDataAlignBytes > const &) -> void
The block shared static memory free operation trait.