11#ifdef ALPAKA_ACC_CPU_B_OMP2_T_SEQ_ENABLED
14# error If ALPAKA_ACC_CPU_B_OMP2_T_SEQ_ENABLED is set, the compiler has to support OpenMP 2.0 or higher!
33 template<MemoryOrder TMemOrder>
34 struct MemFence<MemFenceOmp2Blocks, TMemOrder, memory_scope::Block>
36 static auto mem_fence(MemFenceOmp2Blocks
const&, TMemOrder, memory_scope::Block
const&)
42 template<MemoryOrder TMemOrder>
43 struct MemFence<MemFenceOmp2Blocks, TMemOrder, memory_scope::Grid>
45 static auto mem_fence(MemFenceOmp2Blocks
const&, TMemOrder order, memory_scope::Grid
const&)
51 template<MemoryOrder TMemOrder>
52 struct MemFence<MemFenceOmp2Blocks, TMemOrder, memory_scope::Device>
54 static auto mem_fence(MemFenceOmp2Blocks
const&, TMemOrder order, memory_scope::Device
const&)
The CPU OpenMP 2.0 block memory fence.
static constexpr AcqRel acq_rel
The alpaka accelerator library.
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_ACC auto mem_fence(TMemFence const &fence, TMemOrder order, TMemScope const &scope) -> void
Issues memory fence instructions.
Tag used in class inheritance hierarchies that describes that a specific interface (TInterface) is im...