RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
WorkRunner.hpp
Go to the documentation of this file.
1 
11 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
12 // Copyright (c) Lawrence Livermore National Security, LLC and other
13 // RAJA Project Developers. See top-level LICENSE and COPYRIGHT
14 // files for dates and other details. No copyright assignment is required
15 // to contribute to RAJA.
16 //
17 // SPDX-License-Identifier: (BSD-3-Clause)
18 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
19 
20 #ifndef RAJA_openmp_target_WorkGroup_WorkRunner_HPP
21 #define RAJA_openmp_target_WorkGroup_WorkRunner_HPP
22 
23 #include "RAJA/config.hpp"
24 
26 
28 
29 namespace RAJA
30 {
31 
32 namespace detail
33 {
34 
39 template<typename DISPATCH_POLICY_T,
40  typename ALLOCATOR_T,
41  typename INDEX_T,
42  typename... Args>
43 struct WorkRunner<RAJA::omp_target_work,
45  DISPATCH_POLICY_T,
46  ALLOCATOR_T,
47  INDEX_T,
48  Args...>
49  : WorkRunnerForallOrdered<RAJA::omp_target_parallel_for_exec_nt,
50  RAJA::omp_target_work,
51  RAJA::ordered,
52  DISPATCH_POLICY_T,
53  ALLOCATOR_T,
54  INDEX_T,
55  Args...>
56 {};
57 
62 template<typename DISPATCH_POLICY_T,
63  typename ALLOCATOR_T,
64  typename INDEX_T,
65  typename... Args>
66 struct WorkRunner<RAJA::omp_target_work,
68  DISPATCH_POLICY_T,
69  ALLOCATOR_T,
70  INDEX_T,
71  Args...>
72  : WorkRunnerForallReverse<RAJA::omp_target_parallel_for_exec_nt,
73  RAJA::omp_target_work,
74  RAJA::reverse_ordered,
75  DISPATCH_POLICY_T,
76  ALLOCATOR_T,
77  INDEX_T,
78  Args...>
79 {};
80 
81 } // namespace detail
82 
83 } // namespace RAJA
84 
85 #endif // closing endif for header file include guard
Definition: AlignedRangeIndexSetBuilders.cpp:35
Header file providing RAJA WorkStorage.
Definition: WorkRunner.hpp:252
Definition: WorkRunner.hpp:300
Definition: WorkRunner.hpp:149
Definition: WorkGroup.hpp:45
Definition: WorkGroup.hpp:53