CMS 3D CMS Logo

CUDAInterface.h
Go to the documentation of this file.
1 #ifndef HeterogeneousCore_CUDAServices_interface_CUDAInterface
2 #define HeterogeneousCore_CUDAServices_interface_CUDAInterface
3 
4 #include <utility>
5 
6 class CUDAInterface {
7 public:
8  CUDAInterface() = default;
9  virtual ~CUDAInterface() = default;
10 
11  virtual bool enabled() const = 0;
12 
13  virtual int numberOfDevices() const = 0;
14 
15  // Returns the (major, minor) CUDA compute capability of the given device.
16  virtual std::pair<int, int> computeCapability(int device) const = 0;
17 };
18 
19 #endif // HeterogeneousCore_CUDAServices_interface_CUDAInterface
virtual ~CUDAInterface()=default
virtual std::pair< int, int > computeCapability(int device) const =0
virtual int numberOfDevices() const =0
CUDAInterface()=default
virtual bool enabled() const =0