Add basic nvidia-smi parser

This commit is contained in:
Ingo Oppermann 2024-07-16 08:14:19 +02:00
parent 3d78122053
commit 7fa47a962a
No known key found for this signature in database
GPG Key ID: 2AB32426E9DD229E
8 changed files with 2339 additions and 0 deletions

33
psutil/gpu/gpu.go Normal file
View File

@ -0,0 +1,33 @@
package gpu
import "errors"
type Process struct {
PID int32
Memory uint64
}
type Stats struct {
Name string
Architecture string
MemoryTotal uint64
MemoryUsed uint64
Usage float64
MemoryUsage float64
EncoderUsage float64
DecoderUsage float64
Process []Process
Extension interface{}
}
type GPU interface {
Count() (int, error)
Stats() ([]Stats, error)
Process(pid int32) (Process, error)
}
var ErrProcessNotFound = errors.New("process not found")

View File

@ -0,0 +1,725 @@
<?xml version="1.0" ?>
<!DOCTYPE nvidia_smi_log SYSTEM "nvsmi_device_v11.dtd">
<nvidia_smi_log>
<timestamp>Mon Jul 15 13:50:34 2024</timestamp>
<driver_version>495.29.05</driver_version>
<cuda_version>11.5</cuda_version>
<attached_gpus>1</attached_gpus>
<gpu id="00000000:01:00.0">
<product_name>NVIDIA GeForce GTX 1080</product_name>
<product_brand>GeForce</product_brand>
<product_architecture>Pascal</product_architecture>
<display_mode>Disabled</display_mode>
<display_active>Disabled</display_active>
<persistence_mode>Disabled</persistence_mode>
<mig_mode>
<current_mig>N/A</current_mig>
<pending_mig>N/A</pending_mig>
</mig_mode>
<mig_devices>
None
</mig_devices>
<accounting_mode>Disabled</accounting_mode>
<accounting_mode_buffer_size>4000</accounting_mode_buffer_size>
<driver_model>
<current_dm>N/A</current_dm>
<pending_dm>N/A</pending_dm>
</driver_model>
<serial>N/A</serial>
<uuid>GPU-d8249424-2ed0-0499-2d47-8c6905e3ef5b</uuid>
<minor_number>0</minor_number>
<vbios_version>86.04.17.00.01</vbios_version>
<multigpu_board>No</multigpu_board>
<board_id>0x100</board_id>
<gpu_part_number>N/A</gpu_part_number>
<gpu_module_id>0</gpu_module_id>
<inforom_version>
<img_version>G001.0000.01.03</img_version>
<oem_object>1.1</oem_object>
<ecc_object>N/A</ecc_object>
<pwr_object>N/A</pwr_object>
</inforom_version>
<gpu_operation_mode>
<current_gom>N/A</current_gom>
<pending_gom>N/A</pending_gom>
</gpu_operation_mode>
<gsp_firmware_version>N/A</gsp_firmware_version>
<gpu_virtualization_mode>
<virtualization_mode>None</virtualization_mode>
<host_vgpu_mode>N/A</host_vgpu_mode>
</gpu_virtualization_mode>
<ibmnpu>
<relaxed_ordering_mode>N/A</relaxed_ordering_mode>
</ibmnpu>
<pci>
<pci_bus>01</pci_bus>
<pci_device>00</pci_device>
<pci_domain>0000</pci_domain>
<pci_device_id>1B8010DE</pci_device_id>
<pci_bus_id>00000000:01:00.0</pci_bus_id>
<pci_sub_system_id>119E10DE</pci_sub_system_id>
<pci_gpu_link_info>
<pcie_gen>
<max_link_gen>3</max_link_gen>
<current_link_gen>3</current_link_gen>
</pcie_gen>
<link_widths>
<max_link_width>16x</max_link_width>
<current_link_width>16x</current_link_width>
</link_widths>
</pci_gpu_link_info>
<pci_bridge_chip>
<bridge_chip_type>N/A</bridge_chip_type>
<bridge_chip_fw>N/A</bridge_chip_fw>
</pci_bridge_chip>
<replay_counter>0</replay_counter>
<replay_rollover_counter>0</replay_rollover_counter>
<tx_util>106000 KB/s</tx_util>
<rx_util>309000 KB/s</rx_util>
</pci>
<fan_speed>44 %</fan_speed>
<performance_state>P2</performance_state>
<clocks_throttle_reasons>
<clocks_throttle_reason_gpu_idle>Not Active</clocks_throttle_reason_gpu_idle>
<clocks_throttle_reason_applications_clocks_setting>Not Active</clocks_throttle_reason_applications_clocks_setting>
<clocks_throttle_reason_sw_power_cap>Not Active</clocks_throttle_reason_sw_power_cap>
<clocks_throttle_reason_hw_slowdown>Not Active</clocks_throttle_reason_hw_slowdown>
<clocks_throttle_reason_hw_thermal_slowdown>Not Active</clocks_throttle_reason_hw_thermal_slowdown>
<clocks_throttle_reason_hw_power_brake_slowdown>Not Active</clocks_throttle_reason_hw_power_brake_slowdown>
<clocks_throttle_reason_sync_boost>Not Active</clocks_throttle_reason_sync_boost>
<clocks_throttle_reason_sw_thermal_slowdown>Not Active</clocks_throttle_reason_sw_thermal_slowdown>
<clocks_throttle_reason_display_clocks_setting>Not Active</clocks_throttle_reason_display_clocks_setting>
</clocks_throttle_reasons>
<fb_memory_usage>
<total>8119 MiB</total>
<used>918 MiB</used>
<free>7201 MiB</free>
</fb_memory_usage>
<bar1_memory_usage>
<total>256 MiB</total>
<used>2 MiB</used>
<free>254 MiB</free>
</bar1_memory_usage>
<compute_mode>Default</compute_mode>
<utilization>
<gpu_util>15 %</gpu_util>
<memory_util>7 %</memory_util>
<encoder_util>3 %</encoder_util>
<decoder_util>0 %</decoder_util>
</utilization>
<encoder_stats>
<session_count>0</session_count>
<average_fps>0</average_fps>
<average_latency>0</average_latency>
</encoder_stats>
<fbc_stats>
<session_count>0</session_count>
<average_fps>0</average_fps>
<average_latency>0</average_latency>
</fbc_stats>
<ecc_mode>
<current_ecc>N/A</current_ecc>
<pending_ecc>N/A</pending_ecc>
</ecc_mode>
<ecc_errors>
<volatile>
<single_bit>
<device_memory>N/A</device_memory>
<register_file>N/A</register_file>
<l1_cache>N/A</l1_cache>
<l2_cache>N/A</l2_cache>
<texture_memory>N/A</texture_memory>
<texture_shm>N/A</texture_shm>
<cbu>N/A</cbu>
<total>N/A</total>
</single_bit>
<double_bit>
<device_memory>N/A</device_memory>
<register_file>N/A</register_file>
<l1_cache>N/A</l1_cache>
<l2_cache>N/A</l2_cache>
<texture_memory>N/A</texture_memory>
<texture_shm>N/A</texture_shm>
<cbu>N/A</cbu>
<total>N/A</total>
</double_bit>
</volatile>
<aggregate>
<single_bit>
<device_memory>N/A</device_memory>
<register_file>N/A</register_file>
<l1_cache>N/A</l1_cache>
<l2_cache>N/A</l2_cache>
<texture_memory>N/A</texture_memory>
<texture_shm>N/A</texture_shm>
<cbu>N/A</cbu>
<total>N/A</total>
</single_bit>
<double_bit>
<device_memory>N/A</device_memory>
<register_file>N/A</register_file>
<l1_cache>N/A</l1_cache>
<l2_cache>N/A</l2_cache>
<texture_memory>N/A</texture_memory>
<texture_shm>N/A</texture_shm>
<cbu>N/A</cbu>
<total>N/A</total>
</double_bit>
</aggregate>
</ecc_errors>
<retired_pages>
<multiple_single_bit_retirement>
<retired_count>N/A</retired_count>
<retired_pagelist>N/A</retired_pagelist>
</multiple_single_bit_retirement>
<double_bit_retirement>
<retired_count>N/A</retired_count>
<retired_pagelist>N/A</retired_pagelist>
</double_bit_retirement>
<pending_blacklist>N/A</pending_blacklist>
<pending_retirement>N/A</pending_retirement>
</retired_pages>
<remapped_rows>N/A</remapped_rows>
<temperature>
<gpu_temp>55 C</gpu_temp>
<gpu_temp_max_threshold>99 C</gpu_temp_max_threshold>
<gpu_temp_slow_threshold>96 C</gpu_temp_slow_threshold>
<gpu_temp_max_gpu_threshold>N/A</gpu_temp_max_gpu_threshold>
<gpu_target_temperature>83 C</gpu_target_temperature>
<memory_temp>N/A</memory_temp>
<gpu_temp_max_mem_threshold>N/A</gpu_temp_max_mem_threshold>
</temperature>
<supported_gpu_target_temp>
<gpu_target_temp_min>60 C</gpu_target_temp_min>
<gpu_target_temp_max>92 C</gpu_target_temp_max>
</supported_gpu_target_temp>
<power_readings>
<power_state>P2</power_state>
<power_management>Supported</power_management>
<power_draw>42.64 W</power_draw>
<power_limit>180.00 W</power_limit>
<default_power_limit>180.00 W</default_power_limit>
<enforced_power_limit>180.00 W</enforced_power_limit>
<min_power_limit>90.00 W</min_power_limit>
<max_power_limit>180.00 W</max_power_limit>
</power_readings>
<clocks>
<graphics_clock>1607 MHz</graphics_clock>
<sm_clock>1607 MHz</sm_clock>
<mem_clock>4513 MHz</mem_clock>
<video_clock>1442 MHz</video_clock>
</clocks>
<applications_clocks>
<graphics_clock>N/A</graphics_clock>
<mem_clock>N/A</mem_clock>
</applications_clocks>
<default_applications_clocks>
<graphics_clock>N/A</graphics_clock>
<mem_clock>N/A</mem_clock>
</default_applications_clocks>
<max_clocks>
<graphics_clock>1911 MHz</graphics_clock>
<sm_clock>1911 MHz</sm_clock>
<mem_clock>5005 MHz</mem_clock>
<video_clock>1708 MHz</video_clock>
</max_clocks>
<max_customer_boost_clocks>
<graphics_clock>N/A</graphics_clock>
</max_customer_boost_clocks>
<clock_policy>
<auto_boost>N/A</auto_boost>
<auto_boost_default>N/A</auto_boost_default>
</clock_policy>
<voltage>
<graphics_volt>N/A</graphics_volt>
</voltage>
<supported_clocks>
<supported_mem_clock>
<value>5005 MHz</value>
<supported_graphics_clock>1911 MHz</supported_graphics_clock>
<supported_graphics_clock>1898 MHz</supported_graphics_clock>
<supported_graphics_clock>1885 MHz</supported_graphics_clock>
<supported_graphics_clock>1873 MHz</supported_graphics_clock>
<supported_graphics_clock>1860 MHz</supported_graphics_clock>
<supported_graphics_clock>1847 MHz</supported_graphics_clock>
<supported_graphics_clock>1835 MHz</supported_graphics_clock>
<supported_graphics_clock>1822 MHz</supported_graphics_clock>
<supported_graphics_clock>1809 MHz</supported_graphics_clock>
<supported_graphics_clock>1797 MHz</supported_graphics_clock>
<supported_graphics_clock>1784 MHz</supported_graphics_clock>
<supported_graphics_clock>1771 MHz</supported_graphics_clock>
<supported_graphics_clock>1759 MHz</supported_graphics_clock>
<supported_graphics_clock>1746 MHz</supported_graphics_clock>
<supported_graphics_clock>1733 MHz</supported_graphics_clock>
<supported_graphics_clock>1721 MHz</supported_graphics_clock>
<supported_graphics_clock>1708 MHz</supported_graphics_clock>
<supported_graphics_clock>1695 MHz</supported_graphics_clock>
<supported_graphics_clock>1683 MHz</supported_graphics_clock>
<supported_graphics_clock>1670 MHz</supported_graphics_clock>
<supported_graphics_clock>1657 MHz</supported_graphics_clock>
<supported_graphics_clock>1645 MHz</supported_graphics_clock>
<supported_graphics_clock>1632 MHz</supported_graphics_clock>
<supported_graphics_clock>1620 MHz</supported_graphics_clock>
<supported_graphics_clock>1607 MHz</supported_graphics_clock>
<supported_graphics_clock>1594 MHz</supported_graphics_clock>
<supported_graphics_clock>1582 MHz</supported_graphics_clock>
<supported_graphics_clock>1569 MHz</supported_graphics_clock>
<supported_graphics_clock>1556 MHz</supported_graphics_clock>
<supported_graphics_clock>1544 MHz</supported_graphics_clock>
<supported_graphics_clock>1531 MHz</supported_graphics_clock>
<supported_graphics_clock>1518 MHz</supported_graphics_clock>
<supported_graphics_clock>1506 MHz</supported_graphics_clock>
<supported_graphics_clock>1493 MHz</supported_graphics_clock>
<supported_graphics_clock>1480 MHz</supported_graphics_clock>
<supported_graphics_clock>1468 MHz</supported_graphics_clock>
<supported_graphics_clock>1455 MHz</supported_graphics_clock>
<supported_graphics_clock>1442 MHz</supported_graphics_clock>
<supported_graphics_clock>1430 MHz</supported_graphics_clock>
<supported_graphics_clock>1417 MHz</supported_graphics_clock>
<supported_graphics_clock>1404 MHz</supported_graphics_clock>
<supported_graphics_clock>1392 MHz</supported_graphics_clock>
<supported_graphics_clock>1379 MHz</supported_graphics_clock>
<supported_graphics_clock>1366 MHz</supported_graphics_clock>
<supported_graphics_clock>1354 MHz</supported_graphics_clock>
<supported_graphics_clock>1341 MHz</supported_graphics_clock>
<supported_graphics_clock>1328 MHz</supported_graphics_clock>
<supported_graphics_clock>1316 MHz</supported_graphics_clock>
<supported_graphics_clock>1303 MHz</supported_graphics_clock>
<supported_graphics_clock>1290 MHz</supported_graphics_clock>
<supported_graphics_clock>1278 MHz</supported_graphics_clock>
<supported_graphics_clock>1265 MHz</supported_graphics_clock>
<supported_graphics_clock>1252 MHz</supported_graphics_clock>
<supported_graphics_clock>1240 MHz</supported_graphics_clock>
<supported_graphics_clock>1227 MHz</supported_graphics_clock>
<supported_graphics_clock>1215 MHz</supported_graphics_clock>
<supported_graphics_clock>1202 MHz</supported_graphics_clock>
<supported_graphics_clock>1189 MHz</supported_graphics_clock>
<supported_graphics_clock>1177 MHz</supported_graphics_clock>
<supported_graphics_clock>1164 MHz</supported_graphics_clock>
<supported_graphics_clock>1151 MHz</supported_graphics_clock>
<supported_graphics_clock>1139 MHz</supported_graphics_clock>
<supported_graphics_clock>1126 MHz</supported_graphics_clock>
<supported_graphics_clock>1113 MHz</supported_graphics_clock>
<supported_graphics_clock>1101 MHz</supported_graphics_clock>
<supported_graphics_clock>1088 MHz</supported_graphics_clock>
<supported_graphics_clock>1075 MHz</supported_graphics_clock>
<supported_graphics_clock>1063 MHz</supported_graphics_clock>
<supported_graphics_clock>1050 MHz</supported_graphics_clock>
<supported_graphics_clock>1037 MHz</supported_graphics_clock>
<supported_graphics_clock>1025 MHz</supported_graphics_clock>
<supported_graphics_clock>1012 MHz</supported_graphics_clock>
<supported_graphics_clock>999 MHz</supported_graphics_clock>
<supported_graphics_clock>987 MHz</supported_graphics_clock>
<supported_graphics_clock>974 MHz</supported_graphics_clock>
<supported_graphics_clock>961 MHz</supported_graphics_clock>
<supported_graphics_clock>949 MHz</supported_graphics_clock>
<supported_graphics_clock>936 MHz</supported_graphics_clock>
<supported_graphics_clock>923 MHz</supported_graphics_clock>
<supported_graphics_clock>911 MHz</supported_graphics_clock>
<supported_graphics_clock>898 MHz</supported_graphics_clock>
<supported_graphics_clock>885 MHz</supported_graphics_clock>
<supported_graphics_clock>873 MHz</supported_graphics_clock>
<supported_graphics_clock>860 MHz</supported_graphics_clock>
<supported_graphics_clock>847 MHz</supported_graphics_clock>
<supported_graphics_clock>835 MHz</supported_graphics_clock>
<supported_graphics_clock>822 MHz</supported_graphics_clock>
<supported_graphics_clock>810 MHz</supported_graphics_clock>
<supported_graphics_clock>797 MHz</supported_graphics_clock>
<supported_graphics_clock>784 MHz</supported_graphics_clock>
<supported_graphics_clock>772 MHz</supported_graphics_clock>
<supported_graphics_clock>759 MHz</supported_graphics_clock>
<supported_graphics_clock>746 MHz</supported_graphics_clock>
<supported_graphics_clock>734 MHz</supported_graphics_clock>
<supported_graphics_clock>721 MHz</supported_graphics_clock>
<supported_graphics_clock>708 MHz</supported_graphics_clock>
<supported_graphics_clock>696 MHz</supported_graphics_clock>
<supported_graphics_clock>683 MHz</supported_graphics_clock>
<supported_graphics_clock>670 MHz</supported_graphics_clock>
<supported_graphics_clock>658 MHz</supported_graphics_clock>
<supported_graphics_clock>645 MHz</supported_graphics_clock>
<supported_graphics_clock>632 MHz</supported_graphics_clock>
<supported_graphics_clock>620 MHz</supported_graphics_clock>
<supported_graphics_clock>607 MHz</supported_graphics_clock>
<supported_graphics_clock>594 MHz</supported_graphics_clock>
<supported_graphics_clock>582 MHz</supported_graphics_clock>
<supported_graphics_clock>569 MHz</supported_graphics_clock>
<supported_graphics_clock>556 MHz</supported_graphics_clock>
<supported_graphics_clock>544 MHz</supported_graphics_clock>
<supported_graphics_clock>531 MHz</supported_graphics_clock>
<supported_graphics_clock>518 MHz</supported_graphics_clock>
<supported_graphics_clock>506 MHz</supported_graphics_clock>
<supported_graphics_clock>493 MHz</supported_graphics_clock>
<supported_graphics_clock>480 MHz</supported_graphics_clock>
<supported_graphics_clock>468 MHz</supported_graphics_clock>
<supported_graphics_clock>455 MHz</supported_graphics_clock>
<supported_graphics_clock>442 MHz</supported_graphics_clock>
<supported_graphics_clock>430 MHz</supported_graphics_clock>
<supported_graphics_clock>417 MHz</supported_graphics_clock>
<supported_graphics_clock>405 MHz</supported_graphics_clock>
<supported_graphics_clock>392 MHz</supported_graphics_clock>
<supported_graphics_clock>379 MHz</supported_graphics_clock>
<supported_graphics_clock>367 MHz</supported_graphics_clock>
<supported_graphics_clock>354 MHz</supported_graphics_clock>
<supported_graphics_clock>341 MHz</supported_graphics_clock>
<supported_graphics_clock>329 MHz</supported_graphics_clock>
<supported_graphics_clock>316 MHz</supported_graphics_clock>
<supported_graphics_clock>303 MHz</supported_graphics_clock>
<supported_graphics_clock>291 MHz</supported_graphics_clock>
<supported_graphics_clock>278 MHz</supported_graphics_clock>
<supported_graphics_clock>265 MHz</supported_graphics_clock>
<supported_graphics_clock>253 MHz</supported_graphics_clock>
<supported_graphics_clock>240 MHz</supported_graphics_clock>
<supported_graphics_clock>227 MHz</supported_graphics_clock>
<supported_graphics_clock>215 MHz</supported_graphics_clock>
<supported_graphics_clock>202 MHz</supported_graphics_clock>
<supported_graphics_clock>189 MHz</supported_graphics_clock>
<supported_graphics_clock>177 MHz</supported_graphics_clock>
<supported_graphics_clock>164 MHz</supported_graphics_clock>
<supported_graphics_clock>151 MHz</supported_graphics_clock>
<supported_graphics_clock>139 MHz</supported_graphics_clock>
</supported_mem_clock>
<supported_mem_clock>
<value>4513 MHz</value>
<supported_graphics_clock>1911 MHz</supported_graphics_clock>
<supported_graphics_clock>1898 MHz</supported_graphics_clock>
<supported_graphics_clock>1885 MHz</supported_graphics_clock>
<supported_graphics_clock>1873 MHz</supported_graphics_clock>
<supported_graphics_clock>1860 MHz</supported_graphics_clock>
<supported_graphics_clock>1847 MHz</supported_graphics_clock>
<supported_graphics_clock>1835 MHz</supported_graphics_clock>
<supported_graphics_clock>1822 MHz</supported_graphics_clock>
<supported_graphics_clock>1809 MHz</supported_graphics_clock>
<supported_graphics_clock>1797 MHz</supported_graphics_clock>
<supported_graphics_clock>1784 MHz</supported_graphics_clock>
<supported_graphics_clock>1771 MHz</supported_graphics_clock>
<supported_graphics_clock>1759 MHz</supported_graphics_clock>
<supported_graphics_clock>1746 MHz</supported_graphics_clock>
<supported_graphics_clock>1733 MHz</supported_graphics_clock>
<supported_graphics_clock>1721 MHz</supported_graphics_clock>
<supported_graphics_clock>1708 MHz</supported_graphics_clock>
<supported_graphics_clock>1695 MHz</supported_graphics_clock>
<supported_graphics_clock>1683 MHz</supported_graphics_clock>
<supported_graphics_clock>1670 MHz</supported_graphics_clock>
<supported_graphics_clock>1657 MHz</supported_graphics_clock>
<supported_graphics_clock>1645 MHz</supported_graphics_clock>
<supported_graphics_clock>1632 MHz</supported_graphics_clock>
<supported_graphics_clock>1620 MHz</supported_graphics_clock>
<supported_graphics_clock>1607 MHz</supported_graphics_clock>
<supported_graphics_clock>1594 MHz</supported_graphics_clock>
<supported_graphics_clock>1582 MHz</supported_graphics_clock>
<supported_graphics_clock>1569 MHz</supported_graphics_clock>
<supported_graphics_clock>1556 MHz</supported_graphics_clock>
<supported_graphics_clock>1544 MHz</supported_graphics_clock>
<supported_graphics_clock>1531 MHz</supported_graphics_clock>
<supported_graphics_clock>1518 MHz</supported_graphics_clock>
<supported_graphics_clock>1506 MHz</supported_graphics_clock>
<supported_graphics_clock>1493 MHz</supported_graphics_clock>
<supported_graphics_clock>1480 MHz</supported_graphics_clock>
<supported_graphics_clock>1468 MHz</supported_graphics_clock>
<supported_graphics_clock>1455 MHz</supported_graphics_clock>
<supported_graphics_clock>1442 MHz</supported_graphics_clock>
<supported_graphics_clock>1430 MHz</supported_graphics_clock>
<supported_graphics_clock>1417 MHz</supported_graphics_clock>
<supported_graphics_clock>1404 MHz</supported_graphics_clock>
<supported_graphics_clock>1392 MHz</supported_graphics_clock>
<supported_graphics_clock>1379 MHz</supported_graphics_clock>
<supported_graphics_clock>1366 MHz</supported_graphics_clock>
<supported_graphics_clock>1354 MHz</supported_graphics_clock>
<supported_graphics_clock>1341 MHz</supported_graphics_clock>
<supported_graphics_clock>1328 MHz</supported_graphics_clock>
<supported_graphics_clock>1316 MHz</supported_graphics_clock>
<supported_graphics_clock>1303 MHz</supported_graphics_clock>
<supported_graphics_clock>1290 MHz</supported_graphics_clock>
<supported_graphics_clock>1278 MHz</supported_graphics_clock>
<supported_graphics_clock>1265 MHz</supported_graphics_clock>
<supported_graphics_clock>1252 MHz</supported_graphics_clock>
<supported_graphics_clock>1240 MHz</supported_graphics_clock>
<supported_graphics_clock>1227 MHz</supported_graphics_clock>
<supported_graphics_clock>1215 MHz</supported_graphics_clock>
<supported_graphics_clock>1202 MHz</supported_graphics_clock>
<supported_graphics_clock>1189 MHz</supported_graphics_clock>
<supported_graphics_clock>1177 MHz</supported_graphics_clock>
<supported_graphics_clock>1164 MHz</supported_graphics_clock>
<supported_graphics_clock>1151 MHz</supported_graphics_clock>
<supported_graphics_clock>1139 MHz</supported_graphics_clock>
<supported_graphics_clock>1126 MHz</supported_graphics_clock>
<supported_graphics_clock>1113 MHz</supported_graphics_clock>
<supported_graphics_clock>1101 MHz</supported_graphics_clock>
<supported_graphics_clock>1088 MHz</supported_graphics_clock>
<supported_graphics_clock>1075 MHz</supported_graphics_clock>
<supported_graphics_clock>1063 MHz</supported_graphics_clock>
<supported_graphics_clock>1050 MHz</supported_graphics_clock>
<supported_graphics_clock>1037 MHz</supported_graphics_clock>
<supported_graphics_clock>1025 MHz</supported_graphics_clock>
<supported_graphics_clock>1012 MHz</supported_graphics_clock>
<supported_graphics_clock>999 MHz</supported_graphics_clock>
<supported_graphics_clock>987 MHz</supported_graphics_clock>
<supported_graphics_clock>974 MHz</supported_graphics_clock>
<supported_graphics_clock>961 MHz</supported_graphics_clock>
<supported_graphics_clock>949 MHz</supported_graphics_clock>
<supported_graphics_clock>936 MHz</supported_graphics_clock>
<supported_graphics_clock>923 MHz</supported_graphics_clock>
<supported_graphics_clock>911 MHz</supported_graphics_clock>
<supported_graphics_clock>898 MHz</supported_graphics_clock>
<supported_graphics_clock>885 MHz</supported_graphics_clock>
<supported_graphics_clock>873 MHz</supported_graphics_clock>
<supported_graphics_clock>860 MHz</supported_graphics_clock>
<supported_graphics_clock>847 MHz</supported_graphics_clock>
<supported_graphics_clock>835 MHz</supported_graphics_clock>
<supported_graphics_clock>822 MHz</supported_graphics_clock>
<supported_graphics_clock>810 MHz</supported_graphics_clock>
<supported_graphics_clock>797 MHz</supported_graphics_clock>
<supported_graphics_clock>784 MHz</supported_graphics_clock>
<supported_graphics_clock>772 MHz</supported_graphics_clock>
<supported_graphics_clock>759 MHz</supported_graphics_clock>
<supported_graphics_clock>746 MHz</supported_graphics_clock>
<supported_graphics_clock>734 MHz</supported_graphics_clock>
<supported_graphics_clock>721 MHz</supported_graphics_clock>
<supported_graphics_clock>708 MHz</supported_graphics_clock>
<supported_graphics_clock>696 MHz</supported_graphics_clock>
<supported_graphics_clock>683 MHz</supported_graphics_clock>
<supported_graphics_clock>670 MHz</supported_graphics_clock>
<supported_graphics_clock>658 MHz</supported_graphics_clock>
<supported_graphics_clock>645 MHz</supported_graphics_clock>
<supported_graphics_clock>632 MHz</supported_graphics_clock>
<supported_graphics_clock>620 MHz</supported_graphics_clock>
<supported_graphics_clock>607 MHz</supported_graphics_clock>
<supported_graphics_clock>594 MHz</supported_graphics_clock>
<supported_graphics_clock>582 MHz</supported_graphics_clock>
<supported_graphics_clock>569 MHz</supported_graphics_clock>
<supported_graphics_clock>556 MHz</supported_graphics_clock>
<supported_graphics_clock>544 MHz</supported_graphics_clock>
<supported_graphics_clock>531 MHz</supported_graphics_clock>
<supported_graphics_clock>518 MHz</supported_graphics_clock>
<supported_graphics_clock>506 MHz</supported_graphics_clock>
<supported_graphics_clock>493 MHz</supported_graphics_clock>
<supported_graphics_clock>480 MHz</supported_graphics_clock>
<supported_graphics_clock>468 MHz</supported_graphics_clock>
<supported_graphics_clock>455 MHz</supported_graphics_clock>
<supported_graphics_clock>442 MHz</supported_graphics_clock>
<supported_graphics_clock>430 MHz</supported_graphics_clock>
<supported_graphics_clock>417 MHz</supported_graphics_clock>
<supported_graphics_clock>405 MHz</supported_graphics_clock>
<supported_graphics_clock>392 MHz</supported_graphics_clock>
<supported_graphics_clock>379 MHz</supported_graphics_clock>
<supported_graphics_clock>367 MHz</supported_graphics_clock>
<supported_graphics_clock>354 MHz</supported_graphics_clock>
<supported_graphics_clock>341 MHz</supported_graphics_clock>
<supported_graphics_clock>329 MHz</supported_graphics_clock>
<supported_graphics_clock>316 MHz</supported_graphics_clock>
<supported_graphics_clock>303 MHz</supported_graphics_clock>
<supported_graphics_clock>291 MHz</supported_graphics_clock>
<supported_graphics_clock>278 MHz</supported_graphics_clock>
<supported_graphics_clock>265 MHz</supported_graphics_clock>
<supported_graphics_clock>253 MHz</supported_graphics_clock>
<supported_graphics_clock>240 MHz</supported_graphics_clock>
<supported_graphics_clock>227 MHz</supported_graphics_clock>
<supported_graphics_clock>215 MHz</supported_graphics_clock>
<supported_graphics_clock>202 MHz</supported_graphics_clock>
<supported_graphics_clock>189 MHz</supported_graphics_clock>
<supported_graphics_clock>177 MHz</supported_graphics_clock>
<supported_graphics_clock>164 MHz</supported_graphics_clock>
<supported_graphics_clock>151 MHz</supported_graphics_clock>
<supported_graphics_clock>139 MHz</supported_graphics_clock>
</supported_mem_clock>
<supported_mem_clock>
<value>810 MHz</value>
<supported_graphics_clock>1911 MHz</supported_graphics_clock>
<supported_graphics_clock>1898 MHz</supported_graphics_clock>
<supported_graphics_clock>1885 MHz</supported_graphics_clock>
<supported_graphics_clock>1873 MHz</supported_graphics_clock>
<supported_graphics_clock>1860 MHz</supported_graphics_clock>
<supported_graphics_clock>1847 MHz</supported_graphics_clock>
<supported_graphics_clock>1835 MHz</supported_graphics_clock>
<supported_graphics_clock>1822 MHz</supported_graphics_clock>
<supported_graphics_clock>1809 MHz</supported_graphics_clock>
<supported_graphics_clock>1797 MHz</supported_graphics_clock>
<supported_graphics_clock>1784 MHz</supported_graphics_clock>
<supported_graphics_clock>1771 MHz</supported_graphics_clock>
<supported_graphics_clock>1759 MHz</supported_graphics_clock>
<supported_graphics_clock>1746 MHz</supported_graphics_clock>
<supported_graphics_clock>1733 MHz</supported_graphics_clock>
<supported_graphics_clock>1721 MHz</supported_graphics_clock>
<supported_graphics_clock>1708 MHz</supported_graphics_clock>
<supported_graphics_clock>1695 MHz</supported_graphics_clock>
<supported_graphics_clock>1683 MHz</supported_graphics_clock>
<supported_graphics_clock>1670 MHz</supported_graphics_clock>
<supported_graphics_clock>1657 MHz</supported_graphics_clock>
<supported_graphics_clock>1645 MHz</supported_graphics_clock>
<supported_graphics_clock>1632 MHz</supported_graphics_clock>
<supported_graphics_clock>1620 MHz</supported_graphics_clock>
<supported_graphics_clock>1607 MHz</supported_graphics_clock>
<supported_graphics_clock>1594 MHz</supported_graphics_clock>
<supported_graphics_clock>1582 MHz</supported_graphics_clock>
<supported_graphics_clock>1569 MHz</supported_graphics_clock>
<supported_graphics_clock>1556 MHz</supported_graphics_clock>
<supported_graphics_clock>1544 MHz</supported_graphics_clock>
<supported_graphics_clock>1531 MHz</supported_graphics_clock>
<supported_graphics_clock>1518 MHz</supported_graphics_clock>
<supported_graphics_clock>1506 MHz</supported_graphics_clock>
<supported_graphics_clock>1493 MHz</supported_graphics_clock>
<supported_graphics_clock>1480 MHz</supported_graphics_clock>
<supported_graphics_clock>1468 MHz</supported_graphics_clock>
<supported_graphics_clock>1455 MHz</supported_graphics_clock>
<supported_graphics_clock>1442 MHz</supported_graphics_clock>
<supported_graphics_clock>1430 MHz</supported_graphics_clock>
<supported_graphics_clock>1417 MHz</supported_graphics_clock>
<supported_graphics_clock>1404 MHz</supported_graphics_clock>
<supported_graphics_clock>1392 MHz</supported_graphics_clock>
<supported_graphics_clock>1379 MHz</supported_graphics_clock>
<supported_graphics_clock>1366 MHz</supported_graphics_clock>
<supported_graphics_clock>1354 MHz</supported_graphics_clock>
<supported_graphics_clock>1341 MHz</supported_graphics_clock>
<supported_graphics_clock>1328 MHz</supported_graphics_clock>
<supported_graphics_clock>1316 MHz</supported_graphics_clock>
<supported_graphics_clock>1303 MHz</supported_graphics_clock>
<supported_graphics_clock>1290 MHz</supported_graphics_clock>
<supported_graphics_clock>1278 MHz</supported_graphics_clock>
<supported_graphics_clock>1265 MHz</supported_graphics_clock>
<supported_graphics_clock>1252 MHz</supported_graphics_clock>
<supported_graphics_clock>1240 MHz</supported_graphics_clock>
<supported_graphics_clock>1227 MHz</supported_graphics_clock>
<supported_graphics_clock>1215 MHz</supported_graphics_clock>
<supported_graphics_clock>1202 MHz</supported_graphics_clock>
<supported_graphics_clock>1189 MHz</supported_graphics_clock>
<supported_graphics_clock>1177 MHz</supported_graphics_clock>
<supported_graphics_clock>1164 MHz</supported_graphics_clock>
<supported_graphics_clock>1151 MHz</supported_graphics_clock>
<supported_graphics_clock>1139 MHz</supported_graphics_clock>
<supported_graphics_clock>1126 MHz</supported_graphics_clock>
<supported_graphics_clock>1113 MHz</supported_graphics_clock>
<supported_graphics_clock>1101 MHz</supported_graphics_clock>
<supported_graphics_clock>1088 MHz</supported_graphics_clock>
<supported_graphics_clock>1075 MHz</supported_graphics_clock>
<supported_graphics_clock>1063 MHz</supported_graphics_clock>
<supported_graphics_clock>1050 MHz</supported_graphics_clock>
<supported_graphics_clock>1037 MHz</supported_graphics_clock>
<supported_graphics_clock>1025 MHz</supported_graphics_clock>
<supported_graphics_clock>1012 MHz</supported_graphics_clock>
<supported_graphics_clock>999 MHz</supported_graphics_clock>
<supported_graphics_clock>987 MHz</supported_graphics_clock>
<supported_graphics_clock>974 MHz</supported_graphics_clock>
<supported_graphics_clock>961 MHz</supported_graphics_clock>
<supported_graphics_clock>949 MHz</supported_graphics_clock>
<supported_graphics_clock>936 MHz</supported_graphics_clock>
<supported_graphics_clock>923 MHz</supported_graphics_clock>
<supported_graphics_clock>911 MHz</supported_graphics_clock>
<supported_graphics_clock>898 MHz</supported_graphics_clock>
<supported_graphics_clock>885 MHz</supported_graphics_clock>
<supported_graphics_clock>873 MHz</supported_graphics_clock>
<supported_graphics_clock>860 MHz</supported_graphics_clock>
<supported_graphics_clock>847 MHz</supported_graphics_clock>
<supported_graphics_clock>835 MHz</supported_graphics_clock>
<supported_graphics_clock>822 MHz</supported_graphics_clock>
<supported_graphics_clock>810 MHz</supported_graphics_clock>
<supported_graphics_clock>797 MHz</supported_graphics_clock>
<supported_graphics_clock>784 MHz</supported_graphics_clock>
<supported_graphics_clock>772 MHz</supported_graphics_clock>
<supported_graphics_clock>759 MHz</supported_graphics_clock>
<supported_graphics_clock>746 MHz</supported_graphics_clock>
<supported_graphics_clock>734 MHz</supported_graphics_clock>
<supported_graphics_clock>721 MHz</supported_graphics_clock>
<supported_graphics_clock>708 MHz</supported_graphics_clock>
<supported_graphics_clock>696 MHz</supported_graphics_clock>
<supported_graphics_clock>683 MHz</supported_graphics_clock>
<supported_graphics_clock>670 MHz</supported_graphics_clock>
<supported_graphics_clock>658 MHz</supported_graphics_clock>
<supported_graphics_clock>645 MHz</supported_graphics_clock>
<supported_graphics_clock>632 MHz</supported_graphics_clock>
<supported_graphics_clock>620 MHz</supported_graphics_clock>
<supported_graphics_clock>607 MHz</supported_graphics_clock>
<supported_graphics_clock>594 MHz</supported_graphics_clock>
<supported_graphics_clock>582 MHz</supported_graphics_clock>
<supported_graphics_clock>569 MHz</supported_graphics_clock>
<supported_graphics_clock>556 MHz</supported_graphics_clock>
<supported_graphics_clock>544 MHz</supported_graphics_clock>
<supported_graphics_clock>531 MHz</supported_graphics_clock>
<supported_graphics_clock>518 MHz</supported_graphics_clock>
<supported_graphics_clock>506 MHz</supported_graphics_clock>
<supported_graphics_clock>493 MHz</supported_graphics_clock>
<supported_graphics_clock>480 MHz</supported_graphics_clock>
<supported_graphics_clock>468 MHz</supported_graphics_clock>
<supported_graphics_clock>455 MHz</supported_graphics_clock>
<supported_graphics_clock>442 MHz</supported_graphics_clock>
<supported_graphics_clock>430 MHz</supported_graphics_clock>
<supported_graphics_clock>417 MHz</supported_graphics_clock>
<supported_graphics_clock>405 MHz</supported_graphics_clock>
<supported_graphics_clock>392 MHz</supported_graphics_clock>
<supported_graphics_clock>379 MHz</supported_graphics_clock>
<supported_graphics_clock>367 MHz</supported_graphics_clock>
<supported_graphics_clock>354 MHz</supported_graphics_clock>
<supported_graphics_clock>341 MHz</supported_graphics_clock>
<supported_graphics_clock>329 MHz</supported_graphics_clock>
<supported_graphics_clock>316 MHz</supported_graphics_clock>
<supported_graphics_clock>303 MHz</supported_graphics_clock>
<supported_graphics_clock>291 MHz</supported_graphics_clock>
<supported_graphics_clock>278 MHz</supported_graphics_clock>
<supported_graphics_clock>265 MHz</supported_graphics_clock>
<supported_graphics_clock>253 MHz</supported_graphics_clock>
<supported_graphics_clock>240 MHz</supported_graphics_clock>
<supported_graphics_clock>227 MHz</supported_graphics_clock>
<supported_graphics_clock>215 MHz</supported_graphics_clock>
<supported_graphics_clock>202 MHz</supported_graphics_clock>
<supported_graphics_clock>189 MHz</supported_graphics_clock>
<supported_graphics_clock>177 MHz</supported_graphics_clock>
<supported_graphics_clock>164 MHz</supported_graphics_clock>
<supported_graphics_clock>151 MHz</supported_graphics_clock>
<supported_graphics_clock>139 MHz</supported_graphics_clock>
</supported_mem_clock>
<supported_mem_clock>
<value>405 MHz</value>
<supported_graphics_clock>607 MHz</supported_graphics_clock>
<supported_graphics_clock>594 MHz</supported_graphics_clock>
<supported_graphics_clock>582 MHz</supported_graphics_clock>
<supported_graphics_clock>569 MHz</supported_graphics_clock>
<supported_graphics_clock>556 MHz</supported_graphics_clock>
<supported_graphics_clock>544 MHz</supported_graphics_clock>
<supported_graphics_clock>531 MHz</supported_graphics_clock>
<supported_graphics_clock>518 MHz</supported_graphics_clock>
<supported_graphics_clock>506 MHz</supported_graphics_clock>
<supported_graphics_clock>493 MHz</supported_graphics_clock>
<supported_graphics_clock>480 MHz</supported_graphics_clock>
<supported_graphics_clock>468 MHz</supported_graphics_clock>
<supported_graphics_clock>455 MHz</supported_graphics_clock>
<supported_graphics_clock>442 MHz</supported_graphics_clock>
<supported_graphics_clock>430 MHz</supported_graphics_clock>
<supported_graphics_clock>417 MHz</supported_graphics_clock>
<supported_graphics_clock>405 MHz</supported_graphics_clock>
<supported_graphics_clock>392 MHz</supported_graphics_clock>
<supported_graphics_clock>379 MHz</supported_graphics_clock>
<supported_graphics_clock>367 MHz</supported_graphics_clock>
<supported_graphics_clock>354 MHz</supported_graphics_clock>
<supported_graphics_clock>341 MHz</supported_graphics_clock>
<supported_graphics_clock>329 MHz</supported_graphics_clock>
<supported_graphics_clock>316 MHz</supported_graphics_clock>
<supported_graphics_clock>303 MHz</supported_graphics_clock>
<supported_graphics_clock>291 MHz</supported_graphics_clock>
<supported_graphics_clock>278 MHz</supported_graphics_clock>
<supported_graphics_clock>265 MHz</supported_graphics_clock>
<supported_graphics_clock>253 MHz</supported_graphics_clock>
<supported_graphics_clock>240 MHz</supported_graphics_clock>
<supported_graphics_clock>227 MHz</supported_graphics_clock>
<supported_graphics_clock>215 MHz</supported_graphics_clock>
<supported_graphics_clock>202 MHz</supported_graphics_clock>
<supported_graphics_clock>189 MHz</supported_graphics_clock>
<supported_graphics_clock>177 MHz</supported_graphics_clock>
<supported_graphics_clock>164 MHz</supported_graphics_clock>
<supported_graphics_clock>151 MHz</supported_graphics_clock>
<supported_graphics_clock>139 MHz</supported_graphics_clock>
</supported_mem_clock>
</supported_clocks>
<processes>
<process_info>
<gpu_instance_id>N/A</gpu_instance_id>
<compute_instance_id>N/A</compute_instance_id>
<pid>18179</pid>
<type>C</type>
<process_name>/usr/local/bin/ffmpeg</process_name>
<used_memory>916 MiB</used_memory>
</process_info>
</processes>
<accounted_processes>
</accounted_processes>
</gpu>
</nvidia_smi_log>

