RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
Classes | Namespaces | Typedefs | Enumerations | Functions
PolicyBase.hpp File Reference

Header file for basic RAJA policy mechanics. More...

#include "RAJA/util/camp_aliases.hpp"
#include "RAJA/util/concepts.hpp"
#include <cstddef>

Go to the source code of this file.

Classes

struct  RAJA::PolicyBase
 
struct  RAJA::PolicyBaseT< Policy_, Pattern_, Launch_, Platform_, Traits >
 
struct  RAJA::policy_of< PolicyType >
 
struct  RAJA::pattern_of< PolicyType >
 
struct  RAJA::launch_of< PolicyType >
 
struct  RAJA::platform_of< PolicyType >
 
struct  RAJA::policy_is< PolicyType, P_ >
 
struct  RAJA::policy_any_of< PolicyType, Ps_ >
 
struct  RAJA::pattern_is< PolicyType, P_ >
 
struct  RAJA::launch_is< PolicyType, L_ >
 
struct  RAJA::platform_is< PolicyType, P_ >
 
struct  RAJA::policy_has_trait_impl< PolicyType, Trait >
 
struct  RAJA::policy_has_trait_impl< PolicyBaseT< Policy_, Pattern_, Launch_, Platform_, Traits... >, Trait >
 
struct  RAJA::wrapper< Inner >
 
struct  RAJA::reduce::ordered
 
struct  RAJA::reduce::unordered
 
struct  RAJA::concepts::ExecutionPolicy< Pol >
 
struct  RAJA::type_traits::is_sequential_policy< Pol >
 
struct  RAJA::type_traits::is_simd_policy< Pol >
 
struct  RAJA::type_traits::is_openmp_policy< Pol >
 
struct  RAJA::type_traits::is_target_openmp_policy< Pol >
 
struct  RAJA::type_traits::is_cuda_policy< Pol >
 
struct  RAJA::type_traits::is_hip_policy< Pol >
 
struct  RAJA::type_traits::is_sycl_policy< Pol >
 
struct  RAJA::type_traits::is_device_exec_policy< Pol >
 
struct  RAJA::type_traits::is_reduce_policy< Pol >
 
struct  RAJA::type_traits::is_multi_reduce_policy< Pol >
 

Namespaces

 RAJA
 
 RAJA::reduce
 
 RAJA::concepts
 
 RAJA::type_traits
 

Typedefs

template<typename PolicyType , typename Trait >
using RAJA::policy_has_trait = policy_has_trait_impl< camp::decay< PolicyType >, Trait >
 
template<Policy Pol, Pattern Pat, typename... Args>
using RAJA::make_policy_pattern_t = PolicyBaseT< Pol, Pat, Launch::undefined, Platform::undefined, Args... >
 
template<Policy Policy_, Pattern Pattern_, Launch Launch_, Platform Platform_, typename... Args>
using RAJA::make_policy_pattern_launch_platform_t = PolicyBaseT< Policy_, Pattern_, Launch_, Platform_, Args... >
 
template<Policy Policy_, Pattern Pattern_, Launch Launch_, typename... Args>
using RAJA::make_policy_pattern_launch_t = PolicyBaseT< Policy_, Pattern_, Launch_, Platform::undefined, Args... >
 
template<Policy Policy_, Pattern Pattern_, Platform Platform_, typename... Args>
using RAJA::make_policy_pattern_platform_t = PolicyBaseT< Policy_, Pattern_, Launch::undefined, Platform_, Args... >
 

Enumerations

enum class  RAJA::Policy {
  RAJA::undefined , RAJA::sequential , RAJA::simd , RAJA::openmp ,
  RAJA::target_openmp , RAJA::cuda , RAJA::hip , RAJA::sycl
}
 
enum class  RAJA::Pattern {
  RAJA::undefined , RAJA::forall , RAJA::region , RAJA::reduce ,
  RAJA::multi_reduce , RAJA::taskgraph , RAJA::synchronize , RAJA::workgroup ,
  RAJA::workgroup_exec , RAJA::workgroup_order , RAJA::workgroup_storage , RAJA::workgroup_dispatch
}
 
enum class  RAJA::Launch { RAJA::undefined , RAJA::sync , RAJA::async }
 

Functions

 RAJA::type_traits::DefineTypeTraitFromConcept (is_execution_policy, RAJA::concepts::ExecutionPolicy)
 

Detailed Description

Header file for basic RAJA policy mechanics.