RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
Public Types | Public Member Functions | List of all members
RAJA::detail::WorkRunnerForallReverse< FORALL_EXEC_POLICY, EXEC_POLICY_T, ORDER_POLICY_T, DISPATCH_POLICY_T, ALLOCATOR_T, INDEX_T, Args > Struct Template Reference

#include <WorkRunner.hpp>

Inheritance diagram for RAJA::detail::WorkRunnerForallReverse< FORALL_EXEC_POLICY, EXEC_POLICY_T, ORDER_POLICY_T, DISPATCH_POLICY_T, ALLOCATOR_T, INDEX_T, Args >:
RAJA::detail::WorkRunnerForallOrdered_base< FORALL_EXEC_POLICY, EXEC_POLICY_T, ORDER_POLICY_T, DISPATCH_POLICY_T, ALLOCATOR_T, INDEX_T, Args... >

Public Types

using base = WorkRunnerForallOrdered_base< FORALL_EXEC_POLICY, EXEC_POLICY_T, ORDER_POLICY_T, DISPATCH_POLICY_T, ALLOCATOR_T, INDEX_T, Args... >
 
- Public Types inherited from RAJA::detail::WorkRunnerForallOrdered_base< FORALL_EXEC_POLICY, EXEC_POLICY_T, ORDER_POLICY_T, DISPATCH_POLICY_T, ALLOCATOR_T, INDEX_T, Args... >
using exec_policy = EXEC_POLICY_T
 
using order_policy = ORDER_POLICY_T
 
using dispatch_policy = DISPATCH_POLICY_T
 
using Allocator = ALLOCATOR_T
 
using index_type = INDEX_T
 
using resource_type = typename resources::get_resource< FORALL_EXEC_POLICY >::type
 
using forall_exec_policy = FORALL_EXEC_POLICY
 
using holder_type_t = typename holder_type::template type< T >
 
using dispatcher_exec_policy = RAJA::seq_work
 
using dispatcher_holder_policy = dispatcher_transform_types_t< dispatch_policy, holder_type >
 
using dispatcher_type = Dispatcher< Platform::host, dispatcher_holder_policy, void, resource_type, Args... >
 
using per_run_storage = int
 

Public Member Functions

template<typename WorkContainer >
base::per_run_storage run (WorkContainer const &storage, typename base::resource_type r, Args... args) const
 
- Public Member Functions inherited from RAJA::detail::WorkRunnerForallOrdered_base< FORALL_EXEC_POLICY, EXEC_POLICY_T, ORDER_POLICY_T, DISPATCH_POLICY_T, ALLOCATOR_T, INDEX_T, Args... >
 WorkRunnerForallOrdered_base ()=default
 
 WorkRunnerForallOrdered_base (WorkRunnerForallOrdered_base const &)=delete
 
 WorkRunnerForallOrdered_base (WorkRunnerForallOrdered_base &&)=default
 
WorkRunnerForallOrdered_baseoperator= (WorkRunnerForallOrdered_base const &)=delete
 
WorkRunnerForallOrdered_baseoperator= (WorkRunnerForallOrdered_base &&)=default
 
void enqueue (WorkContainer &storage, segment_T &&seg, loop_T &&loop)
 
void clear ()
 

Detailed Description

template<typename FORALL_EXEC_POLICY, typename EXEC_POLICY_T, typename ORDER_POLICY_T, typename DISPATCH_POLICY_T, typename ALLOCATOR_T, typename INDEX_T, typename... Args>
struct RAJA::detail::WorkRunnerForallReverse< FORALL_EXEC_POLICY, EXEC_POLICY_T, ORDER_POLICY_T, DISPATCH_POLICY_T, ALLOCATOR_T, INDEX_T, Args >

Runs work in a storage container in reverse order using forall

Member Typedef Documentation

◆ base

template<typename FORALL_EXEC_POLICY , typename EXEC_POLICY_T , typename ORDER_POLICY_T , typename DISPATCH_POLICY_T , typename ALLOCATOR_T , typename INDEX_T , typename... Args>
using RAJA::detail::WorkRunnerForallReverse< FORALL_EXEC_POLICY, EXEC_POLICY_T, ORDER_POLICY_T, DISPATCH_POLICY_T, ALLOCATOR_T, INDEX_T, Args >::base = WorkRunnerForallOrdered_base<FORALL_EXEC_POLICY, EXEC_POLICY_T, ORDER_POLICY_T, DISPATCH_POLICY_T, ALLOCATOR_T, INDEX_T, Args...>

Member Function Documentation

◆ run()

template<typename FORALL_EXEC_POLICY , typename EXEC_POLICY_T , typename ORDER_POLICY_T , typename DISPATCH_POLICY_T , typename ALLOCATOR_T , typename INDEX_T , typename... Args>
template<typename WorkContainer >
base::per_run_storage RAJA::detail::WorkRunnerForallReverse< FORALL_EXEC_POLICY, EXEC_POLICY_T, ORDER_POLICY_T, DISPATCH_POLICY_T, ALLOCATOR_T, INDEX_T, Args >::run ( WorkContainer const &  storage,
typename base::resource_type  r,
Args...  args 
) const
inline

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