|
RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
|
Header file providing RAJA scan declarations. More...
#include "RAJA/config.hpp"#include <iterator>#include <type_traits>#include "RAJA/policy/PolicyBase.hpp"#include "RAJA/util/concepts.hpp"#include "RAJA/util/Operators.hpp"#include "RAJA/pattern/detail/algorithm.hpp"Go to the source code of this file.
Namespaces | |
| RAJA | |
| RAJA::policy_by_value_interface | |
| The RAJA::policy_by_value_interface forall functions provide an interface with value-based policies. It also enforces the interface and performs static checks as well as triggering plugins and loop body updates. | |
Functions | |
| template<typename ExecPolicy , typename Res , typename Container , typename Function = operators::plus<RAJA::detail::ContainerVal<Container>>> | |
| RAJA_INLINE concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_resource< Res >, std::is_constructible< camp::resources::Resource, Res >, type_traits::is_range< Container > > | RAJA::policy_by_value_interface::inclusive_scan_inplace (ExecPolicy &&p, Res r, Container &&c, Function binop=Function {}) |
| inclusive in-place scan execution pattern More... | |
| template<typename ExecPolicy , typename Container , typename Function = operators::plus<RAJA::detail::ContainerVal<Container>>, typename Res = typename resources::get_resource<ExecPolicy>::type> | |
| RAJA_INLINE concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_range< Container >, concepts::negate< std::is_constructible< camp::resources::Resource, Container > > > | RAJA::policy_by_value_interface::inclusive_scan_inplace (ExecPolicy &&p, Container &&c, Function binop=Function {}) |
| template<typename ExecPolicy , typename Res , typename Container , typename T = RAJA::detail::ContainerVal<Container>, typename Function = operators::plus<T>> | |
| RAJA_INLINE concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_resource< Res >, std::is_constructible< camp::resources::Resource, Res >, type_traits::is_range< Container > > | RAJA::policy_by_value_interface::exclusive_scan_inplace (ExecPolicy &&p, Res r, Container &&c, Function binop=Function {}, T value=Function::identity()) |
| exclusive in-place scan execution pattern More... | |
| template<typename ExecPolicy , typename Container , typename T = RAJA::detail::ContainerVal<Container>, typename Function = operators::plus<T>, typename Res = typename resources::get_resource<ExecPolicy>::type> | |
| RAJA_INLINE concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_range< Container >, concepts::negate< std::is_constructible< camp::resources::Resource, Container > > > | RAJA::policy_by_value_interface::exclusive_scan_inplace (ExecPolicy &&p, Container &&c, Function binop=Function {}, T value=Function::identity()) |
| template<typename ExecPolicy , typename Res , typename InContainer , typename OutContainer , typename Function = operators::plus<RAJA::detail::ContainerVal<InContainer>>> | |
| RAJA_INLINE concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_resource< Res >, std::is_constructible< camp::resources::Resource, Res >, type_traits::is_range< InContainer >, type_traits::is_range< OutContainer > > | RAJA::policy_by_value_interface::inclusive_scan (ExecPolicy &&p, Res r, InContainer &&in, OutContainer &&out, Function binop=Function {}) |
| inclusive scan execution pattern More... | |
| template<typename ExecPolicy , typename InContainer , typename OutContainer , typename Function = operators::plus<RAJA::detail::ContainerVal<InContainer>>, typename Res = typename resources::get_resource<ExecPolicy>::type> | |
| RAJA_INLINE concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_range< InContainer >, concepts::negate< std::is_constructible< camp::resources::Resource, InContainer > >, type_traits::is_range< OutContainer > > | RAJA::policy_by_value_interface::inclusive_scan (ExecPolicy &&p, InContainer &&in, OutContainer &&out, Function binop=Function {}) |
| template<typename ExecPolicy , typename Res , typename InContainer , typename OutContainer , typename T = RAJA::detail::ContainerVal<InContainer>, typename Function = operators::plus<T>> | |
| RAJA_INLINE concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_resource< Res >, std::is_constructible< camp::resources::Resource, Res >, type_traits::is_range< InContainer >, type_traits::is_range< OutContainer > > | RAJA::policy_by_value_interface::exclusive_scan (ExecPolicy &&p, Res r, InContainer &&in, OutContainer &&out, Function binop=Function {}, T value=Function::identity()) |
| exclusive scan execution pattern More... | |
| template<typename ExecPolicy , typename InContainer , typename OutContainer , typename T = RAJA::detail::ContainerVal<InContainer>, typename Function = operators::plus<T>, typename Res = typename resources::get_resource<ExecPolicy>::type> | |
| RAJA_INLINE concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_range< InContainer >, concepts::negate< std::is_constructible< camp::resources::Resource, InContainer > >, type_traits::is_range< OutContainer > > | RAJA::policy_by_value_interface::exclusive_scan (ExecPolicy &&p, InContainer &&in, OutContainer &&out, Function binop=Function {}, T value=Function::identity()) |
| template<typename ExecPolicy , typename... Args, typename Res = typename resources::get_resource<ExecPolicy>::type> | |
| RAJA_INLINE concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy > > | RAJA::exclusive_scan (Args &&... args) |
| Conversion from template-based policy to value-based policy for exclusive_scan. More... | |
| template<typename ExecPolicy , typename Res , typename... Args> | |
| RAJA_INLINE concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_resource< Res > > | RAJA::exclusive_scan (Res r, Args &&... args) |
| template<typename ExecPolicy , typename... Args, typename Res = typename resources::get_resource<ExecPolicy>::type> | |
| RAJA_INLINE concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy > > | RAJA::inclusive_scan (Args &&... args) |
| Conversion from template-based policy to value-based policy for inclusive_scan. More... | |
| template<typename ExecPolicy , typename Res , typename... Args> | |
| RAJA_INLINE concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_resource< Res > > | RAJA::inclusive_scan (Res r, Args &&... args) |
| template<typename ExecPolicy , typename... Args, typename Res = typename resources::get_resource<ExecPolicy>::type> | |
| RAJA_INLINE concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy > > | RAJA::exclusive_scan_inplace (Args &&... args) |
| Conversion from template-based policy to value-based policy for exclusive_scan_inplace. More... | |
| template<typename ExecPolicy , typename Res , typename... Args> | |
| RAJA_INLINE concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_resource< Res > > | RAJA::exclusive_scan_inplace (Res r, Args &&... args) |
| template<typename ExecPolicy , typename... Args, typename Res = typename resources::get_resource<ExecPolicy>::type> | |
| RAJA_INLINE concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy > > | RAJA::inclusive_scan_inplace (Args &&... args) |
| Conversion from template-based policy to value-based policy for inclusive_scan_inplace. More... | |
| template<typename ExecPolicy , typename Res , typename... Args> | |
| RAJA_INLINE concepts::enable_if_t< resources::EventProxy< Res >, type_traits::is_execution_policy< ExecPolicy >, type_traits::is_resource< Res > > | RAJA::inclusive_scan_inplace (Res r, Args &&... args) |
Header file providing RAJA scan declarations.