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

Header file containing RAJA OpenMP policy definitions. More...

#include <type_traits>
#include <omp.h>
#include "RAJA/policy/PolicyBase.hpp"
#include "RAJA/policy/atomic_builtin.hpp"

Go to the source code of this file.

Classes

struct  RAJA::omp::MultiReduceTuning< t_algorithm >
 
struct  RAJA::policy::omp::internal::ScheduleTag
 
struct  RAJA::policy::omp::internal::Schedule< Sched, Chunk >
 
struct  RAJA::policy::omp::Parallel
 
struct  RAJA::policy::omp::For
 
struct  RAJA::policy::omp::NoWait
 
struct  RAJA::policy::omp::Auto
 
struct  RAJA::policy::omp::Static< ChunkSize >
 
struct  RAJA::policy::omp::Runtime
 
struct  RAJA::policy::omp::omp_parallel_region
 
struct  RAJA::policy::omp::omp_launch_t
 
struct  RAJA::policy::omp::omp_for_nowait_schedule_exec< Sched >
 
struct  RAJA::policy::omp::omp_for_schedule_exec< Sched >
 
struct  RAJA::policy::omp::omp_taskgraph_segit
 
struct  RAJA::policy::omp::omp_taskgraph_interval_segit
 
struct  RAJA::policy::omp::omp_work
 
struct  RAJA::policy::omp::omp_reduce
 
struct  RAJA::policy::omp::omp_reduce_ordered
 
struct  RAJA::policy::omp::omp_multi_reduce_policy< tuning >
 
struct  RAJA::policy::omp::omp_synchronize
 
struct  RAJA::policy::omp::omp_atomic
 
struct  RAJA::policy::omp::omp_thread
 

Namespaces

 RAJA
 
 RAJA::omp
 
 RAJA::policy
 
 RAJA::policy::omp
 
 RAJA::policy::omp::internal
 

Typedefs

template<int ChunkSize = default_chunk_size>
using RAJA::policy::omp::Dynamic = internal::Schedule< omp_sched_dynamic, ChunkSize >
 
template<int ChunkSize = default_chunk_size>
using RAJA::policy::omp::Guided = internal::Schedule< omp_sched_guided, ChunkSize >
 
using RAJA::policy::omp::omp_for_exec = omp_for_schedule_exec< Auto >
 
template<int ChunkSize = default_chunk_size>
using RAJA::policy::omp::omp_for_static_exec = omp_for_schedule_exec< omp::Static< ChunkSize > >
 
template<int ChunkSize = default_chunk_size>
using RAJA::policy::omp::omp_for_dynamic_exec = omp_for_schedule_exec< omp::Dynamic< ChunkSize > >
 
template<int ChunkSize = default_chunk_size>
using RAJA::policy::omp::omp_for_guided_exec = omp_for_schedule_exec< omp::Guided< ChunkSize > >
 
using RAJA::policy::omp::omp_for_runtime_exec = omp_for_schedule_exec< omp::Runtime >
 
template<int ChunkSize = default_chunk_size>
using RAJA::policy::omp::omp_for_nowait_static_exec = omp_for_nowait_schedule_exec< omp::Static< ChunkSize > >
 
template<typename InnerPolicy >
using RAJA::policy::omp::omp_parallel_exec = make_policy_pattern_launch_platform_t< Policy::openmp, Pattern::forall, Launch::undefined, Platform::host, omp::Parallel, wrapper< InnerPolicy > >
 
using RAJA::policy::omp::omp_parallel_for_exec = omp_parallel_exec< omp_for_exec >
 
template<int ChunkSize = default_chunk_size>
using RAJA::policy::omp::omp_parallel_for_static_exec = omp_parallel_exec< omp_for_schedule_exec< omp::Static< ChunkSize > >>
 
template<int ChunkSize = default_chunk_size>
using RAJA::policy::omp::omp_parallel_for_dynamic_exec = omp_parallel_exec< omp_for_schedule_exec< omp::Dynamic< ChunkSize > >>
 
template<int ChunkSize = default_chunk_size>
using RAJA::policy::omp::omp_parallel_for_guided_exec = omp_parallel_exec< omp_for_schedule_exec< omp::Guided< ChunkSize > >>
 
using RAJA::policy::omp::omp_parallel_for_runtime_exec = omp_parallel_exec< omp_for_schedule_exec< omp::Runtime > >
 
using RAJA::policy::omp::omp_parallel_for_segit = omp_parallel_for_exec
 
using RAJA::policy::omp::omp_parallel_segit = omp_parallel_for_segit
 
template<RAJA::omp::multi_reduce_algorithm algorithm>
using RAJA::policy::omp::omp_multi_reduce_tuning = omp_multi_reduce_policy< RAJA::omp::MultiReduceTuning< algorithm > >
 
using RAJA::policy::omp::omp_multi_reduce_combine_on_destruction = omp_multi_reduce_tuning< RAJA::omp::multi_reduce_algorithm::combine_on_destruction >
 
using RAJA::policy::omp::omp_multi_reduce_combine_on_get = omp_multi_reduce_tuning< RAJA::omp::multi_reduce_algorithm::combine_on_get >
 
using RAJA::policy::omp::omp_multi_reduce_ordered = omp_multi_reduce_combine_on_get
 
using RAJA::policy::omp::omp_multi_reduce_unordered = omp_multi_reduce_combine_on_destruction
 
using RAJA::policy::omp::omp_multi_reduce = omp_multi_reduce_unordered
 

Enumerations

enum class  RAJA::omp::multi_reduce_algorithm : int { RAJA::omp::combine_on_destruction , RAJA::omp::combine_on_get }
 

Detailed Description

Header file containing RAJA OpenMP policy definitions.