RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
PluginStrategy.hpp
Go to the documentation of this file.
1 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
2 // Copyright (c) Lawrence Livermore National Security, LLC and other
3 // RAJA Project Developers. See top-level LICENSE and COPYRIGHT
4 // files for dates and other details. No copyright assignment is required
5 // to contribute to RAJA.
6 //
7 // SPDX-License-Identifier: (BSD-3-Clause)
8 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
9 
10 #ifndef RAJA_PluginStrategy_HPP
11 #define RAJA_PluginStrategy_HPP
12 
15 #include "RAJA/util/Registry.hpp"
16 
17 namespace RAJA
18 {
19 namespace util
20 {
21 
23 {
24 public:
25  RAJASHAREDDLL_API PluginStrategy();
26 
27  virtual ~PluginStrategy() = default;
28 
29  virtual RAJASHAREDDLL_API void init(const PluginOptions& p);
30 
31  virtual RAJASHAREDDLL_API void preCapture(const PluginContext& p);
32 
33  virtual RAJASHAREDDLL_API void postCapture(const PluginContext& p);
34 
35  virtual RAJASHAREDDLL_API void preLaunch(const PluginContext& p);
36 
37  virtual RAJASHAREDDLL_API void postLaunch(const PluginContext& p);
38 
39  virtual RAJASHAREDDLL_API void finalize();
40 };
41 
43 
44 } // namespace util
45 } // namespace RAJA
46 
47 
48 #endif
Definition: PluginStrategy.hpp:23
RAJASHAREDDLL_API PluginStrategy()
virtual RAJASHAREDDLL_API void init(const PluginOptions &p)
Definition: PluginStrategy.cpp:21
virtual RAJASHAREDDLL_API void preLaunch(const PluginContext &p)
Definition: PluginStrategy.cpp:27
virtual RAJASHAREDDLL_API void postCapture(const PluginContext &p)
Definition: PluginStrategy.cpp:25
virtual RAJASHAREDDLL_API void finalize()
Definition: PluginStrategy.cpp:31
virtual ~PluginStrategy()=default
virtual RAJASHAREDDLL_API void postLaunch(const PluginContext &p)
Definition: PluginStrategy.cpp:29
virtual RAJASHAREDDLL_API void preCapture(const PluginContext &p)
Definition: PluginStrategy.cpp:23
Definition: Registry.hpp:47
Definition: AlignedRangeIndexSetBuilders.cpp:35
Definition: PluginContext.hpp:26
Definition: PluginOptions.hpp:21