Documented and adjusted python apis for pm metrics and reg table info
* amdsmi_get_gpu_pm_metrics_info and amdsmi_get_gpu_reg_table_info
were added to python api documentation
* AmdSmiRegType added as enum
* amdsmi_get_gpu_reg_table_info reg_type changed to AmdSmiRegType
Signed-off-by: gabrpham <Gabriel.Pham@amd.com>
Change-Id: I57239ecf048e82226151db071e8d9299e9182647
[ROCm/amdsmi commit: 4d26db84ca]
This commit is contained in:
committed by
Maisam Arif
orang tua
194c33852f
melakukan
5337da2573
@@ -2344,6 +2344,78 @@ except AmdSmiException as e:
|
||||
print(e)
|
||||
```
|
||||
|
||||
### amdsmi_get_gpu_pm_metrics_info
|
||||
|
||||
Description: This function will retreive the name and value for each
|
||||
item in the pm metrics table with the given processor handle.
|
||||
|
||||
Input parameters:
|
||||
|
||||
* `processor_handle` handle for the given device
|
||||
|
||||
Output: List containing dictionaries of pm metrics and their values
|
||||
|
||||
Field | Description
|
||||
---|---
|
||||
`name` | name of PM metric
|
||||
`value` | value of pm metric
|
||||
|
||||
Exceptions that can be thrown by `amdsmi_get_gpu_pm_metrics_info` 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:
|
||||
print(amdsmi_get_gpu_pm_metrics_info(device))
|
||||
except AmdSmiException as e:
|
||||
print(e)
|
||||
```
|
||||
|
||||
### amdsmi_get_gpu_reg_table_info
|
||||
|
||||
Description: This function will retrieve register metrics table with provided device index and register type.
|
||||
|
||||
Input parameters:
|
||||
|
||||
* `processor_handle` handle for the given device
|
||||
* `reg_type` register type
|
||||
|
||||
Output: List containing dictionaries of register metrics and their values
|
||||
|
||||
Field | Description
|
||||
---|---
|
||||
`name` | name of register metric
|
||||
`value` | value of register metric
|
||||
|
||||
Exceptions that can be thrown by `amdsmi_get_gpu_reg_table_info` 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:
|
||||
print(amdsmi_get_gpu_reg_table_info(device, AmdSmiRegType.USR1))
|
||||
except AmdSmiException as e:
|
||||
print(e)
|
||||
```
|
||||
|
||||
### amdsmi_get_gpu_od_volt_curve_regions
|
||||
|
||||
Description: This function will retrieve the current valid regions in the
|
||||
|
||||
@@ -412,6 +412,14 @@ class AmdSmiProcessorType(IntEnum):
|
||||
AMDSMI_PROCESSOR_TYPE_NON_AMD_CPU = amdsmi_wrapper.AMDSMI_PROCESSOR_TYPE_NON_AMD_CPU
|
||||
|
||||
|
||||
class AmdSmiRegType(IntEnum):
|
||||
XGMI = amdsmi_wrapper.AMDSMI_REG_XGMI
|
||||
WAFL = amdsmi_wrapper.AMDSMI_REG_WAFL
|
||||
PCIE = amdsmi_wrapper.AMDSMI_REG_PCIE
|
||||
USR = amdsmi_wrapper.AMDSMI_REG_USR
|
||||
USR1 = amdsmi_wrapper.AMDSMI_REG_USR1
|
||||
|
||||
|
||||
class AmdSmiEventReader:
|
||||
def __init__(
|
||||
self, processor_handle: amdsmi_wrapper.amdsmi_processor_handle,
|
||||
@@ -1767,7 +1775,7 @@ def amdsmi_get_gpu_pm_metrics_info(
|
||||
|
||||
def amdsmi_get_gpu_reg_table_info(
|
||||
processor_handle: amdsmi_wrapper.amdsmi_processor_handle,
|
||||
reg_type: amdsmi_wrapper.amdsmi_reg_type_t,
|
||||
reg_type: AmdSmiRegType,
|
||||
) -> Dict[str, Any]:
|
||||
if not isinstance(processor_handle, amdsmi_wrapper.amdsmi_processor_handle):
|
||||
raise AmdSmiParameterException(
|
||||
|
||||
Reference in New Issue
Block a user