20 #ifndef RAJA_openmp_target_WorkGroup_Dispatcher_HPP
21 #define RAJA_openmp_target_WorkGroup_Dispatcher_HPP
23 #include "RAJA/config.hpp"
40 template<
typename Factory>
43 typename std::decay_t<Factory>::value_type value;
45 #pragma omp target map(tofrom : value) map(to : factory)
55 template<
typename Factory>
58 static auto value =
get_value(std::forward<Factory>(factory));
68 template<
typename T,
typename Dispatcher_T>
71 static Dispatcher_T dispatcher {
72 Dispatcher_T::template makeDispatcher<T>([](
auto&& factory) {
74 std::forward<decltype(factory)>(factory));
auto get_value(Factory factory)
Definition: Dispatcher.hpp:41
auto get_cached_value(Factory &&factory)
Definition: Dispatcher.hpp:56
const Dispatcher_T * get_Dispatcher(cuda_work_explicit< BLOCK_SIZE, BLOCKS_PER_SM, Async > const &)
Definition: Dispatcher.hpp:115
Definition: AlignedRangeIndexSetBuilders.cpp:35
Header file providing RAJA Dispatcher for workgroup.