10 #ifndef vtk_m_cont_internal_RuntimeDeviceConfiguration_h
11 #define vtk_m_cont_internal_RuntimeDeviceConfiguration_h
13 #include <vtkm/cont/vtkm_cont_export.h>
27 enum class RuntimeDeviceConfigReturnCode
36 class VTKM_CONT_EXPORT RuntimeDeviceConfigurationBase
39 VTKM_CONT virtual ~RuntimeDeviceConfigurationBase() noexcept;
40 VTKM_CONT virtual
vtkm::cont::DeviceAdapterId GetDevice() const = 0;
56 VTKM_CONT virtual RuntimeDeviceConfigReturnCode SetThreads(const
vtkm::
Id& value);
57 VTKM_CONT virtual RuntimeDeviceConfigReturnCode SetNumaRegions(const
vtkm::
Id& value);
58 VTKM_CONT virtual RuntimeDeviceConfigReturnCode SetDeviceInstance(const
vtkm::
Id& value);
62 VTKM_CONT virtual RuntimeDeviceConfigReturnCode GetThreads(
vtkm::
Id& value) const;
63 VTKM_CONT virtual RuntimeDeviceConfigReturnCode GetNumaRegions(
vtkm::
Id& value) const;
64 VTKM_CONT virtual RuntimeDeviceConfigReturnCode GetDeviceInstance(
vtkm::
Id& value) const;
68 VTKM_CONT virtual RuntimeDeviceConfigReturnCode GetMaxThreads(
vtkm::
Id& value) const;
69 VTKM_CONT virtual RuntimeDeviceConfigReturnCode GetMaxDevices(
vtkm::
Id& value) const;
77 VTKM_CONT virtual
void ParseExtraArguments(
int& argc,
char* argv[]);
83 VTKM_CONT virtual
void InitializeSubsystem();
86 template <typename DeviceAdapterTag>
87 class RuntimeDeviceConfiguration;
93 #endif // vtk_m_cont_internal_RuntimeDeviceConfiguration_h