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

RAJA wrapper for "multi-policy" and dynamic policy selection. More...

#include "RAJA/config.hpp"
#include <tuple>
#include "RAJA/policy/PolicyBase.hpp"
#include "RAJA/internal/get_platform.hpp"
#include "RAJA/util/plugins.hpp"
#include "RAJA/util/concepts.hpp"
#include "RAJA/util/resource.hpp"

Go to the source code of this file.

Classes

class  RAJA::policy::multi::MultiPolicy< Selector, Policies >
 
struct  RAJA::detail::policy_invoker< index, size, Policy, rest >
 
struct  RAJA::detail::policy_invoker< 0, size, Policy, rest... >
 
struct  RAJA::type_traits::is_multi_policy< T >
 

Namespaces

 RAJA
 
 RAJA::detail
 
 RAJA::policy
 
 RAJA::policy::multi
 
 RAJA::type_traits
 

Functions

template<typename Iterable , typename Body , typename Selector , typename... Policies>
RAJA_INLINE void RAJA::policy::multi::forall_impl (MultiPolicy< Selector, Policies... > p, Iterable &&iter, Body &&body)
 
template<typename Res , typename Iterable , typename Body , typename Selector , typename... Policies>
RAJA_INLINE resources::EventProxy< Res > RAJA::policy::multi::forall_impl (Res r, MultiPolicy< Selector, Policies... > p, Iterable &&iter, Body &&body)
 
template<camp::idx_t... Indices, typename... Policies, typename Selector >
auto RAJA::detail::make_multi_policy (camp::idx_seq< Indices... >, Selector s, std::tuple< Policies... > policies) -> MultiPolicy< Selector, Policies... >
 
template<typename... Policies, typename Selector >
auto RAJA::make_multi_policy (Selector s) -> MultiPolicy< Selector, Policies... >
 
template<typename... Policies, typename Selector >
auto RAJA::make_multi_policy (std::tuple< Policies... > policies, Selector s) -> MultiPolicy< Selector, Policies... >
 

Detailed Description

RAJA wrapper for "multi-policy" and dynamic policy selection.