[SWDEV-450553] Added gpu memory overdrive to metric function

Signed-off-by: gabrpham <Gabriel.Pham@amd.com>
Change-Id: If7bd6865d641a5a83c594a4d3c57938b1b6dc18e
This commit is contained in:
gabrpham
2024-08-29 10:21:06 -05:00
committed by Maisam Arif
orang tua e5569ee925
melakukan 7d8e54d0e1
10 mengubah file dengan 133 tambahan dan 12 penghapusan
+32
Melihat File
@@ -2156,6 +2156,38 @@ except AmdSmiException as e:
print(e)
```
### amdsmi_get_gpu_mem_overdrive_level
Description: Get the GPU memory clock overdrive percent associated with the device with provided
device handle. It is not supported on virtual machine guest
Input parameters:
* `processor_handle` handle for the given device
Output: Overdrive percentage as integer
Exceptions that can be thrown by `amdsmi_get_gpu_mem_overdrive_level` function:
* `AmdSmiLibraryException`
* `AmdSmiRetryException`
* `AmdSmiParameterException`
Example:
```python
try:
devices = amdsmi_get_processor_handles()
if len(devices) == 0:
print("No GPUs on machine")
else:
for device in devices:
od_level = amdsmi_get_gpu_mem_overdrive_level(dev)
print(od_level)
except AmdSmiException as e:
print(e)
```
### amdsmi_get_clk_freq
Description: Get the list of possible system clock speeds of device for a
+1
Melihat File
@@ -150,6 +150,7 @@ from .amdsmi_interface import amdsmi_get_gpu_volt_metric
from .amdsmi_interface import amdsmi_get_utilization_count
from .amdsmi_interface import amdsmi_get_gpu_perf_level
from .amdsmi_interface import amdsmi_get_gpu_overdrive_level
from .amdsmi_interface import amdsmi_get_gpu_mem_overdrive_level
from .amdsmi_interface import amdsmi_get_clk_freq
from .amdsmi_interface import amdsmi_get_gpu_od_volt_info
from .amdsmi_interface import amdsmi_get_gpu_metrics_info
+18
Melihat File
@@ -3458,6 +3458,24 @@ def amdsmi_get_gpu_overdrive_level(
return od_level.value
def amdsmi_get_gpu_mem_overdrive_level(
processor_handle: amdsmi_wrapper.amdsmi_processor_handle,
) -> int:
if not isinstance(processor_handle, amdsmi_wrapper.amdsmi_processor_handle):
raise AmdSmiParameterException(
processor_handle, amdsmi_wrapper.amdsmi_processor_handle
)
mem_od_level = ctypes.c_uint32()
_check_res(
amdsmi_wrapper.amdsmi_get_gpu_mem_overdrive_level(
processor_handle, ctypes.byref(mem_od_level)
)
)
return mem_od_level.value
def amdsmi_get_clk_freq(
processor_handle: amdsmi_wrapper.amdsmi_processor_handle, clk_type: AmdSmiClkType
) -> Dict[str, Any]:
+5 -1
Melihat File
@@ -2060,6 +2060,9 @@ amdsmi_set_gpu_perf_determinism_mode.argtypes = [amdsmi_processor_handle, uint64
amdsmi_get_gpu_overdrive_level = _libraries['libamd_smi.so'].amdsmi_get_gpu_overdrive_level
amdsmi_get_gpu_overdrive_level.restype = amdsmi_status_t
amdsmi_get_gpu_overdrive_level.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_gpu_mem_overdrive_level = _libraries['libamd_smi.so'].amdsmi_get_gpu_mem_overdrive_level
amdsmi_get_gpu_mem_overdrive_level.restype = amdsmi_status_t
amdsmi_get_gpu_mem_overdrive_level.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_clk_freq = _libraries['libamd_smi.so'].amdsmi_get_clk_freq
amdsmi_get_clk_freq.restype = amdsmi_status_t
amdsmi_get_clk_freq.argtypes = [amdsmi_processor_handle, amdsmi_clk_type_t, ctypes.POINTER(struct_amdsmi_frequencies_t)]
@@ -2671,7 +2674,8 @@ __all__ = \
'amdsmi_get_gpu_ecc_enabled', 'amdsmi_get_gpu_ecc_status',
'amdsmi_get_gpu_event_notification', 'amdsmi_get_gpu_fan_rpms',
'amdsmi_get_gpu_fan_speed', 'amdsmi_get_gpu_fan_speed_max',
'amdsmi_get_gpu_id', 'amdsmi_get_gpu_memory_partition',
'amdsmi_get_gpu_id', 'amdsmi_get_gpu_mem_overdrive_level',
'amdsmi_get_gpu_memory_partition',
'amdsmi_get_gpu_memory_reserved_pages',
'amdsmi_get_gpu_memory_total', 'amdsmi_get_gpu_memory_usage',
'amdsmi_get_gpu_metrics_header_info',