File indexing completed on 2025-02-27 07:19:58
0001 #ifndef FWCore_AbstractServices_ResourceInformation_h
0002 #define FWCore_AbstractServices_ResourceInformation_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #include <string>
0014 #include <vector>
0015
0016 #include "DataFormats/Provenance/interface/HardwareResourcesDescription.h"
0017
0018 namespace edm {
0019
0020 class ResourceInformation {
0021 public:
0022 ResourceInformation();
0023 ResourceInformation(ResourceInformation const&) = delete;
0024 ResourceInformation const& operator=(ResourceInformation const&) = delete;
0025 virtual ~ResourceInformation();
0026
0027 virtual HardwareResourcesDescription hardwareResourcesDescription() const = 0;
0028
0029 virtual std::vector<std::string> const& selectedAccelerators() const = 0;
0030 virtual std::vector<std::string> const& cpuModels() const = 0;
0031 virtual std::vector<std::string> const& gpuModels() const = 0;
0032
0033 virtual bool hasGpuNvidia() const = 0;
0034
0035 virtual std::string const& nvidiaDriverVersion() const = 0;
0036 virtual int cudaDriverVersion() const = 0;
0037 virtual int cudaRuntimeVersion() const = 0;
0038
0039
0040 virtual std::string const& cpuModelsFormatted() const = 0;
0041 virtual double cpuAverageSpeed() const = 0;
0042
0043 virtual void setSelectedAccelerators(std::vector<std::string> const& selectedAccelerators) = 0;
0044 virtual void setCPUModels(std::vector<std::string> const&) = 0;
0045 virtual void setGPUModels(std::vector<std::string> const&) = 0;
0046
0047 virtual void setNvidiaDriverVersion(std::string const&) = 0;
0048 virtual void setCudaDriverVersion(int) = 0;
0049 virtual void setCudaRuntimeVersion(int) = 0;
0050
0051 virtual void setCpuModelsFormatted(std::string const&) = 0;
0052 virtual void setCpuAverageSpeed(double) = 0;
0053 };
0054 }
0055 #endif