View File

@ -0,0 +1,890 @@
<?xml version="1.0" ?>
<!DOCTYPE nvidia_smi_log SYSTEM "nvsmi_device_v12.dtd">
<nvidia_smi_log>
<timestamp>Mon Jul 15 13:41:56 2024</timestamp>
<driver_version>555.42.06</driver_version>
<cuda_version>12.5</cuda_version>
<attached_gpus>2</attached_gpus>
<gpu id="00000000:01:00.0">
<product_name>NVIDIA L4</product_name>
<product_brand>NVIDIA</product_brand>
<product_architecture>Ada Lovelace</product_architecture>
<display_mode>Enabled</display_mode>
<display_active>Disabled</display_active>
<persistence_mode>Disabled</persistence_mode>
<addressing_mode>None</addressing_mode>
<mig_mode>
<current_mig>N/A</current_mig>
<pending_mig>N/A</pending_mig>
</mig_mode>
<mig_devices>
None
</mig_devices>
<accounting_mode>Disabled</accounting_mode>
<accounting_mode_buffer_size>4000</accounting_mode_buffer_size>
<driver_model>
<current_dm>N/A</current_dm>
<pending_dm>N/A</pending_dm>
</driver_model>
<serial>1654523003308</serial>
<uuid>GPU-c5533cd4-5a60-059e-348d-b6d7466932e4</uuid>
<minor_number>1</minor_number>
<vbios_version>95.04.29.00.06</vbios_version>
<multigpu_board>No</multigpu_board>
<board_id>0x100</board_id>
<board_part_number>900-2G193-0000-001</board_part_number>
<gpu_part_number>27B8-895-A1</gpu_part_number>
<gpu_fru_part_number>N/A</gpu_fru_part_number>
<gpu_module_id>1</gpu_module_id>
<inforom_version>
<img_version>G193.0200.00.01</img_version>
<oem_object>2.1</oem_object>
<ecc_object>6.16</ecc_object>
<pwr_object>N/A</pwr_object>
</inforom_version>
<inforom_bbx_flush>
<latest_timestamp>N/A</latest_timestamp>
<latest_duration>N/A</latest_duration>
</inforom_bbx_flush>
<gpu_operation_mode>
<current_gom>N/A</current_gom>
<pending_gom>N/A</pending_gom>
</gpu_operation_mode>
<c2c_mode>N/A</c2c_mode>
<gpu_virtualization_mode>
<virtualization_mode>None</virtualization_mode>
<host_vgpu_mode>N/A</host_vgpu_mode>
<vgpu_heterogeneous_mode>N/A</vgpu_heterogeneous_mode>
</gpu_virtualization_mode>
<gpu_reset_status>
<reset_required>No</reset_required>
<drain_and_reset_recommended>N/A</drain_and_reset_recommended>
</gpu_reset_status>
<gsp_firmware_version>555.42.06</gsp_firmware_version>
<ibmnpu>
<relaxed_ordering_mode>N/A</relaxed_ordering_mode>
</ibmnpu>
<pci>
<pci_bus>01</pci_bus>
<pci_device>00</pci_device>
<pci_domain>0000</pci_domain>
<pci_base_class>3</pci_base_class>
<pci_sub_class>2</pci_sub_class>
<pci_device_id>27B810DE</pci_device_id>
<pci_bus_id>00000000:01:00.0</pci_bus_id>
<pci_sub_system_id>16CA10DE</pci_sub_system_id>
<pci_gpu_link_info>
<pcie_gen>
<max_link_gen>4</max_link_gen>
<current_link_gen>4</current_link_gen>
<device_current_link_gen>4</device_current_link_gen>
<max_device_link_gen>4</max_device_link_gen>
<max_host_link_gen>5</max_host_link_gen>
</pcie_gen>
<link_widths>
<max_link_width>16x</max_link_width>
<current_link_width>16x</current_link_width>
</link_widths>
</pci_gpu_link_info>
<pci_bridge_chip>
<bridge_chip_type>N/A</bridge_chip_type>
<bridge_chip_fw>N/A</bridge_chip_fw>
</pci_bridge_chip>
<replay_counter>0</replay_counter>
<replay_rollover_counter>0</replay_rollover_counter>
<tx_util>0 KB/s</tx_util>
<rx_util>0 KB/s</rx_util>
<atomic_caps_inbound>N/A</atomic_caps_inbound>
<atomic_caps_outbound>N/A</atomic_caps_outbound>
</pci>
<fan_speed>N/A</fan_speed>
<performance_state>P0</performance_state>
<clocks_event_reasons>
<clocks_event_reason_gpu_idle>Active</clocks_event_reason_gpu_idle>
<clocks_event_reason_applications_clocks_setting>Not Active</clocks_event_reason_applications_clocks_setting>
<clocks_event_reason_sw_power_cap>Not Active</clocks_event_reason_sw_power_cap>
<clocks_event_reason_hw_slowdown>Not Active</clocks_event_reason_hw_slowdown>
<clocks_event_reason_hw_thermal_slowdown>Not Active</clocks_event_reason_hw_thermal_slowdown>
<clocks_event_reason_hw_power_brake_slowdown>Not Active</clocks_event_reason_hw_power_brake_slowdown>
<clocks_event_reason_sync_boost>Not Active</clocks_event_reason_sync_boost>
<clocks_event_reason_sw_thermal_slowdown>Not Active</clocks_event_reason_sw_thermal_slowdown>
<clocks_event_reason_display_clocks_setting>Not Active</clocks_event_reason_display_clocks_setting>
</clocks_event_reasons>
<sparse_operation_mode>N/A</sparse_operation_mode>
<fb_memory_usage>
<total>23034 MiB</total>
<reserved>434 MiB</reserved>
<used>1 MiB</used>
<free>22601 MiB</free>
</fb_memory_usage>
<bar1_memory_usage>
<total>32768 MiB</total>
<used>1 MiB</used>
<free>32767 MiB</free>
</bar1_memory_usage>
<cc_protected_memory_usage>
<total>0 MiB</total>
<used>0 MiB</used>
<free>0 MiB</free>
</cc_protected_memory_usage>
<compute_mode>Default</compute_mode>
<utilization>
<gpu_util>2 %</gpu_util>
<memory_util>0 %</memory_util>
<encoder_util>0 %</encoder_util>
<decoder_util>0 %</decoder_util>
<jpeg_util>0 %</jpeg_util>
<ofa_util>0 %</ofa_util>
</utilization>
<encoder_stats>
<session_count>0</session_count>
<average_fps>0</average_fps>
<average_latency>0</average_latency>
</encoder_stats>
<fbc_stats>
<session_count>0</session_count>
<average_fps>0</average_fps>
<average_latency>0</average_latency>
</fbc_stats>
<ecc_mode>
<current_ecc>Enabled</current_ecc>
<pending_ecc>Enabled</pending_ecc>
</ecc_mode>
<ecc_errors>
<volatile>
<sram_correctable>0</sram_correctable>
<sram_uncorrectable_parity>0</sram_uncorrectable_parity>
<sram_uncorrectable_secded>0</sram_uncorrectable_secded>
<dram_correctable>0</dram_correctable>
<dram_uncorrectable>0</dram_uncorrectable>
</volatile>
<aggregate>
<sram_correctable>0</sram_correctable>
<sram_uncorrectable_parity>0</sram_uncorrectable_parity>
<sram_uncorrectable_secded>0</sram_uncorrectable_secded>
<dram_correctable>0</dram_correctable>
<dram_uncorrectable>0</dram_uncorrectable>
<sram_threshold_exceeded>No</sram_threshold_exceeded>
</aggregate>
<aggregate_uncorrectable_sram_sources>
<sram_l2>0</sram_l2>
<sram_sm>0</sram_sm>
<sram_microcontroller>0</sram_microcontroller>
<sram_pcie>0</sram_pcie>
<sram_other>0</sram_other>
</aggregate_uncorrectable_sram_sources>
</ecc_errors>
<retired_pages>
<multiple_single_bit_retirement>
<retired_count>N/A</retired_count>
<retired_pagelist>N/A</retired_pagelist>
</multiple_single_bit_retirement>
<double_bit_retirement>
<retired_count>N/A</retired_count>
<retired_pagelist>N/A</retired_pagelist>
</double_bit_retirement>
<pending_blacklist>N/A</pending_blacklist>
<pending_retirement>N/A</pending_retirement>
</retired_pages>
<remapped_rows>
<remapped_row_corr>0</remapped_row_corr>
<remapped_row_unc>0</remapped_row_unc>
<remapped_row_pending>No</remapped_row_pending>
<remapped_row_failure>No</remapped_row_failure>
<row_remapper_histogram>
<row_remapper_histogram_max>96 bank(s)</row_remapper_histogram_max>
<row_remapper_histogram_high>0 bank(s)</row_remapper_histogram_high>
<row_remapper_histogram_partial>0 bank(s)</row_remapper_histogram_partial>
<row_remapper_histogram_low>0 bank(s)</row_remapper_histogram_low>
<row_remapper_histogram_none>0 bank(s)</row_remapper_histogram_none>
</row_remapper_histogram>
</remapped_rows>
<temperature>
<gpu_temp>45 C</gpu_temp>
<gpu_temp_tlimit>39 C</gpu_temp_tlimit>
<gpu_temp_max_tlimit_threshold>-5 C</gpu_temp_max_tlimit_threshold>
<gpu_temp_slow_tlimit_threshold>-2 C</gpu_temp_slow_tlimit_threshold>
<gpu_temp_max_gpu_tlimit_threshold>0 C</gpu_temp_max_gpu_tlimit_threshold>
<gpu_target_temperature>N/A</gpu_target_temperature>
<memory_temp>N/A</memory_temp>
<gpu_temp_max_mem_tlimit_threshold>N/A</gpu_temp_max_mem_tlimit_threshold>
</temperature>
<supported_gpu_target_temp>
<gpu_target_temp_min>N/A</gpu_target_temp_min>
<gpu_target_temp_max>N/A</gpu_target_temp_max>
</supported_gpu_target_temp>
<gpu_power_readings>
<power_state>P0</power_state>
<power_draw>27.22 W</power_draw>
<current_power_limit>72.00 W</current_power_limit>
<requested_power_limit>72.00 W</requested_power_limit>
<default_power_limit>72.00 W</default_power_limit>
<min_power_limit>40.00 W</min_power_limit>
<max_power_limit>72.00 W</max_power_limit>
</gpu_power_readings>
<gpu_memory_power_readings>
<power_draw>N/A</power_draw>
</gpu_memory_power_readings>
<module_power_readings>
<power_state>P0</power_state>
<power_draw>N/A</power_draw>
<current_power_limit>N/A</current_power_limit>
<requested_power_limit>N/A</requested_power_limit>
<default_power_limit>N/A</default_power_limit>
<min_power_limit>N/A</min_power_limit>
<max_power_limit>N/A</max_power_limit>
</module_power_readings>
<clocks>
<graphics_clock>2040 MHz</graphics_clock>
<sm_clock>2040 MHz</sm_clock>
<mem_clock>6250 MHz</mem_clock>
<video_clock>1770 MHz</video_clock>
</clocks>
<applications_clocks>
<graphics_clock>2040 MHz</graphics_clock>
<mem_clock>6251 MHz</mem_clock>
</applications_clocks>
<default_applications_clocks>
<graphics_clock>2040 MHz</graphics_clock>
<mem_clock>6251 MHz</mem_clock>
</default_applications_clocks>
<deferred_clocks>
<mem_clock>N/A</mem_clock>
</deferred_clocks>
<max_clocks>
<graphics_clock>2040 MHz</graphics_clock>
<sm_clock>2040 MHz</sm_clock>
<mem_clock>6251 MHz</mem_clock>
<video_clock>1770 MHz</video_clock>
</max_clocks>
<max_customer_boost_clocks>
<graphics_clock>2040 MHz</graphics_clock>
</max_customer_boost_clocks>
<clock_policy>
<auto_boost>N/A</auto_boost>
<auto_boost_default>N/A</auto_boost_default>
</clock_policy>
<voltage>
<graphics_volt>885.000 mV</graphics_volt>
</voltage>
<fabric>
<state>N/A</state>
<status>N/A</status>
<cliqueId>N/A</cliqueId>
<clusterUuid>N/A</clusterUuid>
<health>
<bandwidth>N/A</bandwidth>
</health>
</fabric>
<supported_clocks>
<supported_mem_clock>
<value>6251 MHz</value>
<supported_graphics_clock>2040 MHz</supported_graphics_clock>
<supported_graphics_clock>2025 MHz</supported_graphics_clock>
<supported_graphics_clock>2010 MHz</supported_graphics_clock>
<supported_graphics_clock>1995 MHz</supported_graphics_clock>
<supported_graphics_clock>1980 MHz</supported_graphics_clock>
<supported_graphics_clock>1965 MHz</supported_graphics_clock>
<supported_graphics_clock>1950 MHz</supported_graphics_clock>
<supported_graphics_clock>1935 MHz</supported_graphics_clock>
<supported_graphics_clock>1920 MHz</supported_graphics_clock>
<supported_graphics_clock>1905 MHz</supported_graphics_clock>
<supported_graphics_clock>1890 MHz</supported_graphics_clock>
<supported_graphics_clock>1875 MHz</supported_graphics_clock>
<supported_graphics_clock>1860 MHz</supported_graphics_clock>
<supported_graphics_clock>1845 MHz</supported_graphics_clock>
<supported_graphics_clock>1830 MHz</supported_graphics_clock>
<supported_graphics_clock>1815 MHz</supported_graphics_clock>
<supported_graphics_clock>1800 MHz</supported_graphics_clock>
<supported_graphics_clock>1785 MHz</supported_graphics_clock>
<supported_graphics_clock>1770 MHz</supported_graphics_clock>
<supported_graphics_clock>1755 MHz</supported_graphics_clock>
<supported_graphics_clock>1740 MHz</supported_graphics_clock>
<supported_graphics_clock>1725 MHz</supported_graphics_clock>
<supported_graphics_clock>1710 MHz</supported_graphics_clock>
<supported_graphics_clock>1695 MHz</supported_graphics_clock>
<supported_graphics_clock>1680 MHz</supported_graphics_clock>
<supported_graphics_clock>1665 MHz</supported_graphics_clock>
<supported_graphics_clock>1650 MHz</supported_graphics_clock>
<supported_graphics_clock>1635 MHz</supported_graphics_clock>
<supported_graphics_clock>1620 MHz</supported_graphics_clock>
<supported_graphics_clock>1605 MHz</supported_graphics_clock>
<supported_graphics_clock>1590 MHz</supported_graphics_clock>
<supported_graphics_clock>1575 MHz</supported_graphics_clock>
<supported_graphics_clock>1560 MHz</supported_graphics_clock>
<supported_graphics_clock>1545 MHz</supported_graphics_clock>
<supported_graphics_clock>1530 MHz</supported_graphics_clock>
<supported_graphics_clock>1515 MHz</supported_graphics_clock>
<supported_graphics_clock>1500 MHz</supported_graphics_clock>
<supported_graphics_clock>1485 MHz</supported_graphics_clock>
<supported_graphics_clock>1470 MHz</supported_graphics_clock>
<supported_graphics_clock>1455 MHz</supported_graphics_clock>
<supported_graphics_clock>1440 MHz</supported_graphics_clock>
<supported_graphics_clock>1425 MHz</supported_graphics_clock>
<supported_graphics_clock>1410 MHz</supported_graphics_clock>
<supported_graphics_clock>1395 MHz</supported_graphics_clock>
<supported_graphics_clock>1380 MHz</supported_graphics_clock>
<supported_graphics_clock>1365 MHz</supported_graphics_clock>
<supported_graphics_clock>1350 MHz</supported_graphics_clock>
<supported_graphics_clock>1335 MHz</supported_graphics_clock>
<supported_graphics_clock>1320 MHz</supported_graphics_clock>
<supported_graphics_clock>1305 MHz</supported_graphics_clock>
<supported_graphics_clock>1290 MHz</supported_graphics_clock>
<supported_graphics_clock>1275 MHz</supported_graphics_clock>
<supported_graphics_clock>1260 MHz</supported_graphics_clock>
<supported_graphics_clock>1245 MHz</supported_graphics_clock>
<supported_graphics_clock>1230 MHz</supported_graphics_clock>
<supported_graphics_clock>1215 MHz</supported_graphics_clock>
<supported_graphics_clock>1200 MHz</supported_graphics_clock>
<supported_graphics_clock>1185 MHz</supported_graphics_clock>
<supported_graphics_clock>1170 MHz</supported_graphics_clock>
<supported_graphics_clock>1155 MHz</supported_graphics_clock>
<supported_graphics_clock>1140 MHz</supported_graphics_clock>
<supported_graphics_clock>1125 MHz</supported_graphics_clock>
<supported_graphics_clock>1110 MHz</supported_graphics_clock>
<supported_graphics_clock>1095 MHz</supported_graphics_clock>
<supported_graphics_clock>1080 MHz</supported_graphics_clock>
<supported_graphics_clock>1065 MHz</supported_graphics_clock>
<supported_graphics_clock>1050 MHz</supported_graphics_clock>
<supported_graphics_clock>1035 MHz</supported_graphics_clock>
<supported_graphics_clock>1020 MHz</supported_graphics_clock>
<supported_graphics_clock>1005 MHz</supported_graphics_clock>
<supported_graphics_clock>990 MHz</supported_graphics_clock>
<supported_graphics_clock>975 MHz</supported_graphics_clock>
<supported_graphics_clock>960 MHz</supported_graphics_clock>
<supported_graphics_clock>945 MHz</supported_graphics_clock>
<supported_graphics_clock>930 MHz</supported_graphics_clock>
<supported_graphics_clock>915 MHz</supported_graphics_clock>
<supported_graphics_clock>900 MHz</supported_graphics_clock>
<supported_graphics_clock>885 MHz</supported_graphics_clock>
<supported_graphics_clock>870 MHz</supported_graphics_clock>
<supported_graphics_clock>855 MHz</supported_graphics_clock>
<supported_graphics_clock>840 MHz</supported_graphics_clock>
<supported_graphics_clock>825 MHz</supported_graphics_clock>
<supported_graphics_clock>810 MHz</supported_graphics_clock>
<supported_graphics_clock>795 MHz</supported_graphics_clock>
<supported_graphics_clock>780 MHz</supported_graphics_clock>
<supported_graphics_clock>765 MHz</supported_graphics_clock>
<supported_graphics_clock>750 MHz</supported_graphics_clock>
<supported_graphics_clock>735 MHz</supported_graphics_clock>
<supported_graphics_clock>720 MHz</supported_graphics_clock>
<supported_graphics_clock>705 MHz</supported_graphics_clock>
<supported_graphics_clock>690 MHz</supported_graphics_clock>
<supported_graphics_clock>675 MHz</supported_graphics_clock>
<supported_graphics_clock>660 MHz</supported_graphics_clock>
<supported_graphics_clock>645 MHz</supported_graphics_clock>
<supported_graphics_clock>630 MHz</supported_graphics_clock>
<supported_graphics_clock>615 MHz</supported_graphics_clock>
<supported_graphics_clock>600 MHz</supported_graphics_clock>
<supported_graphics_clock>585 MHz</supported_graphics_clock>
<supported_graphics_clock>570 MHz</supported_graphics_clock>
<supported_graphics_clock>555 MHz</supported_graphics_clock>
<supported_graphics_clock>540 MHz</supported_graphics_clock>
<supported_graphics_clock>525 MHz</supported_graphics_clock>
<supported_graphics_clock>510 MHz</supported_graphics_clock>
<supported_graphics_clock>495 MHz</supported_graphics_clock>
<supported_graphics_clock>480 MHz</supported_graphics_clock>
<supported_graphics_clock>465 MHz</supported_graphics_clock>
<supported_graphics_clock>450 MHz</supported_graphics_clock>
<supported_graphics_clock>435 MHz</supported_graphics_clock>
<supported_graphics_clock>420 MHz</supported_graphics_clock>
<supported_graphics_clock>405 MHz</supported_graphics_clock>
<supported_graphics_clock>390 MHz</supported_graphics_clock>
<supported_graphics_clock>375 MHz</supported_graphics_clock>
<supported_graphics_clock>360 MHz</supported_graphics_clock>
<supported_graphics_clock>345 MHz</supported_graphics_clock>
<supported_graphics_clock>330 MHz</supported_graphics_clock>
<supported_graphics_clock>315 MHz</supported_graphics_clock>
<supported_graphics_clock>300 MHz</supported_graphics_clock>
<supported_graphics_clock>285 MHz</supported_graphics_clock>
<supported_graphics_clock>270 MHz</supported_graphics_clock>
<supported_graphics_clock>255 MHz</supported_graphics_clock>
<supported_graphics_clock>240 MHz</supported_graphics_clock>
<supported_graphics_clock>225 MHz</supported_graphics_clock>
<supported_graphics_clock>210 MHz</supported_graphics_clock>
</supported_mem_clock>
<supported_mem_clock>
<value>405 MHz</value>
<supported_graphics_clock>645 MHz</supported_graphics_clock>
<supported_graphics_clock>630 MHz</supported_graphics_clock>
<supported_graphics_clock>615 MHz</supported_graphics_clock>
<supported_graphics_clock>600 MHz</supported_graphics_clock>
<supported_graphics_clock>585 MHz</supported_graphics_clock>
<supported_graphics_clock>570 MHz</supported_graphics_clock>
<supported_graphics_clock>555 MHz</supported_graphics_clock>
<supported_graphics_clock>540 MHz</supported_graphics_clock>
<supported_graphics_clock>525 MHz</supported_graphics_clock>
<supported_graphics_clock>510 MHz</supported_graphics_clock>
<supported_graphics_clock>495 MHz</supported_graphics_clock>
<supported_graphics_clock>480 MHz</supported_graphics_clock>
<supported_graphics_clock>465 MHz</supported_graphics_clock>
<supported_graphics_clock>450 MHz</supported_graphics_clock>
<supported_graphics_clock>435 MHz</supported_graphics_clock>
<supported_graphics_clock>420 MHz</supported_graphics_clock>
<supported_graphics_clock>405 MHz</supported_graphics_clock>
<supported_graphics_clock>390 MHz</supported_graphics_clock>
<supported_graphics_clock>375 MHz</supported_graphics_clock>
<supported_graphics_clock>360 MHz</supported_graphics_clock>
<supported_graphics_clock>345 MHz</supported_graphics_clock>
<supported_graphics_clock>330 MHz</supported_graphics_clock>
<supported_graphics_clock>315 MHz</supported_graphics_clock>
<supported_graphics_clock>300 MHz</supported_graphics_clock>
<supported_graphics_clock>285 MHz</supported_graphics_clock>
<supported_graphics_clock>270 MHz</supported_graphics_clock>
<supported_graphics_clock>255 MHz</supported_graphics_clock>
<supported_graphics_clock>240 MHz</supported_graphics_clock>
<supported_graphics_clock>225 MHz</supported_graphics_clock>
<supported_graphics_clock>210 MHz</supported_graphics_clock>
</supported_mem_clock>
</supported_clocks>
<processes>
</processes>
<accounted_processes>
</accounted_processes>
<capabilities>
<egm>disabled</egm>
</capabilities>
</gpu>
<gpu id="00000000:C1:00.0">
<product_name>NVIDIA L4</product_name>
<product_brand>NVIDIA</product_brand>
<product_architecture>Ada Lovelace</product_architecture>
<display_mode>Enabled</display_mode>
<display_active>Disabled</display_active>
<persistence_mode>Disabled</persistence_mode>
<addressing_mode>None</addressing_mode>
<mig_mode>
<current_mig>N/A</current_mig>
<pending_mig>N/A</pending_mig>
</mig_mode>
<mig_devices>
None
</mig_devices>
<accounting_mode>Disabled</accounting_mode>
<accounting_mode_buffer_size>4000</accounting_mode_buffer_size>
<driver_model>
<current_dm>N/A</current_dm>
<pending_dm>N/A</pending_dm>
</driver_model>
<serial>1654523001128</serial>
<uuid>GPU-128ab6fb-6ec9-fd74-b479-4a5fd14f55bd</uuid>
<minor_number>0</minor_number>
<vbios_version>95.04.29.00.06</vbios_version>
<multigpu_board>No</multigpu_board>
<board_id>0xc100</board_id>
<board_part_number>900-2G193-0000-001</board_part_number>
<gpu_part_number>27B8-895-A1</gpu_part_number>
<gpu_fru_part_number>N/A</gpu_fru_part_number>
<gpu_module_id>1</gpu_module_id>
<inforom_version>
<img_version>G193.0200.00.01</img_version>
<oem_object>2.1</oem_object>
<ecc_object>6.16</ecc_object>
<pwr_object>N/A</pwr_object>
</inforom_version>
<inforom_bbx_flush>
<latest_timestamp>N/A</latest_timestamp>
<latest_duration>N/A</latest_duration>
</inforom_bbx_flush>
<gpu_operation_mode>
<current_gom>N/A</current_gom>
<pending_gom>N/A</pending_gom>
</gpu_operation_mode>
<c2c_mode>N/A</c2c_mode>
<gpu_virtualization_mode>
<virtualization_mode>None</virtualization_mode>
<host_vgpu_mode>N/A</host_vgpu_mode>
<vgpu_heterogeneous_mode>N/A</vgpu_heterogeneous_mode>
</gpu_virtualization_mode>
<gpu_reset_status>
<reset_required>No</reset_required>
<drain_and_reset_recommended>N/A</drain_and_reset_recommended>
</gpu_reset_status>
<gsp_firmware_version>555.42.06</gsp_firmware_version>
<ibmnpu>
<relaxed_ordering_mode>N/A</relaxed_ordering_mode>
</ibmnpu>
<pci>
<pci_bus>C1</pci_bus>
<pci_device>00</pci_device>
<pci_domain>0000</pci_domain>
<pci_base_class>3</pci_base_class>
<pci_sub_class>2</pci_sub_class>
<pci_device_id>27B810DE</pci_device_id>
<pci_bus_id>00000000:C1:00.0</pci_bus_id>
<pci_sub_system_id>16CA10DE</pci_sub_system_id>
<pci_gpu_link_info>
<pcie_gen>
<max_link_gen>4</max_link_gen>
<current_link_gen>4</current_link_gen>
<device_current_link_gen>4</device_current_link_gen>
<max_device_link_gen>4</max_device_link_gen>
<max_host_link_gen>5</max_host_link_gen>
</pcie_gen>
<link_widths>
<max_link_width>16x</max_link_width>
<current_link_width>1x</current_link_width>
</link_widths>
</pci_gpu_link_info>
<pci_bridge_chip>
<bridge_chip_type>N/A</bridge_chip_type>
<bridge_chip_fw>N/A</bridge_chip_fw>
</pci_bridge_chip>
<replay_counter>0</replay_counter>
<replay_rollover_counter>0</replay_rollover_counter>
<tx_util>0 KB/s</tx_util>
<rx_util>0 KB/s</rx_util>
<atomic_caps_inbound>N/A</atomic_caps_inbound>
<atomic_caps_outbound>N/A</atomic_caps_outbound>
</pci>
<fan_speed>N/A</fan_speed>
<performance_state>P0</performance_state>
<clocks_event_reasons>
<clocks_event_reason_gpu_idle>Active</clocks_event_reason_gpu_idle>
<clocks_event_reason_applications_clocks_setting>Not Active</clocks_event_reason_applications_clocks_setting>
<clocks_event_reason_sw_power_cap>Not Active</clocks_event_reason_sw_power_cap>
<clocks_event_reason_hw_slowdown>Not Active</clocks_event_reason_hw_slowdown>
<clocks_event_reason_hw_thermal_slowdown>Not Active</clocks_event_reason_hw_thermal_slowdown>
<clocks_event_reason_hw_power_brake_slowdown>Not Active</clocks_event_reason_hw_power_brake_slowdown>
<clocks_event_reason_sync_boost>Not Active</clocks_event_reason_sync_boost>
<clocks_event_reason_sw_thermal_slowdown>Not Active</clocks_event_reason_sw_thermal_slowdown>
<clocks_event_reason_display_clocks_setting>Not Active</clocks_event_reason_display_clocks_setting>
</clocks_event_reasons>
<sparse_operation_mode>N/A</sparse_operation_mode>
<fb_memory_usage>
<total>23034 MiB</total>
<reserved>434 MiB</reserved>
<used>1 MiB</used>
<free>22601 MiB</free>
</fb_memory_usage>
<bar1_memory_usage>
<total>32768 MiB</total>
<used>1 MiB</used>
<free>32767 MiB</free>
</bar1_memory_usage>
<cc_protected_memory_usage>
<total>0 MiB</total>
<used>0 MiB</used>
<free>0 MiB</free>
</cc_protected_memory_usage>
<compute_mode>Default</compute_mode>
<utilization>
<gpu_util>3 %</gpu_util>
<memory_util>0 %</memory_util>
<encoder_util>0 %</encoder_util>
<decoder_util>0 %</decoder_util>
<jpeg_util>0 %</jpeg_util>
<ofa_util>0 %</ofa_util>
</utilization>
<encoder_stats>
<session_count>0</session_count>
<average_fps>0</average_fps>
<average_latency>0</average_latency>
</encoder_stats>
<fbc_stats>
<session_count>0</session_count>
<average_fps>0</average_fps>
<average_latency>0</average_latency>
</fbc_stats>
<ecc_mode>
<current_ecc>Enabled</current_ecc>
<pending_ecc>Enabled</pending_ecc>
</ecc_mode>
<ecc_errors>
<volatile>
<sram_correctable>0</sram_correctable>
<sram_uncorrectable_parity>0</sram_uncorrectable_parity>
<sram_uncorrectable_secded>0</sram_uncorrectable_secded>
<dram_correctable>0</dram_correctable>
<dram_uncorrectable>0</dram_uncorrectable>
</volatile>
<aggregate>
<sram_correctable>0</sram_correctable>
<sram_uncorrectable_parity>0</sram_uncorrectable_parity>
<sram_uncorrectable_secded>0</sram_uncorrectable_secded>
<dram_correctable>0</dram_correctable>
<dram_uncorrectable>0</dram_uncorrectable>
<sram_threshold_exceeded>No</sram_threshold_exceeded>
</aggregate>
<aggregate_uncorrectable_sram_sources>
<sram_l2>0</sram_l2>
<sram_sm>0</sram_sm>
<sram_microcontroller>0</sram_microcontroller>
<sram_pcie>0</sram_pcie>
<sram_other>0</sram_other>
</aggregate_uncorrectable_sram_sources>
</ecc_errors>
<retired_pages>
<multiple_single_bit_retirement>
<retired_count>N/A</retired_count>
<retired_pagelist>N/A</retired_pagelist>
</multiple_single_bit_retirement>
<double_bit_retirement>
<retired_count>N/A</retired_count>
<retired_pagelist>N/A</retired_pagelist>
</double_bit_retirement>
<pending_blacklist>N/A</pending_blacklist>
<pending_retirement>N/A</pending_retirement>
</retired_pages>
<remapped_rows>
<remapped_row_corr>0</remapped_row_corr>
<remapped_row_unc>0</remapped_row_unc>
<remapped_row_pending>No</remapped_row_pending>
<remapped_row_failure>No</remapped_row_failure>
<row_remapper_histogram>
<row_remapper_histogram_max>96 bank(s)</row_remapper_histogram_max>
<row_remapper_histogram_high>0 bank(s)</row_remapper_histogram_high>
<row_remapper_histogram_partial>0 bank(s)</row_remapper_histogram_partial>
<row_remapper_histogram_low>0 bank(s)</row_remapper_histogram_low>
<row_remapper_histogram_none>0 bank(s)</row_remapper_histogram_none>
</row_remapper_histogram>
</remapped_rows>
<temperature>
<gpu_temp>40 C</gpu_temp>
<gpu_temp_tlimit>43 C</gpu_temp_tlimit>
<gpu_temp_max_tlimit_threshold>-5 C</gpu_temp_max_tlimit_threshold>
<gpu_temp_slow_tlimit_threshold>-2 C</gpu_temp_slow_tlimit_threshold>
<gpu_temp_max_gpu_tlimit_threshold>0 C</gpu_temp_max_gpu_tlimit_threshold>
<gpu_target_temperature>N/A</gpu_target_temperature>
<memory_temp>N/A</memory_temp>
<gpu_temp_max_mem_tlimit_threshold>N/A</gpu_temp_max_mem_tlimit_threshold>
</temperature>
<supported_gpu_target_temp>
<gpu_target_temp_min>N/A</gpu_target_temp_min>
<gpu_target_temp_max>N/A</gpu_target_temp_max>
</supported_gpu_target_temp>
<gpu_power_readings>
<power_state>P0</power_state>
<power_draw>29.54 W</power_draw>
<current_power_limit>72.00 W</current_power_limit>
<requested_power_limit>72.00 W</requested_power_limit>
<default_power_limit>72.00 W</default_power_limit>
<min_power_limit>40.00 W</min_power_limit>
<max_power_limit>72.00 W</max_power_limit>
</gpu_power_readings>
<gpu_memory_power_readings>
<power_draw>N/A</power_draw>
</gpu_memory_power_readings>
<module_power_readings>
<power_state>P0</power_state>
<power_draw>N/A</power_draw>
<current_power_limit>N/A</current_power_limit>
<requested_power_limit>N/A</requested_power_limit>
<default_power_limit>N/A</default_power_limit>
<min_power_limit>N/A</min_power_limit>
<max_power_limit>N/A</max_power_limit>
</module_power_readings>
<clocks>
<graphics_clock>2040 MHz</graphics_clock>
<sm_clock>2040 MHz</sm_clock>
<mem_clock>6250 MHz</mem_clock>
<video_clock>1770 MHz</video_clock>
</clocks>
<applications_clocks>
<graphics_clock>2040 MHz</graphics_clock>
<mem_clock>6251 MHz</mem_clock>
</applications_clocks>
<default_applications_clocks>
<graphics_clock>2040 MHz</graphics_clock>
<mem_clock>6251 MHz</mem_clock>
</default_applications_clocks>
<deferred_clocks>
<mem_clock>N/A</mem_clock>
</deferred_clocks>
<max_clocks>
<graphics_clock>2040 MHz</graphics_clock>
<sm_clock>2040 MHz</sm_clock>
<mem_clock>6251 MHz</mem_clock>
<video_clock>1770 MHz</video_clock>
</max_clocks>
<max_customer_boost_clocks>
<graphics_clock>2040 MHz</graphics_clock>
</max_customer_boost_clocks>
<clock_policy>
<auto_boost>N/A</auto_boost>
<auto_boost_default>N/A</auto_boost_default>
</clock_policy>
<voltage>
<graphics_volt>910.000 mV</graphics_volt>
</voltage>
<fabric>
<state>N/A</state>
<status>N/A</status>
<cliqueId>N/A</cliqueId>
<clusterUuid>N/A</clusterUuid>
<health>
<bandwidth>N/A</bandwidth>
</health>
</fabric>
<supported_clocks>
<supported_mem_clock>
<value>6251 MHz</value>
<supported_graphics_clock>2040 MHz</supported_graphics_clock>
<supported_graphics_clock>2025 MHz</supported_graphics_clock>
<supported_graphics_clock>2010 MHz</supported_graphics_clock>
<supported_graphics_clock>1995 MHz</supported_graphics_clock>
<supported_graphics_clock>1980 MHz</supported_graphics_clock>
<supported_graphics_clock>1965 MHz</supported_graphics_clock>
<supported_graphics_clock>1950 MHz</supported_graphics_clock>
<supported_graphics_clock>1935 MHz</supported_graphics_clock>
<supported_graphics_clock>1920 MHz</supported_graphics_clock>
<supported_graphics_clock>1905 MHz</supported_graphics_clock>
<supported_graphics_clock>1890 MHz</supported_graphics_clock>
<supported_graphics_clock>1875 MHz</supported_graphics_clock>
<supported_graphics_clock>1860 MHz</supported_graphics_clock>
<supported_graphics_clock>1845 MHz</supported_graphics_clock>
<supported_graphics_clock>1830 MHz</supported_graphics_clock>
<supported_graphics_clock>1815 MHz</supported_graphics_clock>
<supported_graphics_clock>1800 MHz</supported_graphics_clock>
<supported_graphics_clock>1785 MHz</supported_graphics_clock>
<supported_graphics_clock>1770 MHz</supported_graphics_clock>
<supported_graphics_clock>1755 MHz</supported_graphics_clock>
<supported_graphics_clock>1740 MHz</supported_graphics_clock>
<supported_graphics_clock>1725 MHz</supported_graphics_clock>
<supported_graphics_clock>1710 MHz</supported_graphics_clock>
<supported_graphics_clock>1695 MHz</supported_graphics_clock>
<supported_graphics_clock>1680 MHz</supported_graphics_clock>
<supported_graphics_clock>1665 MHz</supported_graphics_clock>
<supported_graphics_clock>1650 MHz</supported_graphics_clock>
<supported_graphics_clock>1635 MHz</supported_graphics_clock>
<supported_graphics_clock>1620 MHz</supported_graphics_clock>
<supported_graphics_clock>1605 MHz</supported_graphics_clock>
<supported_graphics_clock>1590 MHz</supported_graphics_clock>
<supported_graphics_clock>1575 MHz</supported_graphics_clock>
<supported_graphics_clock>1560 MHz</supported_graphics_clock>
<supported_graphics_clock>1545 MHz</supported_graphics_clock>
<supported_graphics_clock>1530 MHz</supported_graphics_clock>
<supported_graphics_clock>1515 MHz</supported_graphics_clock>
<supported_graphics_clock>1500 MHz</supported_graphics_clock>
<supported_graphics_clock>1485 MHz</supported_graphics_clock>
<supported_graphics_clock>1470 MHz</supported_graphics_clock>
<supported_graphics_clock>1455 MHz</supported_graphics_clock>
<supported_graphics_clock>1440 MHz</supported_graphics_clock>
<supported_graphics_clock>1425 MHz</supported_graphics_clock>
<supported_graphics_clock>1410 MHz</supported_graphics_clock>
<supported_graphics_clock>1395 MHz</supported_graphics_clock>
<supported_graphics_clock>1380 MHz</supported_graphics_clock>
<supported_graphics_clock>1365 MHz</supported_graphics_clock>
<supported_graphics_clock>1350 MHz</supported_graphics_clock>
<supported_graphics_clock>1335 MHz</supported_graphics_clock>
<supported_graphics_clock>1320 MHz</supported_graphics_clock>
<supported_graphics_clock>1305 MHz</supported_graphics_clock>
<supported_graphics_clock>1290 MHz</supported_graphics_clock>
<supported_graphics_clock>1275 MHz</supported_graphics_clock>
<supported_graphics_clock>1260 MHz</supported_graphics_clock>
<supported_graphics_clock>1245 MHz</supported_graphics_clock>
<supported_graphics_clock>1230 MHz</supported_graphics_clock>
<supported_graphics_clock>1215 MHz</supported_graphics_clock>
<supported_graphics_clock>1200 MHz</supported_graphics_clock>
<supported_graphics_clock>1185 MHz</supported_graphics_clock>
<supported_graphics_clock>1170 MHz</supported_graphics_clock>
<supported_graphics_clock>1155 MHz</supported_graphics_clock>
<supported_graphics_clock>1140 MHz</supported_graphics_clock>
<supported_graphics_clock>1125 MHz</supported_graphics_clock>
<supported_graphics_clock>1110 MHz</supported_graphics_clock>
<supported_graphics_clock>1095 MHz</supported_graphics_clock>
<supported_graphics_clock>1080 MHz</supported_graphics_clock>
<supported_graphics_clock>1065 MHz</supported_graphics_clock>
<supported_graphics_clock>1050 MHz</supported_graphics_clock>
<supported_graphics_clock>1035 MHz</supported_graphics_clock>
<supported_graphics_clock>1020 MHz</supported_graphics_clock>
<supported_graphics_clock>1005 MHz</supported_graphics_clock>
<supported_graphics_clock>990 MHz</supported_graphics_clock>
<supported_graphics_clock>975 MHz</supported_graphics_clock>
<supported_graphics_clock>960 MHz</supported_graphics_clock>
<supported_graphics_clock>945 MHz</supported_graphics_clock>
<supported_graphics_clock>930 MHz</supported_graphics_clock>
<supported_graphics_clock>915 MHz</supported_graphics_clock>
<supported_graphics_clock>900 MHz</supported_graphics_clock>
<supported_graphics_clock>885 MHz</supported_graphics_clock>
<supported_graphics_clock>870 MHz</supported_graphics_clock>
<supported_graphics_clock>855 MHz</supported_graphics_clock>
<supported_graphics_clock>840 MHz</supported_graphics_clock>
<supported_graphics_clock>825 MHz</supported_graphics_clock>
<supported_graphics_clock>810 MHz</supported_graphics_clock>
<supported_graphics_clock>795 MHz</supported_graphics_clock>
<supported_graphics_clock>780 MHz</supported_graphics_clock>
<supported_graphics_clock>765 MHz</supported_graphics_clock>
<supported_graphics_clock>750 MHz</supported_graphics_clock>
<supported_graphics_clock>735 MHz</supported_graphics_clock>
<supported_graphics_clock>720 MHz</supported_graphics_clock>
<supported_graphics_clock>705 MHz</supported_graphics_clock>
<supported_graphics_clock>690 MHz</supported_graphics_clock>
<supported_graphics_clock>675 MHz</supported_graphics_clock>
<supported_graphics_clock>660 MHz</supported_graphics_clock>
<supported_graphics_clock>645 MHz</supported_graphics_clock>
<supported_graphics_clock>630 MHz</supported_graphics_clock>
<supported_graphics_clock>615 MHz</supported_graphics_clock>
<supported_graphics_clock>600 MHz</supported_graphics_clock>
<supported_graphics_clock>585 MHz</supported_graphics_clock>
<supported_graphics_clock>570 MHz</supported_graphics_clock>
<supported_graphics_clock>555 MHz</supported_graphics_clock>
<supported_graphics_clock>540 MHz</supported_graphics_clock>
<supported_graphics_clock>525 MHz</supported_graphics_clock>
<supported_graphics_clock>510 MHz</supported_graphics_clock>
<supported_graphics_clock>495 MHz</supported_graphics_clock>
<supported_graphics_clock>480 MHz</supported_graphics_clock>
<supported_graphics_clock>465 MHz</supported_graphics_clock>
<supported_graphics_clock>450 MHz</supported_graphics_clock>
<supported_graphics_clock>435 MHz</supported_graphics_clock>
<supported_graphics_clock>420 MHz</supported_graphics_clock>
<supported_graphics_clock>405 MHz</supported_graphics_clock>
<supported_graphics_clock>390 MHz</supported_graphics_clock>
<supported_graphics_clock>375 MHz</supported_graphics_clock>
<supported_graphics_clock>360 MHz</supported_graphics_clock>
<supported_graphics_clock>345 MHz</supported_graphics_clock>
<supported_graphics_clock>330 MHz</supported_graphics_clock>
<supported_graphics_clock>315 MHz</supported_graphics_clock>
<supported_graphics_clock>300 MHz</supported_graphics_clock>
<supported_graphics_clock>285 MHz</supported_graphics_clock>
<supported_graphics_clock>270 MHz</supported_graphics_clock>
<supported_graphics_clock>255 MHz</supported_graphics_clock>
<supported_graphics_clock>240 MHz</supported_graphics_clock>
<supported_graphics_clock>225 MHz</supported_graphics_clock>
<supported_graphics_clock>210 MHz</supported_graphics_clock>
</supported_mem_clock>
<supported_mem_clock>
<value>405 MHz</value>
<supported_graphics_clock>645 MHz</supported_graphics_clock>
<supported_graphics_clock>630 MHz</supported_graphics_clock>
<supported_graphics_clock>615 MHz</supported_graphics_clock>
<supported_graphics_clock>600 MHz</supported_graphics_clock>
<supported_graphics_clock>585 MHz</supported_graphics_clock>
<supported_graphics_clock>570 MHz</supported_graphics_clock>
<supported_graphics_clock>555 MHz</supported_graphics_clock>
<supported_graphics_clock>540 MHz</supported_graphics_clock>
<supported_graphics_clock>525 MHz</supported_graphics_clock>
<supported_graphics_clock>510 MHz</supported_graphics_clock>
<supported_graphics_clock>495 MHz</supported_graphics_clock>
<supported_graphics_clock>480 MHz</supported_graphics_clock>
<supported_graphics_clock>465 MHz</supported_graphics_clock>
<supported_graphics_clock>450 MHz</supported_graphics_clock>
<supported_graphics_clock>435 MHz</supported_graphics_clock>
<supported_graphics_clock>420 MHz</supported_graphics_clock>
<supported_graphics_clock>405 MHz</supported_graphics_clock>
<supported_graphics_clock>390 MHz</supported_graphics_clock>
<supported_graphics_clock>375 MHz</supported_graphics_clock>
<supported_graphics_clock>360 MHz</supported_graphics_clock>
<supported_graphics_clock>345 MHz</supported_graphics_clock>
<supported_graphics_clock>330 MHz</supported_graphics_clock>
<supported_graphics_clock>315 MHz</supported_graphics_clock>
<supported_graphics_clock>300 MHz</supported_graphics_clock>
<supported_graphics_clock>285 MHz</supported_graphics_clock>
<supported_graphics_clock>270 MHz</supported_graphics_clock>
<supported_graphics_clock>255 MHz</supported_graphics_clock>
<supported_graphics_clock>240 MHz</supported_graphics_clock>
<supported_graphics_clock>225 MHz</supported_graphics_clock>
<supported_graphics_clock>210 MHz</supported_graphics_clock>
</supported_mem_clock>
</supported_clocks>
<processes>
</processes>
<accounted_processes>
</accounted_processes>
<capabilities>
<egm>disabled</egm>
</capabilities>
</gpu>
</nvidia_smi_log>

View File

@ -0,0 +1,242 @@
<?xml version="1.0" ?>
<!DOCTYPE nvidia_smi_log SYSTEM "nvsmi_device_v10.dtd">
<nvidia_smi_log>
<timestamp>Mon Jul 15 15:24:14 2024</timestamp>
<driver_version>440.33.01</driver_version>
<cuda_version>10.2</cuda_version>
<attached_gpus>1</attached_gpus>
<gpu id="00000000:01:00.0">
<product_name>GeForce GTX 1080</product_name>
<product_brand>GeForce</product_brand>
<display_mode>Disabled</display_mode>
<display_active>Disabled</display_active>
<persistence_mode>Disabled</persistence_mode>
<accounting_mode>Disabled</accounting_mode>
<accounting_mode_buffer_size>4000</accounting_mode_buffer_size>
<driver_model>
<current_dm>N/A</current_dm>
<pending_dm>N/A</pending_dm>
</driver_model>
<serial>N/A</serial>
<uuid>GPU-bf6e9a3a-e0bb-c253-45b4-34c99ec25512</uuid>
<minor_number>0</minor_number>
<vbios_version>86.04.17.00.01</vbios_version>
<multigpu_board>No</multigpu_board>
<board_id>0x100</board_id>
<gpu_part_number>N/A</gpu_part_number>
<inforom_version>
<img_version>G001.0000.01.03</img_version>
<oem_object>1.1</oem_object>
<ecc_object>N/A</ecc_object>
<pwr_object>N/A</pwr_object>
</inforom_version>
<gpu_operation_mode>
<current_gom>N/A</current_gom>
<pending_gom>N/A</pending_gom>
</gpu_operation_mode>
<gpu_virtualization_mode>
<virtualization_mode>None</virtualization_mode>
<host_vgpu_mode>N/A</host_vgpu_mode>
</gpu_virtualization_mode>
<ibmnpu>
<relaxed_ordering_mode>N/A</relaxed_ordering_mode>
</ibmnpu>
<pci>
<pci_bus>01</pci_bus>
<pci_device>00</pci_device>
<pci_domain>0000</pci_domain>
<pci_device_id>1B8010DE</pci_device_id>
<pci_bus_id>00000000:01:00.0</pci_bus_id>
<pci_sub_system_id>119E10DE</pci_sub_system_id>
<pci_gpu_link_info>
<pcie_gen>
<max_link_gen>3</max_link_gen>
<current_link_gen>3</current_link_gen>
</pcie_gen>
<link_widths>
<max_link_width>16x</max_link_width>
<current_link_width>16x</current_link_width>
</link_widths>
</pci_gpu_link_info>
<pci_bridge_chip>
<bridge_chip_type>N/A</bridge_chip_type>
<bridge_chip_fw>N/A</bridge_chip_fw>
</pci_bridge_chip>
<replay_counter>0</replay_counter>
<replay_rollover_counter>0</replay_rollover_counter>
<tx_util>783000 KB/s</tx_util>
<rx_util>1269000 KB/s</rx_util>
</pci>
<fan_speed>53 %</fan_speed>
<performance_state>P2</performance_state>
<clocks_throttle_reasons>
<clocks_throttle_reason_gpu_idle>Not Active</clocks_throttle_reason_gpu_idle>
<clocks_throttle_reason_applications_clocks_setting>Not Active</clocks_throttle_reason_applications_clocks_setting>
<clocks_throttle_reason_sw_power_cap>Not Active</clocks_throttle_reason_sw_power_cap>
<clocks_throttle_reason_hw_slowdown>Not Active</clocks_throttle_reason_hw_slowdown>
<clocks_throttle_reason_hw_thermal_slowdown>Not Active</clocks_throttle_reason_hw_thermal_slowdown>
<clocks_throttle_reason_hw_power_brake_slowdown>Not Active</clocks_throttle_reason_hw_power_brake_slowdown>
<clocks_throttle_reason_sync_boost>Not Active</clocks_throttle_reason_sync_boost>
<clocks_throttle_reason_sw_thermal_slowdown>Not Active</clocks_throttle_reason_sw_thermal_slowdown>
<clocks_throttle_reason_display_clocks_setting>Not Active</clocks_throttle_reason_display_clocks_setting>
</clocks_throttle_reasons>
<fb_memory_usage>
<total>8119 MiB</total>
<used>2006 MiB</used>
<free>6113 MiB</free>
</fb_memory_usage>
<bar1_memory_usage>
<total>256 MiB</total>
<used>2 MiB</used>
<free>254 MiB</free>
</bar1_memory_usage>
<compute_mode>Default</compute_mode>
<utilization>
<gpu_util>32 %</gpu_util>
<memory_util>11 %</memory_util>
<encoder_util>17 %</encoder_util>
<decoder_util>25 %</decoder_util>
</utilization>
<encoder_stats>
<session_count>0</session_count>
<average_fps>0</average_fps>
<average_latency>0</average_latency>
</encoder_stats>
<fbc_stats>
<session_count>0</session_count>
<average_fps>0</average_fps>
<average_latency>0</average_latency>
</fbc_stats>
<ecc_mode>
<current_ecc>N/A</current_ecc>
<pending_ecc>N/A</pending_ecc>
</ecc_mode>
<ecc_errors>
<volatile>
<single_bit>
<device_memory>N/A</device_memory>
<register_file>N/A</register_file>
<l1_cache>N/A</l1_cache>
<l2_cache>N/A</l2_cache>
<texture_memory>N/A</texture_memory>
<texture_shm>N/A</texture_shm>
<cbu>N/A</cbu>
<total>N/A</total>
</single_bit>
<double_bit>
<device_memory>N/A</device_memory>
<register_file>N/A</register_file>
<l1_cache>N/A</l1_cache>
<l2_cache>N/A</l2_cache>
<texture_memory>N/A</texture_memory>
<texture_shm>N/A</texture_shm>
<cbu>N/A</cbu>
<total>N/A</total>
</double_bit>
</volatile>
<aggregate>
<single_bit>
<device_memory>N/A</device_memory>
<register_file>N/A</register_file>
<l1_cache>N/A</l1_cache>
<l2_cache>N/A</l2_cache>
<texture_memory>N/A</texture_memory>
<texture_shm>N/A</texture_shm>
<cbu>N/A</cbu>
<total>N/A</total>
</single_bit>
<double_bit>
<device_memory>N/A</device_memory>
<register_file>N/A</register_file>
<l1_cache>N/A</l1_cache>
<l2_cache>N/A</l2_cache>
<texture_memory>N/A</texture_memory>
<texture_shm>N/A</texture_shm>
<cbu>N/A</cbu>
<total>N/A</total>
</double_bit>
</aggregate>
</ecc_errors>
<retired_pages>
<multiple_single_bit_retirement>
<retired_count>N/A</retired_count>
<retired_pagelist>N/A</retired_pagelist>
</multiple_single_bit_retirement>
<double_bit_retirement>
<retired_count>N/A</retired_count>
<retired_pagelist>N/A</retired_pagelist>
</double_bit_retirement>
<pending_blacklist>N/A</pending_blacklist>
<pending_retirement>N/A</pending_retirement>
</retired_pages>
<temperature>
<gpu_temp>65 C</gpu_temp>
<gpu_temp_max_threshold>99 C</gpu_temp_max_threshold>
<gpu_temp_slow_threshold>96 C</gpu_temp_slow_threshold>
<gpu_temp_max_gpu_threshold>N/A</gpu_temp_max_gpu_threshold>
<memory_temp>N/A</memory_temp>
<gpu_temp_max_mem_threshold>N/A</gpu_temp_max_mem_threshold>
</temperature>
<power_readings>
<power_state>P2</power_state>
<power_management>Supported</power_management>
<power_draw>89.74 W</power_draw>
<power_limit>180.00 W</power_limit>
<default_power_limit>180.00 W</default_power_limit>
<enforced_power_limit>180.00 W</enforced_power_limit>
<min_power_limit>90.00 W</min_power_limit>
<max_power_limit>180.00 W</max_power_limit>
</power_readings>
<clocks>
<graphics_clock>1885 MHz</graphics_clock>
<sm_clock>1885 MHz</sm_clock>
<mem_clock>4513 MHz</mem_clock>
<video_clock>1695 MHz</video_clock>
</clocks>
<applications_clocks>
<graphics_clock>N/A</graphics_clock>
<mem_clock>N/A</mem_clock>
</applications_clocks>
<default_applications_clocks>
<graphics_clock>N/A</graphics_clock>
<mem_clock>N/A</mem_clock>
</default_applications_clocks>
<max_clocks>
<graphics_clock>1911 MHz</graphics_clock>
<sm_clock>1911 MHz</sm_clock>
<mem_clock>5005 MHz</mem_clock>
<video_clock>1708 MHz</video_clock>
</max_clocks>
<max_customer_boost_clocks>
<graphics_clock>N/A</graphics_clock>
</max_customer_boost_clocks>
<clock_policy>
<auto_boost>N/A</auto_boost>
<auto_boost_default>N/A</auto_boost_default>
</clock_policy>
<supported_clocks>N/A</supported_clocks>
<processes>
<process_info>
<pid>10131</pid>
<type>C</type>
<process_name>ffmpeg</process_name>
<used_memory>389 MiB</used_memory>
</process_info>
<process_info>
<pid>13597</pid>
<type>C</type>
<process_name>ffmpeg</process_name>
<used_memory>1054 MiB</used_memory>
</process_info>
<process_info>
<pid>16870</pid>
<type>C</type>
<process_name>ffmpeg</process_name>
<used_memory>549 MiB</used_memory>
</process_info>
</processes>
<accounted_processes>
</accounted_processes>
</gpu>
</nvidia_smi_log>

284
psutil/gpu/nvidia/nvidia.go Normal file
View File

@ -0,0 +1,284 @@
package nvidia
import (
"bytes"
"context"
"encoding/xml"
"fmt"
"os/exec"
"sync"
"time"
"github.com/datarhei/core/v16/psutil/gpu"
)
var Default gpu.GPU
func init() {
Default = New("")
}
type Megabytes uint64
func (m *Megabytes) UnmarshalText(text []byte) error {
value := uint64(0)
_, err := fmt.Sscanf(string(text), "%d MiB", &value)
if err != nil {
return err
}
*m = Megabytes(value * 1024 * 1024)
return nil
}
type Utilization float64
func (u *Utilization) UnmarshalText(text []byte) error {
value := float64(0)
_, err := fmt.Sscanf(string(text), "%f %%", &value)
if err != nil {
return err
}
*u = Utilization(value)
return nil
}
type Process struct {
PID int32 `xml:"pid"`
Memory Megabytes `xml:"used_memory"`
}
type GPUStats struct {
Name string `xml:"product_name"`
Architecture string `xml:"product_architecture"`
MemoryTotal Megabytes `xml:"fb_memory_usage>total"`
MemoryUsed Megabytes `xml:"fb_memory_usage>used"`
Usage Utilization `xml:"utilization>gpu_util"`
MemoryUsage Utilization `xml:"utilization>memory_util"`
EncoderUsage Utilization `xml:"utilization>encoder_util"`
DecoderUsage Utilization `xml:"utilization>decoder_util"`
Process []Process `xml:"processes>process_info"`
}
type Stats struct {
GPU []GPUStats `xml:"gpu"`
}
func parse(data []byte) (Stats, error) {
nv := Stats{}
err := xml.Unmarshal(data, &nv)
if err != nil {
return nv, fmt.Errorf("parsing report: %w", err)
}
return nv, nil
}
type nvidia struct {
cmd *exec.Cmd
wr *writer
lock sync.RWMutex
cancel context.CancelFunc
stats Stats
process map[int32]Process
err error
}
type dummy struct{}
func (d *dummy) Count() (int, error) { return 0, nil }
func (d *dummy) Stats() ([]gpu.Stats, error) { return nil, nil }
func (d *dummy) Process(pid int32) (gpu.Process, error) { return gpu.Process{}, gpu.ErrProcessNotFound }
type writer struct {
buf bytes.Buffer
ch chan Stats
}
var terminator = []byte("</nvidia_smi_log>\n")
func (w *writer) Write(data []byte) (int, error) {
n, err := w.buf.Write(data)
if err != nil {
return n, err
}
for {
idx := bytes.Index(w.buf.Bytes(), terminator)
if idx == -1 {
break
}
content := make([]byte, idx+len(terminator))
n, err := w.buf.Read(content)
if err != nil || n != len(content) {
break
}
s, err := parse(content)
if err != nil {
continue
}
w.ch <- s
}
return n, nil
}
func New(path string) gpu.GPU {
if len(path) == 0 {
path = "nvidia-smi"
}
_, err := exec.LookPath(path)
if err != nil {
return &dummy{}
}
n := &nvidia{
wr: &writer{
ch: make(chan Stats, 1),
},
process: map[int32]Process{},
}
ctx, cancel := context.WithCancel(context.Background())
n.cancel = cancel
go n.runner(ctx, path)
go n.reader(ctx)
return n
}
func (n *nvidia) reader(ctx context.Context) {
for {
select {
case <-ctx.Done():
return
case stats := <-n.wr.ch:
n.lock.Lock()
n.stats = stats
n.process = map[int32]Process{}
for _, g := range n.stats.GPU {
for _, p := range g.Process {
n.process[p.PID] = p
}
}
n.lock.Unlock()
}
}
}
func (n *nvidia) runner(ctx context.Context, path string) {
for {
n.cmd = exec.Command(path, "-q", "-x", "-l", "1")
n.cmd.Stdout = n.wr
err := n.cmd.Start()
if err != nil {
n.lock.Lock()
n.err = err
n.lock.Unlock()
time.Sleep(3 * time.Second)
continue
}
err = n.cmd.Wait()
n.lock.Lock()
n.err = err
n.lock.Unlock()
select {
case <-ctx.Done():
return
default:
}
}
}
func (n *nvidia) Count() (int, error) {
n.lock.RLock()
defer n.lock.RUnlock()
if n.err != nil {
return 0, n.err
}
return len(n.stats.GPU), nil
}
func (n *nvidia) Stats() ([]gpu.Stats, error) {
s := []gpu.Stats{}
n.lock.RLock()
defer n.lock.RUnlock()
if n.err != nil {
return s, n.err
}
for _, nv := range n.stats.GPU {
stats := gpu.Stats{
Name: nv.Name,
Architecture: nv.Architecture,
MemoryTotal: uint64(nv.MemoryTotal),
MemoryUsed: uint64(nv.MemoryUsed),
Usage: float64(nv.Usage),
MemoryUsage: float64(nv.MemoryUsage),
EncoderUsage: float64(nv.EncoderUsage),
DecoderUsage: float64(nv.DecoderUsage),
Process: []gpu.Process{},
}
for _, p := range nv.Process {
stats.Process = append(stats.Process, gpu.Process{
PID: p.PID,
Memory: uint64(p.Memory),
})
}
s = append(s, stats)
}
return s, nil
}
func (n *nvidia) Process(pid int32) (gpu.Process, error) {
n.lock.RLock()
defer n.lock.RUnlock()
p, hasProcess := n.process[pid]
if !hasProcess {
return gpu.Process{}, gpu.ErrProcessNotFound
}
return gpu.Process{
PID: p.PID,
Memory: uint64(p.Memory),
}, nil
}
func (n *nvidia) Close() {
n.lock.Lock()
defer n.lock.Unlock()
if n.cancel == nil {
return
}
n.cancel()
n.cancel = nil
n.cmd.Process.Kill()
}

