15 template<std::
size_t TDataAlignBytes>
16 struct OmpStaticShared :
private detail::SharedStorage<TDataAlignBytes>
18 template<
typename T,
size_t T_unique>
21 using Base = detail::SharedStorage<TDataAlignBytes>;
23 auto*
data = Base::template getVarPtr<T>(T_unique);
30# pragma omp single nowait
32 Base::template alloc<T>(T_unique);
37 data = Base::template getLatestVarPtr<T>();
43 template<
typename T,
size_t T_unique>
44 T* allocDynamic(uint32_t numBytes)
46 using Base = detail::SharedStorage<TDataAlignBytes>;
48 auto*
data = Base::template getVarPtr<T>(T_unique);
55# pragma omp single nowait
57 Base::template allocDynamic<T>(T_unique, numBytes);
62 data = Base::template getLatestVarPtr<T>();
#define ALPAKA_ASSERT(...)
The assert can be explicit disabled by defining NDEBUG.
functionality which is usable on the accelerator compute device from within a kernel.
decltype(auto) data(auto &&any)
pointer to data of an object