From 4a5bbdef570c2560701d98c4f75dd1f6ee65cd49 Mon Sep 17 00:00:00 2001 From: Gregory Stoner Date: Sun, 16 Sep 2018 12:32:33 -0500 Subject: [PATCH] Update README.md [ROCm/amdsmi commit: 959468d0b6f6a76fff5d96056be2c459b385c97c] --- projects/amdsmi/README.md | 45 +++++++++++++++++++++++++++++++++++---- 1 file changed, 41 insertions(+), 4 deletions(-) diff --git a/projects/amdsmi/README.md b/projects/amdsmi/README.md index 1220fe391f..adcf73b6a3 100644 --- a/projects/amdsmi/README.md +++ b/projects/amdsmi/README.md @@ -2,10 +2,47 @@ C++ Library interface for ROCm-SMI to allow you to monitor/trace GPU system atributes -- GPU Clocks -- Memory Clocks -- GPU Temperature -- GPU Fan Speed - If you have active cooled device with a fan. +| NVML API | Type | Sub-type | Rocm-smi equivalent API | +|-------------------|--------|---------------|-----------------------------------| +| **Power State** | | | | +| GetEnforcedPowerLimit| Device |Power| rsmi_dev_power_cap_set() | +| GetPowerManagementLimit| Device |Power |rsmi_dev_power_cap_get() | +| GetPowerManagementLimitConstraints| Device| Power| rsmi_dev_power_cap_range_get()| +| GetPowerUsage| Device| Power | rsmi_dev_power_ave_get()| +| SetPowerManagementLimit | Device | Power| rsmi_dev_power_cap_set()| +| **Performance State** | | | | +| GetApplicationsClock | Device |Clocks | rsmi_dev_get_gpu_sys_freq() rsmi_dev_get_mem_sys_freq()| +| GetAutoBoostedClocksEnabled | Device |Clocks| rsmi_dev_perf_level_get()| +| GetClock |Device |Clocks |rsmi_dev_get_gpu_sys_freq(). rsmi_dev_get_mem_sys_freq()| +| GetClockInfo | Device | Clocks | rsmi_dev_get_gpu_sys_freq(), rsmi_dev_get_mem_sys_freq()| +| GetMaxClockInfo | Device | Clocks | rsmi_dev_get_gpu_sys_freq(), rsmi_dev_get_mem_sys_freq()| +| GetSupportedGraphicsClocks| Device | Clocks| rsmi_dev_get_gpu_sys_freq(), rsmi_dev_get_mem_sys_freq()| +| GetSupportedMemoryClocks |Device| Clocks |rsmi_dev_get_gpu_sys_freq() rsmi_dev_get_mem_sys_freq()| +| SetAutoBoostedClocksEnabled| Device| Clocks | rsmi_dev_perf_level_set() | +| GetFanSpeed | Device | Physcial | rsmi_dev_mon_get_fan_speed() rsmi_dev_mon_get_max_fan_speed() rsmi_dev_fan_rpms_get() | +| GetTemperature | Device |Physcial | rsmi_dev_temp_metric_get() | +| GetTemperatureThreshold. | Device | Physcial | rsmi_dev_temp_metric_get()| +| **Initialization and Cleanup** | | | | +| Init | | | | +| InitWithFlags | Mngt | Admin | rsmi_init() | +| Shutdown| Mngt | Admin |rsmi_shut_down() | +|**Error Reporting** | | | | +| ErrorString | ErrRpt |Err. Rep | rsmi_status_string() | +| **Unit Queries** | | | | +| UnitGetCount |Unit | Admin | rsmi_num_monitor_devices() | +| UnitGetFanSpeedInfo | Unit | Physcial | rsmi_dev_fan_rpms_get(), rsmi_dev_van_speed_get() | +| UnitGetTemperature |. Device | Physical | rsmi_dev_temp_metric_get() | +| UnitGetUnitInfo| Unit |ID. | rsmi_dev_id_get() (device ID) | +| **Unit Commands** | | | | +| DeviceSetApplicationsClocks | Device | Clocks| rsmi_dev_gpu_clk_freq_set() | +| DeviceSetComputeMode | Device | Performance | rsmi_dev_power_profile_set() rsmi_dev_gpu_clk_freq_set() rsmi_dev_perf_level_set() | +| DeviceSetGpuOperationMode| Device | Power | rsmi_dev_power_profile_set()| +| DeviceSetPowerManagementLimit | Device | Power | rsmi_dev_power_cap_set() rsmi_dev_power_profile_set()| +| **ROCm Only Clock Management API** | | | +| | Device | Clocks | rsmi_dev_perf_level_get() | +| | Device | Clocks| rsmi_dev_perf_level_set() | +| | Device. | Clocks | rsmi_dev_overdrive_level_get() | +| | Device. | Clocks | rsmi_dev_overdrive_level_set() | Example application is logging performance data like Kerenl execution time vs GPU Temprature, GPU and Memory Clocks