VTK-m  2.0
Public Member Functions | List of all members
vtkm::cont::RuntimeDeviceInformation Class Reference

A class that can be used to determine if a given device adapter is supported on the current machine at runtime. More...

#include <RuntimeDeviceInformation.h>

Public Member Functions

VTKM_CONT DeviceAdapterNameType GetName (DeviceAdapterId id) const
 Returns the name corresponding to the device adapter id. More...
 
VTKM_CONT DeviceAdapterId GetId (DeviceAdapterNameType name) const
 Returns the id corresponding to the device adapter name. More...
 
VTKM_CONT bool Exists (DeviceAdapterId id) const
 Returns true if the given device adapter is supported on the current machine. More...
 
VTKM_CONT vtkm::cont::internal::DeviceAdapterMemoryManagerBase & GetMemoryManager (DeviceAdapterId id) const
 Returns a reference to a DeviceAdapterMemoryManager that will work with the given device. More...
 
VTKM_CONT vtkm::cont::internal::RuntimeDeviceConfigurationBase & GetRuntimeConfiguration (DeviceAdapterId id, const vtkm::cont::internal::RuntimeDeviceConfigurationOptions &configOptions, int &argc, char *argv[]=nullptr) const
 Returns a reference to a RuntimeDeviceConfiguration that will work with the given device. More...
 
VTKM_CONT vtkm::cont::internal::RuntimeDeviceConfigurationBase & GetRuntimeConfiguration (DeviceAdapterId id, const vtkm::cont::internal::RuntimeDeviceConfigurationOptions &configOptions) const
 
VTKM_CONT vtkm::cont::internal::RuntimeDeviceConfigurationBase & GetRuntimeConfiguration (DeviceAdapterId id) const
 

Detailed Description

A class that can be used to determine if a given device adapter is supported on the current machine at runtime.

This is very important for device adapters where a physical hardware requirements such as a GPU or a Accelerator Card is needed for support to exist.

Member Function Documentation

◆ Exists()

VTKM_CONT bool vtkm::cont::RuntimeDeviceInformation::Exists ( DeviceAdapterId  id) const

Returns true if the given device adapter is supported on the current machine.

◆ GetId()

VTKM_CONT DeviceAdapterId vtkm::cont::RuntimeDeviceInformation::GetId ( DeviceAdapterNameType  name) const

Returns the id corresponding to the device adapter name.

If name is not recognized, DeviceAdapterTagUndefined is returned.

◆ GetMemoryManager()

VTKM_CONT vtkm::cont::internal::DeviceAdapterMemoryManagerBase& vtkm::cont::RuntimeDeviceInformation::GetMemoryManager ( DeviceAdapterId  id) const

Returns a reference to a DeviceAdapterMemoryManager that will work with the given device.

This method will throw an exception if the device id is not a real device (for example DeviceAdapterTagAny). If the device in question is not valid, a DeviceAdapterMemoryManager will be returned, but attempting to call any of the methods will result in a runtime exception.

◆ GetName()

VTKM_CONT DeviceAdapterNameType vtkm::cont::RuntimeDeviceInformation::GetName ( DeviceAdapterId  id) const

Returns the name corresponding to the device adapter id.

If id is not recognized, InvalidDeviceId is returned. Queries for a name are all case-insensitive.

◆ GetRuntimeConfiguration() [1/3]

VTKM_CONT vtkm::cont::internal::RuntimeDeviceConfigurationBase& vtkm::cont::RuntimeDeviceInformation::GetRuntimeConfiguration ( DeviceAdapterId  id) const

◆ GetRuntimeConfiguration() [2/3]

VTKM_CONT vtkm::cont::internal::RuntimeDeviceConfigurationBase& vtkm::cont::RuntimeDeviceInformation::GetRuntimeConfiguration ( DeviceAdapterId  id,
const vtkm::cont::internal::RuntimeDeviceConfigurationOptions &  configOptions 
) const

◆ GetRuntimeConfiguration() [3/3]

VTKM_CONT vtkm::cont::internal::RuntimeDeviceConfigurationBase& vtkm::cont::RuntimeDeviceInformation::GetRuntimeConfiguration ( DeviceAdapterId  id,
const vtkm::cont::internal::RuntimeDeviceConfigurationOptions &  configOptions,
int &  argc,
char *  argv[] = nullptr 
) const

Returns a reference to a RuntimeDeviceConfiguration that will work with the given device.

If the device in question is not valid, a placeholder InvalidRuntimeDeviceConfiguration will be returned. Attempting to call any of the methods of this object will result in a runtime exception. The fully loaded version of this method is automatically called at the end of vkmt::cont::Initialize which performs automated setup of all runtime devices using parsed vtkm arguments.

params: id - The specific device to retreive the RuntimeDeviceConfiguration options for configOptions - VTKm provided options that should be included when initializing a given RuntimeDeviceConfiguration argc - The number of command line arguments to parse when Initializing a given RuntimeDeviceConfiguration argv - The extra command line arguments to parse when Initializing a given RuntimeDeviceConfiguration. This argument is mainlued used in conjuction with Kokkos config arg parsing to include specific –kokkos command line flags and environment variables.


The documentation for this class was generated from the following file: