RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
Dispatcher.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_sequential_WorkGroup_Dispatcher_HPP
21 #define RAJA_sequential_WorkGroup_Dispatcher_HPP
22 
23 #include "RAJA/config.hpp"
24 
26 
28 
29 namespace RAJA
30 {
31 
32 namespace detail
33 {
34 
38 template<typename T, typename Dispatcher_T>
39 inline const Dispatcher_T* get_Dispatcher(seq_work const&)
40 {
41  static Dispatcher_T dispatcher {Dispatcher_T::template makeDispatcher<T>()};
42  return &dispatcher;
43 }
44 
45 } // namespace detail
46 
47 } // namespace RAJA
48 
49 #endif // closing endif for header file include guard
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.
Header file containing RAJA sequential policy definitions.
Definition: policy.hpp:92