VTK-m  2.0
RuntimeDeviceInformation.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_RuntimeDeviceInformation_h
11 #define vtk_m_cont_RuntimeDeviceInformation_h
12 
17 
18 namespace vtkm
19 {
20 namespace cont
21 {
22 
29 class VTKM_CONT_EXPORT RuntimeDeviceInformation
30 {
31 public:
35  VTKM_CONT
36  DeviceAdapterNameType GetName(DeviceAdapterId id) const;
37 
40  VTKM_CONT
41  DeviceAdapterId GetId(DeviceAdapterNameType name) const;
42 
46  VTKM_CONT
47  bool Exists(DeviceAdapterId id) const;
48 
55  VTKM_CONT
56  vtkm::cont::internal::DeviceAdapterMemoryManagerBase& GetMemoryManager(DeviceAdapterId id) const;
57 
76  VTKM_CONT
77  vtkm::cont::internal::RuntimeDeviceConfigurationBase& GetRuntimeConfiguration(
78  DeviceAdapterId id,
79  const vtkm::cont::internal::RuntimeDeviceConfigurationOptions& configOptions,
80  int& argc,
81  char* argv[] = nullptr) const;
82 
83  VTKM_CONT
84  vtkm::cont::internal::RuntimeDeviceConfigurationBase& GetRuntimeConfiguration(
85  DeviceAdapterId id,
86  const vtkm::cont::internal::RuntimeDeviceConfigurationOptions& configOptions) const;
87 
88  VTKM_CONT
89  vtkm::cont::internal::RuntimeDeviceConfigurationBase& GetRuntimeConfiguration(
90  DeviceAdapterId id) const;
91 };
92 } // namespace vtkm::cont
93 } // namespace vtkm
94 
95 #endif //vtk_m_cont_RuntimeDeviceInformation_h
vtkm
Groups connected points that have the same field value.
Definition: Atomic.h:19
DeviceAdapterTag.h
DeviceAdapterMemoryManager.h
ExportMacros.h
RuntimeDeviceConfiguration.h
VTKM_CONT
#define VTKM_CONT
Definition: ExportMacros.h:57
vtkm::cont::DeviceAdapterNameType
std::string DeviceAdapterNameType
Definition: DeviceAdapterTag.h:50
vtkm::cont::DeviceAdapterId
Definition: DeviceAdapterTag.h:52
vtkm::cont::RuntimeDeviceInformation
A class that can be used to determine if a given device adapter is supported on the current machine a...
Definition: RuntimeDeviceInformation.h:29