AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::execution_space< ExecSpace > Struct Template Reference

The execution_space is a traits class that binds the execution space to a corresponding RAJA execution policies and default memory allocator. More...

#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/develop/src/axom/core/execution/execution_space.hpp>

Public Types

using loop_policy = void
 
using reduce_policy = void
 
using atomic_policy = void
 
using sync_policy = void
 

Static Public Member Functions

static constexpr bool async () noexcept
 
static constexpr bool valid () noexcept
 
static constexpr bool onDevice () noexcept
 
static constexpr char * name () noexcept
 
static int allocatorID () noexcept
 
static constexpr runtime_policy::Policy runtimePolicy () noexcept
 
static bool usesMemorySpace (axom::MemorySpace m) noexcept
 Returns whether ExecSpace can use the given MemorySpace. More...
 
static bool usesAllocId (int allocId) noexcept
 Returns whether ExecSpace can use the given allocator id. More...
 

Static Public Attributes

static constexpr MemorySpace memory_space = MemorySpace::Dynamic
 

Detailed Description

template<typename ExecSpace>
struct axom::execution_space< ExecSpace >

The execution_space is a traits class that binds the execution space to a corresponding RAJA execution policies and default memory allocator.

Template Parameters
ExecSpacethe execution space
Note
This class is specialized for each execution space.

Member Typedef Documentation

◆ loop_policy

template<typename ExecSpace >
using axom::execution_space< ExecSpace >::loop_policy = void

◆ reduce_policy

template<typename ExecSpace >
using axom::execution_space< ExecSpace >::reduce_policy = void

◆ atomic_policy

template<typename ExecSpace >
using axom::execution_space< ExecSpace >::atomic_policy = void

◆ sync_policy

template<typename ExecSpace >
using axom::execution_space< ExecSpace >::sync_policy = void

Member Function Documentation

◆ async()

template<typename ExecSpace >
static constexpr bool axom::execution_space< ExecSpace >::async ( )
inlinestaticconstexprnoexcept

◆ valid()

template<typename ExecSpace >
static constexpr bool axom::execution_space< ExecSpace >::valid ( )
inlinestaticconstexprnoexcept

◆ onDevice()

template<typename ExecSpace >
static constexpr bool axom::execution_space< ExecSpace >::onDevice ( )
inlinestaticconstexprnoexcept

◆ name()

template<typename ExecSpace >
static constexpr char* axom::execution_space< ExecSpace >::name ( )
inlinestaticconstexprnoexcept

◆ allocatorID()

template<typename ExecSpace >
static int axom::execution_space< ExecSpace >::allocatorID ( )
inlinestaticnoexcept

◆ runtimePolicy()

template<typename ExecSpace >
static constexpr runtime_policy::Policy axom::execution_space< ExecSpace >::runtimePolicy ( )
inlinestaticconstexprnoexcept

◆ usesMemorySpace()

template<typename ExecSpace >
static bool axom::execution_space< ExecSpace >::usesMemorySpace ( axom::MemorySpace  m)
inlinestaticnoexcept

Returns whether ExecSpace can use the given MemorySpace.

References axom::execution_space< ExecSpace >::memory_space.

◆ usesAllocId()

template<typename ExecSpace >
static bool axom::execution_space< ExecSpace >::usesAllocId ( int  allocId)
inlinestaticnoexcept

Returns whether ExecSpace can use the given allocator id.

References axom::detail::getAllocatorSpace(), axom::INVALID_ALLOCATOR_ID, and axom::execution_space< ExecSpace >::usesMemorySpace().

Member Data Documentation

◆ memory_space

template<typename ExecSpace >
constexpr MemorySpace axom::execution_space< ExecSpace >::memory_space = MemorySpace::Dynamic
staticconstexpr

The documentation for this struct was generated from the following file: