Module: NvidiaSmi
- Defined in:
- lib/nvidia-smi.rb
Constant Summary collapse
- @@nvidia_keys =
All the values we want to extract from nvidia-smi
[ 'index', 'pci.bus', 'name', 'uuid', 'temperature.gpu', 'fan.speed', 'memory.used', 'memory.total', 'memory.free', 'utilization.memory', 'utilization.gpu', 'power.draw', 'power.limit', 'pstate', 'clocks.gr', 'clocks.sm', 'clocks.mem', 'clocks.video', 'vbios_version' ]
Class Method Summary collapse
-
.driver_version ⇒ Object
Returns a String containing the driver’s version.
-
.gpu_count ⇒ Object
Returns an Integer representing the number of GPUs seen by nvidia-smi.
-
.gpus ⇒ Object
Returns an Array of Struct::Gpu The members of the struct are the values we extracted from nvidia-smi, as Strings.
Class Method Details
.driver_version ⇒ Object
Returns a String containing the driver’s version
47 48 49 |
# File 'lib/nvidia-smi.rb', line 47 def self.driver_version `nvidia-smi --query-gpu=driver_version --format=csv,noheader -i 0`.strip end |
.gpu_count ⇒ Object
Returns an Integer representing the number of GPUs seen by nvidia-smi
41 42 43 |
# File 'lib/nvidia-smi.rb', line 41 def self.gpu_count `nvidia-smi --query-gpu=count --format=csv,noheader -i 0`.to_i end |
.gpus ⇒ Object
Returns an Array of Struct::Gpu The members of the struct are the values we extracted from nvidia-smi, as Strings.
54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/nvidia-smi.rb', line 54 def self.gpus gpus = Array.new `nvidia-smi --query-gpu=#{@@nvidia_keys.join(',')} --format=csv,noheader`.each_line do |line| values = line.strip.split(',').each do |v| v.strip! end gpus << Struct::Gpu.new(*values) end gpus end |