View File

@ -0,0 +1,102 @@
package nvidia
import (
"os"
"testing"
"github.com/stretchr/testify/require"
)
func TestParseNV(t *testing.T) {
data, err := os.ReadFile("./fixtures/data1.xml")
require.NoError(t, err)
nv, err := parse(data)
require.NoError(t, err)
require.Equal(t, Stats{
GPU: []GPUStats{
{
Name: "NVIDIA GeForce GTX 1080",
Architecture: "Pascal",
MemoryTotal: 8119 * 1024 * 1024,
MemoryUsed: 918 * 1024 * 1024,
Usage: 15,
MemoryUsage: 7,
EncoderUsage: 3,
DecoderUsage: 0,
Process: []Process{
{
PID: 18179,
Memory: 916 * 1024 * 1024,
},
},
},
},
}, nv)
data, err = os.ReadFile("./fixtures/data2.xml")
require.NoError(t, err)
nv, err = parse(data)
require.NoError(t, err)
require.Equal(t, Stats{
GPU: []GPUStats{
{
Name: "NVIDIA L4",
Architecture: "Ada Lovelace",
MemoryTotal: 23034 * 1024 * 1024,
MemoryUsed: 1 * 1024 * 1024,
Usage: 2,
MemoryUsage: 0,
EncoderUsage: 0,
DecoderUsage: 0,
},
{
Name: "NVIDIA L4",
Architecture: "Ada Lovelace",
MemoryTotal: 23034 * 1024 * 1024,
MemoryUsed: 1 * 1024 * 1024,
Usage: 3,
MemoryUsage: 0,
EncoderUsage: 0,
DecoderUsage: 0,
},
},
}, nv)
data, err = os.ReadFile("./fixtures/data3.xml")
require.NoError(t, err)
nv, err = parse(data)
require.NoError(t, err)
require.Equal(t, Stats{
GPU: []GPUStats{
{
Name: "GeForce GTX 1080",
MemoryTotal: 8119 * 1024 * 1024,
MemoryUsed: 2006 * 1024 * 1024,
Usage: 32,
MemoryUsage: 11,
EncoderUsage: 17,
DecoderUsage: 25,
Process: []Process{
{
PID: 10131,
Memory: 389 * 1024 * 1024,
},
{
PID: 13597,
Memory: 1054 * 1024 * 1024,
},
{
PID: 16870,
Memory: 549 * 1024 * 1024,
},
},
},
},
}, nv)
}

View File

@ -13,6 +13,8 @@ import (
"sync"
"time"
"github.com/datarhei/core/v16/psutil/gpu/nvidia"
"github.com/shirou/gopsutil/v3/cpu"
"github.com/shirou/gopsutil/v3/disk"
"github.com/shirou/gopsutil/v3/mem"
@ -58,6 +60,18 @@ type CPUInfoStat struct {
Other float64 // percent 0-100
}
type GPUInfoStat struct {
Name string
MemoryTotal uint64 // bytes
MemoryUsed uint64 // bytes
Usage float64 // percent 0-100
MemoryUsage float64 // percent 0-100
EncoderUsage float64 // percent 0-100
DecoderUsage float64 // percent 0-100
}
type cpuTimesStat struct {
total float64 // seconds
system float64 // seconds
@ -73,12 +87,16 @@ type Util interface {
// CPUCounts returns the number of cores, either logical or physical.
CPUCounts(logical bool) (float64, error)
// GPUCounts returns the number of GPU cores.
GPUCounts() (float64, error)
// CPUPercent returns the current CPU load in percent. The values range
// from 0 to 100, independently of the number of logical cores.
CPUPercent() (*CPUInfoStat, error)
DiskUsage(path string) (*disk.UsageStat, error)
VirtualMemory() (*MemoryInfoStat, error)
NetIOCounters(pernic bool) ([]net.IOCountersStat, error)
GPUStats() ([]GPUInfoStat, error)
// Process returns a process observer for a process with the given pid.
Process(pid int32) (Process, error)
@ -282,6 +300,16 @@ func CPUCounts(logical bool) (float64, error) {
return DefaultUtil.CPUCounts(logical)
}
func (u *util) GPUCounts() (float64, error) {
count, err := nvidia.Default.Count()
return float64(count), err
}
func GPUCounts() (float64, error) {
return DefaultUtil.GPUCounts()
}
// cpuTimes returns the current cpu usage times in seconds.
func (u *util) cpuTimes() (*cpuTimesStat, error) {
if u.hasCgroup && u.cpuLimit > 0 {
@ -534,3 +562,30 @@ func cpuTotal(c *cpu.TimesStat) float64 {
return c.User + c.System + c.Idle + c.Nice + c.Iowait + c.Irq +
c.Softirq + c.Steal + c.Guest + c.GuestNice
}
func (u *util) GPUStats() ([]GPUInfoStat, error) {
nvstats, err := nvidia.Default.Stats()
if err != nil {
return nil, err
}
stats := []GPUInfoStat{}
for _, nv := range nvstats {
stats = append(stats, GPUInfoStat{
Name: nv.Name,
MemoryTotal: nv.MemoryTotal,
MemoryUsed: nv.MemoryUsed,
Usage: nv.Usage,
MemoryUsage: nv.MemoryUsage,
EncoderUsage: nv.EncoderUsage,
DecoderUsage: nv.DecoderUsage,
})
}
return stats, nil
}
func GPUStats() ([]GPUInfoStat, error) {
return DefaultUtil.GPUStats()
}

View File

@ -21,6 +21,10 @@ func (u *util) CPUCounts(logical bool) (float64, error) {
return 2, nil
}
func (u *util) GPUCounts() (float64, error) {
return 0, nil
}
func (u *util) CPUPercent() (*psutil.CPUInfoStat, error) {
return &psutil.CPUInfoStat{
System: 10,
@ -46,6 +50,10 @@ func (u *util) NetIOCounters(pernic bool) ([]net.IOCountersStat, error) {
return nil, nil
}
func (u *util) GPUStats() ([]psutil.GPUInfoStat, error) {
return nil, nil
}
func (u *util) Process(pid int32) (psutil.Process, error) {
return nil, nil
}