VTK-m  2.0
RuntimeDeviceConfigurationOptions.h
Go to the documentation of this file.
1 //============================================================================
2 // Copyright (c) Kitware, Inc.
3 // All rights reserved.
4 // See LICENSE.txt for details.
5 //
6 // This software is distributed WITHOUT ANY WARRANTY; without even
7 // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
8 // PURPOSE. See the above copyright notice for more information.
9 //============================================================================
10 #ifndef vtk_m_cont_internal_RuntimeDeviceConfigurationOptions_h
11 #define vtk_m_cont_internal_RuntimeDeviceConfigurationOptions_h
12 
13 #include <vtkm/cont/vtkm_cont_export.h>
14 
17 
18 #include <vector>
19 
20 namespace vtkm
21 {
22 namespace cont
23 {
24 namespace internal
25 {
26 
30 class VTKM_CONT_EXPORT RuntimeDeviceConfigurationOptions
31 {
32 public:
33  VTKM_CONT RuntimeDeviceConfigurationOptions();
34 
37  VTKM_CONT RuntimeDeviceConfigurationOptions(std::vector<option::Descriptor>& usage);
38 
41  VTKM_CONT RuntimeDeviceConfigurationOptions(int& argc, char* argv[]);
42 
43  VTKM_CONT virtual ~RuntimeDeviceConfigurationOptions() noexcept;
44 
47  VTKM_CONT void Initialize(const option::Option* options);
48  VTKM_CONT bool IsInitialized() const;
49 
50  RuntimeDeviceOption VTKmNumThreads;
51  RuntimeDeviceOption VTKmNumaRegions;
52  RuntimeDeviceOption VTKmDeviceInstance;
53 
54 protected:
58  VTKM_CONT RuntimeDeviceConfigurationOptions(const bool& useOptionIndex);
59 
60 private:
61  bool Initialized;
62 };
63 
64 } // namespace vtkm::cont::internal
65 } // namespace vtkm::cont
66 } // namespace vtkm
67 
68 #endif // vtk_m_cont_internal_RuntimeDeviceConfigurationOptions_h
vtkm
Groups connected points that have the same field value.
Definition: Atomic.h:19
RuntimeDeviceOption.h
VTKM_CONT
#define VTKM_CONT
Definition: ExportMacros.h:57
OptionParserArguments.h
vtkm::cont::Initialize
VTKM_CONT_EXPORT VTKM_CONT InitializeResult Initialize(int &argc, char *argv[], InitializeOptions opts=InitializeOptions::None)
Initialize the VTKm library, parsing arguments when provided: