alpaka
Abstraction Library for Parallel Kernel Acceleration
Traits.hpp File Reference
#include "alpaka/atomic/Op.hpp"
#include "alpaka/core/Common.hpp"
#include "alpaka/core/Concepts.hpp"
#include "alpaka/core/Positioning.hpp"
#include <type_traits>

Go to the source code of this file.

Classes

struct  alpaka::ConceptAtomicBlocks
 
struct  alpaka::ConceptAtomicGrids
 
struct  alpaka::ConceptAtomicThreads
 
struct  alpaka::detail::AtomicHierarchyConceptType< hierarchy::Blocks >
 
struct  alpaka::detail::AtomicHierarchyConceptType< hierarchy::Grids >
 
struct  alpaka::detail::AtomicHierarchyConceptType< hierarchy::Threads >
 

Namespaces

 alpaka
 The alpaka accelerator library.
 
 alpaka::detail
 
 alpaka::trait
 The accelerator traits.
 

Typedefs

template<typename THierarchy >
using alpaka::AtomicHierarchyConcept = typename detail::AtomicHierarchyConceptType< THierarchy >::type
 

Functions

template<typename TAtomic , typename T , typename THierarchy = hierarchy::Grids>
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto alpaka::atomicAdd (TAtomic const &atomic, T *const addr, T const &value, THierarchy const &hier=THierarchy()) -> T
 Executes an atomic add operation. More...
 
template<typename TAtomic , typename T , typename THierarchy = hierarchy::Grids>
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto alpaka::atomicAnd (TAtomic const &atomic, T *const addr, T const &value, THierarchy const &hier=THierarchy()) -> T
 Executes an atomic and operation. More...
 
template<typename TAtomic , typename T , typename THierarchy = hierarchy::Grids>
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto alpaka::atomicCas (TAtomic const &atomic, T *const addr, T const &compare, T const &value, THierarchy const &hier=THierarchy()) -> T
 Executes an atomic compare-and-swap operation. More...
 
template<typename TAtomic , typename T , typename THierarchy = hierarchy::Grids>
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto alpaka::atomicDec (TAtomic const &atomic, T *const addr, T const &value, THierarchy const &hier=THierarchy()) -> T
 Executes an atomic decrement operation. More...
 
template<typename TAtomic , typename T , typename THierarchy = hierarchy::Grids>
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto alpaka::atomicExch (TAtomic const &atomic, T *const addr, T const &value, THierarchy const &hier=THierarchy()) -> T
 Executes an atomic exchange operation. More...
 
template<typename TAtomic , typename T , typename THierarchy = hierarchy::Grids>
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto alpaka::atomicInc (TAtomic const &atomic, T *const addr, T const &value, THierarchy const &hier=THierarchy()) -> T
 Executes an atomic increment operation. More...
 
template<typename TAtomic , typename T , typename THierarchy = hierarchy::Grids>
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto alpaka::atomicMax (TAtomic const &atomic, T *const addr, T const &value, THierarchy const &hier=THierarchy()) -> T
 Executes an atomic max operation. More...
 
template<typename TAtomic , typename T , typename THierarchy = hierarchy::Grids>
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto alpaka::atomicMin (TAtomic const &atomic, T *const addr, T const &value, THierarchy const &hier=THierarchy()) -> T
 Executes an atomic min operation. More...
 
template<typename TOp , typename TAtomic , typename T , typename THierarchy = hierarchy::Grids>
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto alpaka::atomicOp (TAtomic const &atomic, T *const addr, T const &compare, T const &value, THierarchy const &=THierarchy()) -> T
 Executes the given operation atomically. More...
 
template<typename TOp , typename TAtomic , typename T , typename THierarchy = hierarchy::Grids>
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto alpaka::atomicOp (TAtomic const &atomic, T *const addr, T const &value, THierarchy const &=THierarchy()) -> T
 Executes the given operation atomically. More...
 
template<typename TAtomic , typename T , typename THierarchy = hierarchy::Grids>
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto alpaka::atomicOr (TAtomic const &atomic, T *const addr, T const &value, THierarchy const &hier=THierarchy()) -> T
 Executes an atomic or operation. More...
 
template<typename TAtomic , typename T , typename THierarchy = hierarchy::Grids>
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto alpaka::atomicSub (TAtomic const &atomic, T *const addr, T const &value, THierarchy const &hier=THierarchy()) -> T
 Executes an atomic sub operation. More...
 
template<typename TAtomic , typename T , typename THierarchy = hierarchy::Grids>
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto alpaka::atomicXor (TAtomic const &atomic, T *const addr, T const &value, THierarchy const &hier=THierarchy()) -> T
 Executes an atomic xor operation. More...