[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:
committed by
Maisam Arif
orang tua
e5569ee925
melakukan
7d8e54d0e1
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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]:
|
||||
|
||||
@@ -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',
|
||||
|
||||
Reference in New Issue
Block a user