10namespace alpaka::onAcc::internal
17 constexpr auto nonAtomic = NonAtomic{};
21namespace alpaka::onAcc::internalCompute
23 template<
typename T,
typename T_AtomicOp,
typename T_Scope>
24 struct Atomic::Op<T_AtomicOp, onAcc::internal::NonAtomic, T, T_Scope>
26 static auto atomicOp(onAcc::internal::NonAtomic
const&, T*
const addr, T
const& value) -> T
28 return T_AtomicOp{}(addr, value);
32 template<
typename T,
typename T_Scope>
33 struct Atomic::Op<operation::Cas, internal::NonAtomic, T, T_Scope>
35 static auto atomicOp(internal::NonAtomic
const&, T*
const addr, T
const& compare, T
const& value) -> T
37 return operation::Cas{}(addr, compare, value);
constexpr auto atomicOp(auto const &acc, T *const addr, T const &value, T_Scope const scope=T_Scope()) -> T
Executes the given operation atomically.