CMS 3D CMS Logo

ResourceInformation.h
Go to the documentation of this file.
1 #ifndef FWCore_Utilities_ResourceInformation_h
2 #define FWCore_Utilities_ResourceInformation_h
3 
13 #include <string>
14 #include <vector>
15 
16 namespace edm {
17 
19  public:
22  ResourceInformation const& operator=(ResourceInformation const&) = delete;
23  virtual ~ResourceInformation();
24 
25  enum class AcceleratorType { GPU };
26 
27  virtual std::vector<AcceleratorType> const& acceleratorTypes() const = 0;
28  virtual std::vector<std::string> const& cpuModels() const = 0;
29  virtual std::vector<std::string> const& gpuModels() const = 0;
30 
31  virtual std::string const& nvidiaDriverVersion() const = 0;
32  virtual int cudaDriverVersion() const = 0;
33  virtual int cudaRuntimeVersion() const = 0;
34 
35  // Same as cpuModels except in a single string with models separated by ", "
36  virtual std::string const& cpuModelsFormatted() const = 0;
37  virtual double cpuAverageSpeed() const = 0;
38 
39  virtual void initializeAcceleratorTypes(std::vector<std::string> const& selectedAccelerators) = 0;
40  virtual void setCPUModels(std::vector<std::string> const&) = 0;
41  virtual void setGPUModels(std::vector<std::string> const&) = 0;
42 
43  virtual void setNvidiaDriverVersion(std::string const&) = 0;
44  virtual void setCudaDriverVersion(int) = 0;
45  virtual void setCudaRuntimeVersion(int) = 0;
46 
47  virtual void setCpuModelsFormatted(std::string const&) = 0;
48  virtual void setCpuAverageSpeed(double) = 0;
49  };
50 } // namespace edm
51 #endif
virtual void initializeAcceleratorTypes(std::vector< std::string > const &selectedAccelerators)=0
virtual double cpuAverageSpeed() const =0
virtual std::string const & nvidiaDriverVersion() const =0
virtual void setCPUModels(std::vector< std::string > const &)=0
virtual int cudaRuntimeVersion() const =0
virtual void setCudaRuntimeVersion(int)=0
virtual std::vector< std::string > const & cpuModels() const =0
virtual std::string const & cpuModelsFormatted() const =0
virtual std::vector< AcceleratorType > const & acceleratorTypes() const =0
virtual std::vector< std::string > const & gpuModels() const =0
ResourceInformation const & operator=(ResourceInformation const &)=delete
virtual void setNvidiaDriverVersion(std::string const &)=0
HLT enums.
virtual void setCpuModelsFormatted(std::string const &)=0
virtual void setCpuAverageSpeed(double)=0
virtual int cudaDriverVersion() const =0
virtual void setGPUModels(std::vector< std::string > const &)=0
virtual void setCudaDriverVersion(int)=0