amdsmi: py-interface: Add python interface for esmi api

Change-Id: I4a3ab1168a7d1bf011ecc9c508e111c281503520


[ROCm/amdsmi commit: 94d3c563a3]
This commit is contained in:
Naveen Krishna Chatradhi
2023-12-07 07:30:31 -08:00
کامیت شده توسط khashaik
والد 4bd015f945
کامیت 37f1d47b0e
4فایلهای تغییر یافته به همراه940 افزوده شده و 398 حذف شده
@@ -5124,40 +5124,17 @@ except AmdSmiException as e:
## CPU APIs
### amdsmi_get_cpusocket_handles
**Note: CURRENTLY HARDCODED TO RETURN DUMMY DATA**
Description: Returns list of cpusocket handle objects on current machine
Input parameters: `None`
Output: List of cpusocket handle objects
Exceptions that can be thrown by `amdsmi_get_cpusocket_handles` function:
* `AmdSmiLibraryException`
Example:
```python
try:
sockets = amdsmi_get_cpusocket_handles()
print('Socket numbers: {}'.format(len(sockets)))
except AmdSmiException as e:
print(e)
```
### amdsmi_get_cpusocket_info
### amdsmi_get_processor_info
**Note: CURRENTLY HARDCODED TO RETURN EMPTY VALUES**
Description: Return cpu socket index
Description: Return processor name
Input parameters:
`socket_handle` cpu socket handle
`processor_handle` processor handle
Output: Socket index
Output: Processor name
Exceptions that can be thrown by `amdsmi_get_cpusocket_info` function:
Exceptions that can be thrown by `amdsmi_get_processor_info` function:
* `AmdSmiLibraryException`
@@ -5165,38 +5142,12 @@ Example:
```python
try:
socket_handles = amdsmi_get_cpusocket_handles()
if len(socket_handles) == 0:
print("No CPU sockets on machine")
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No processors on machine")
else:
for socket in socket_handles:
print(amdsmi_get_cpusocket_info(socket))
except AmdSmiException as e:
print(e)
```
### amdsmi_get_cpucore_handles
Description: Returns list of CPU core handle objects on current machine
Input parameters: `None`
Output: List of CPU core handle objects
Exceptions that can be thrown by `amdsmi_get_cpucore_handles` function:
* `AmdSmiLibraryException`
Example:
```python
try:
core_handles = amdsmi_get_cpucore_handles()
if len(core_handles) == 0:
print("No CPU cores on machine")
else:
for core in core_handles:
print(amdsmi_get_cpucore_info(core))
for processor in processor_handles:
print(amdsmi_get_processor_info(processor))
except AmdSmiException as e:
print(e)
```
@@ -5215,12 +5166,12 @@ Example:
```python
try:
socket_handles = amdsmi_get_cpusocket_handles()
if len(socket_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for socket in socket_handles:
version = amdsmi_get_cpu_hsmp_proto_ver(socket)
for processor in processor_handles:
version = amdsmi_get_cpu_hsmp_proto_ver(processor)
print(version)
except AmdSmiException as e:
print(e)
@@ -5240,12 +5191,12 @@ Example:
```python
try:
socket_handles = amdsmi_get_cpusocket_handles()
if len(socket_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for socket in socket_handles:
version = amdsmi_get_cpu_smu_fw_version(socket)
for processor in processor_handles:
version = amdsmi_get_cpu_smu_fw_version(processor)
print(version['debug'])
print(version['minor'])
print(version['major'])
@@ -5267,12 +5218,12 @@ Example:
```python
try:
socket_handles = amdsmi_get_cpusocket_handles()
if len(socket_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for socket in socket_handles:
prochot = amdsmi_get_cpu_prochot_status(socket)
for processor in processor_handles:
prochot = amdsmi_get_cpu_prochot_status(processor)
print(prochot)
except AmdSmiException as e:
print(e)
@@ -5292,12 +5243,12 @@ Example:
```python
try:
socket_handles = amdsmi_get_cpusocket_handles()
if len(socket_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for socket in socket_handles:
clk = amdsmi_get_cpu_fclk_mclk(socket)
for processor in processor_handles:
clk = amdsmi_get_cpu_fclk_mclk(processor)
for fclk, mclk in clk.items():
print(fclk)
print(mclk)
@@ -5319,12 +5270,12 @@ Example:
```python
try:
socket_handles = amdsmi_get_cpusocket_handles()
if len(socket_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for socket in socket_handles:
cclk_limit = amdsmi_get_cpu_cclk_limit(socket)
for processor in processor_handles:
cclk_limit = amdsmi_get_cpu_cclk_limit(processor)
print(cclk_limit)
except AmdSmiException as e:
print(e)
@@ -5344,12 +5295,12 @@ Example:
```python
try:
socket_handles = amdsmi_get_cpusocket_handles()
if len(socket_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for socket in socket_handles:
freq_limit = amdsmi_get_cpu_socket_current_active_freq_limit(socket)
for processor in processor_handles:
freq_limit = amdsmi_get_cpu_socket_current_active_freq_limit(processor)
for freq, src in freq_limit.items():
print(freq)
print(src)
@@ -5371,12 +5322,12 @@ Example:
```python
try:
socket_handles = amdsmi_get_cpusocket_handles()
if len(socket_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for socket in socket_handles:
freq_range = amdsmi_get_cpu_socket_freq_range(socket)
for processor in processor_handles:
freq_range = amdsmi_get_cpu_socket_freq_range(processor)
for fmax, fmin in freq_range.items():
print(fmax)
print(fmin)
@@ -5398,12 +5349,12 @@ Example:
```python
try:
core_handles = amdsmi_get_cpucore_handles()
if len(core_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU cores on machine")
else:
for core in core_handles:
freq_limit = amdsmi_get_cpu_core_current_freq_limit(core)
for processor in processor_handles:
freq_limit = amdsmi_get_cpu_core_current_freq_limit(processor)
print(freq_limit)
except AmdSmiException as e:
print(e)
@@ -5423,12 +5374,12 @@ Example:
```python
try:
socket_handles = amdsmi_get_cpusocket_handles()
if len(socket_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for socket in socket_handles:
sock_power = amdsmi_get_cpu_socket_power(socket)
for processor in processor_handles:
sock_power = amdsmi_get_cpu_socket_power(processor)
print(sock_power)
except AmdSmiException as e:
print(e)
@@ -5448,12 +5399,12 @@ Example:
```python
try:
socket_handles = amdsmi_get_cpusocket_handles()
if len(socket_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for socket in socket_handles:
sock_power = amdsmi_get_cpu_socket_power_cap(socket)
for processor in processor_handles:
sock_power = amdsmi_get_cpu_socket_power_cap(processor)
print(sock_power)
except AmdSmiException as e:
print(e)
@@ -5473,12 +5424,12 @@ Example:
```python
try:
socket_handles = amdsmi_get_cpusocket_handles()
if len(socket_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for socket in socket_handles:
sock_power = amdsmi_get_cpu_socket_power_cap_max(socket)
for processor in processor_handles:
sock_power = amdsmi_get_cpu_socket_power_cap_max(processor)
print(sock_power)
except AmdSmiException as e:
print(e)
@@ -5498,12 +5449,12 @@ Example:
```python
try:
socket_handles = amdsmi_get_cpusocket_handles()
if len(socket_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for socket in socket_handles:
power = amdsmi_get_cpu_pwr_svi_telemetry_all_rails(socket)
for processor in processor_handles:
power = amdsmi_get_cpu_pwr_svi_telemetry_all_rails(processor)
print(power)
except AmdSmiException as e:
print(e)
@@ -5513,7 +5464,7 @@ except AmdSmiException as e:
Description: Set the power cap value for a given socket.
Input: socket index, amdsmi socket power cap value
Input: amdsmi socket power cap value
Exceptions that can be thrown by `amdsmi_set_cpu_socket_power_cap` function:
@@ -5523,12 +5474,12 @@ Example:
```python
try:
socket_handles = amdsmi_get_cpusocket_handles()
if len(socket_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for socket in socket_handles:
power = amdsmi_set_cpu_socket_power_cap(socket, 0, 1000)
for processor in processor_handles:
power = amdsmi_set_cpu_socket_power_cap(processor, 1000)
except AmdSmiException as e:
print(e)
```
@@ -5537,7 +5488,7 @@ except AmdSmiException as e:
Description: Set the power efficiency profile policy.
Input: socket index, mode(0, 1, or 2)
Input: mode(0, 1, or 2)
Exceptions that can be thrown by `amdsmi_set_cpu_pwr_efficiency_mode` function:
@@ -5547,12 +5498,12 @@ Example:
```python
try:
socket_handles = amdsmi_get_cpusocket_handles()
if len(socket_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for socket in socket_handles:
policy = amdsmi_set_cpu_pwr_efficiency_mode(socket, 0, 0)
for processor in processor_handles:
policy = amdsmi_set_cpu_pwr_efficiency_mode(processor, 0)
except AmdSmiException as e:
print(e)
```
@@ -5571,12 +5522,12 @@ Example:
```python
try:
core_handles = amdsmi_get_cpucore_handles()
if len(core_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU cores on machine")
else:
for core in core_handles:
boost_limit = amdsmi_get_cpu_core_boostlimit(core)
for processor in processor_handles:
boost_limit = amdsmi_get_cpu_core_boostlimit(processor)
print(boost_limit)
except AmdSmiException as e:
print(e)
@@ -5596,12 +5547,12 @@ Example:
```python
try:
socket_handles = amdsmi_get_cpusocket_handles()
if len(socket_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for socket in socket_handles:
c0_residency = amdsmi_get_cpu_socket_c0_residency(socket)
for processor in processor_handles:
c0_residency = amdsmi_get_cpu_socket_c0_residency(processor)
print(c0_residency)
except AmdSmiException as e:
print(e)
@@ -5621,12 +5572,12 @@ Example:
```python
try:
core_handles = amdsmi_get_cpucore_handles()
if len(core_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU cores on machine")
else:
for core in core_handles:
boost_limit = amdsmi_set_cpu_core_boostlimit(core, 1000)
for processor in processor_handles:
boost_limit = amdsmi_set_cpu_core_boostlimit(processor, 1000)
except AmdSmiException as e:
print(e)
```
@@ -5645,12 +5596,12 @@ Example:
```python
try:
socket_handles = amdsmi_get_cpusocket_handles()
if len(socket_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for socket in socket_handles:
boost_limit = amdsmi_set_cpu_socket_boostlimit(socket, 1000)
for processor in processor_handles:
boost_limit = amdsmi_set_cpu_socket_boostlimit(processor, 1000)
except AmdSmiException as e:
print(e)
```
@@ -5669,12 +5620,12 @@ Example:
```python
try:
socket_handles = amdsmi_get_cpusocket_handles()
if len(socket_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for socket in socket_handles:
ddr_bw = amdsmi_get_cpu_ddr_bw(socket)
for processor in processor_handles:
ddr_bw = amdsmi_get_cpu_ddr_bw(processor)
print(ddr_bw['max_bw'])
print(ddr_bw['utilized_bw'])
print(ddr_bw['utilized_pct'])
@@ -5696,12 +5647,12 @@ Example:
```python
try:
socket_handles = amdsmi_get_cpusocket_handles()
if len(socket_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for socket in socket_handles:
ptmon = amdsmi_get_cpu_socket_temperature(socket)
for processor in processor_handles:
ptmon = amdsmi_get_cpu_socket_temperature(processor)
print(ptmon)
except AmdSmiException as e:
print(e)
@@ -5721,12 +5672,12 @@ Example:
```python
try:
socket_handles = amdsmi_get_cpusocket_handles()
if len(socket_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for socket in socket_handles:
dimm = amdsmi_get_cpu_dimm_temp_range_and_refresh_rate(socket)
for processor in processor_handles:
dimm = amdsmi_get_cpu_dimm_temp_range_and_refresh_rate(processor)
print(dimm['range'])
print(dimm['ref_rate'])
except AmdSmiException as e:
@@ -5747,12 +5698,12 @@ Example:
```python
try:
socket_handles = amdsmi_get_cpusocket_handles()
if len(socket_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for socket in socket_handles:
dimm = amdsmi_get_cpu_dimm_power_consumption(socket)
for processor in processor_handles:
dimm = amdsmi_get_cpu_dimm_power_consumption(processor)
print(dimm['power'])
print(dimm['update_rate'])
print(dimm['dimm_addr'])
@@ -5774,12 +5725,12 @@ Example:
```python
try:
socket_handles = amdsmi_get_cpusocket_handles()
if len(socket_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for socket in socket_handles:
dimm = amdsmi_get_cpu_dimm_thermal_sensor(socket)
for processor in processor_handles:
dimm = amdsmi_get_cpu_dimm_thermal_sensor(processor)
print(dimm['sensor'])
print(dimm['update_rate'])
print(dimm['dimm_addr'])
@@ -5802,12 +5753,313 @@ Example:
```python
try:
socket_handles = amdsmi_get_cpusocket_handles()
if len(socket_handles) == 0:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for socket in socket_handles:
xgmi_width = amdsmi_set_cpu_xgmi_width(socket, 0, 100)
for processor in processor_handles:
xgmi_width = amdsmi_set_cpu_xgmi_width(processor, 0, 100)
except AmdSmiException as e:
print(e)
```
### amdsmi_set_cpu_gmi3_link_width_range
Description: Set gmi3 link width range.
Input: minimum & maximum link width to be set.
Exceptions that can be thrown by `amdsmi_set_cpu_gmi3_link_width_range` function:
* `AmdSmiLibraryException`
Example:
```python
try:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for processor in processor_handles:
gmi_link_width = amdsmi_set_cpu_gmi3_link_width_range(processor, 0, 100)
except AmdSmiException as e:
print(e)
```
### amdsmi_cpu_apb_enable
Description: Enable APB.
Input: amdsmi processor handle
Exceptions that can be thrown by `amdsmi_cpu_apb_enable` function:
* `AmdSmiLibraryException`
Example:
```python
try:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for processor in processor_handles:
apb_enable = amdsmi_cpu_apb_enable(processor)
except AmdSmiException as e:
print(e)
```
### amdsmi_cpu_apb_disable
Description: Disable APB.
Input: pstate value
Exceptions that can be thrown by `amdsmi_cpu_apb_disable` function:
* `AmdSmiLibraryException`
Example:
```python
try:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for processor in processor_handles:
apb_disable = amdsmi_cpu_apb_disable(processor, 0)
except AmdSmiException as e:
print(e)
```
### amdsmi_set_cpu_socket_lclk_dpm_level
Description: Set NBIO lclk dpm level value.
Input: nbio id, min value, max value
Exceptions that can be thrown by `amdsmi_set_cpu_socket_lclk_dpm_level` function:
* `AmdSmiLibraryException`
Example:
```python
try:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for socket in socket_handles:
nbio = amdsmi_set_cpu_socket_lclk_dpm_level(socket, 0, 0, 2)
except AmdSmiException as e:
print(e)
```
### amdsmi_get_cpu_socket_lclk_dpm_level
Description: Get NBIO LCLK dpm level.
Output: nbio id
Exceptions that can be thrown by `amdsmi_get_cpu_socket_lclk_dpm_level` function:
* `AmdSmiLibraryException`
Example:
```python
try:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for processor in processor_handles:
nbio = amdsmi_get_cpu_socket_lclk_dpm_level(processor)
print(nbio['max_dpm_level'])
print(nbio['max_dpm_level'])
except AmdSmiException as e:
print(e)
```
### amdsmi_set_cpu_pcie_link_rate
Description: Set pcie link rate.
Input: rate control value
Exceptions that can be thrown by `amdsmi_set_cpu_pcie_link_rate` function:
* `AmdSmiLibraryException`
Example:
```python
try:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for processor in processor_handles:
link_rate = amdsmi_set_cpu_pcie_link_rate(processor, 0, 0)
except AmdSmiException as e:
print(e)
```
### amdsmi_set_cpu_df_pstate_range
Description: Set df pstate range.
Input: max pstate, min pstate
Exceptions that can be thrown by `amdsmi_set_cpu_df_pstate_range` function:
* `AmdSmiLibraryException`
Example:
```python
try:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for processor in processor_handles:
pstate_range = amdsmi_set_cpu_df_pstate_range(processor, 0, 2)
except AmdSmiException as e:
print(e)
```
### amdsmi_get_cpu_current_io_bandwidth
Description: Get current input output bandwidth.
Output: link id and bw type to which io bandwidth to be obtained
Exceptions that can be thrown by `amdsmi_get_cpu_current_io_bandwidth` function:
* `AmdSmiLibraryException`
Example:
```python
try:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for processor in processor_handles:
io_bw = amdsmi_get_cpu_current_io_bandwidth(processor)
print(io_bw)
except AmdSmiException as e:
print(e)
```
### amdsmi_get_cpu_current_xgmi_bw
Description: Get current xgmi bandwidth.
Output: amdsmi link id and bw type to which xgmi bandwidth to be obtained
Exceptions that can be thrown by `amdsmi_get_cpu_current_xgmi_bw` function:
* `AmdSmiLibraryException`
Example:
```python
try:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for processor in processor_handles:
xgmi_bw = amdsmi_get_cpu_current_xgmi_bw(processor)
print(xgmi_bw)
except AmdSmiException as e:
print(e)
```
### amdsmi_get_metrics_table_version
Description: Get metrics table version.
Output: amdsmi metrics table version
Exceptions that can be thrown by `amdsmi_get_metrics_table_version` function:
* `AmdSmiLibraryException`
Example:
```python
try:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for processor in processor_handles:
met_ver = amdsmi_get_metrics_table_version(processor)
print(met_ver)
except AmdSmiException as e:
print(e)
```
### amdsmi_get_metrics_table
Description: Get metrics table
Output: metric table data
Exceptions that can be thrown by `amdsmi_get_metrics_table` function:
* `AmdSmiLibraryException`
Example:
```python
try:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for processor in processor_handles:
mtbl = amdsmi_get_metrics_table(processor)
print(mtbl['accumulation_counter'])
print(mtbl['max_socket_temperature'])
print(mtbl['max_vr_temperature'])
print(mtbl['max_hbm_temperature'])
print(mtbl['socket_power_limit'])
print(mtbl['max_socket_power_limit'])
print(mtbl['socket_power'])
except AmdSmiException as e:
print(e)
```
### amdsmi_first_online_core_on_cpu_socket
Description: Get first online core on cpu socket.
Output: first online core on cpu socket
Exceptions that can be thrown by `amdsmi_first_online_core_on_cpu_socket` function:
* `AmdSmiLibraryException`
Example:
```python
try:
processor_handles = amdsmi_get_processor_handles()
if len(processor_handles) == 0:
print("No CPU sockets on machine")
else:
for processor in processor_handles:
pcore_ind = amdsmi_first_online_core_on_cpu_socket(processor)
print(pcore_ind)
except AmdSmiException as e:
print(e)
```
@@ -32,8 +32,8 @@ from .amdsmi_interface import amdsmi_get_socket_info
# ESMI Dependent Functions
try:
from .amdsmi_interface import amdsmi_get_cpusocket_handles
from .amdsmi_interface import amdsmi_get_cpusocket_info
from .amdsmi_interface import amdsmi_get_cpucore_handles
from .amdsmi_interface import amdsmi_get_processor_info
from .amdsmi_interface import amdsmi_get_cpu_hsmp_proto_ver
from .amdsmi_interface import amdsmi_get_cpu_smu_fw_version
from .amdsmi_interface import amdsmi_get_cpu_core_energy
@@ -60,6 +60,18 @@ try:
from .amdsmi_interface import amdsmi_get_cpu_dimm_power_consumption
from .amdsmi_interface import amdsmi_get_cpu_dimm_thermal_sensor
from .amdsmi_interface import amdsmi_set_cpu_xgmi_width
from .amdsmi_interface import amdsmi_set_cpu_gmi3_link_width_range
from .amdsmi_interface import amdsmi_cpu_apb_enable
from .amdsmi_interface import amdsmi_cpu_apb_disable
from .amdsmi_interface import amdsmi_set_cpu_socket_lclk_dpm_level
from .amdsmi_interface import amdsmi_get_cpu_socket_lclk_dpm_level
from .amdsmi_interface import amdsmi_set_cpu_pcie_link_rate
from .amdsmi_interface import amdsmi_set_cpu_df_pstate_range
from .amdsmi_interface import amdsmi_get_cpu_current_io_bandwidth
from .amdsmi_interface import amdsmi_get_cpu_current_xgmi_bw
from .amdsmi_interface import amdsmi_get_metrics_table_version
from .amdsmi_interface import amdsmi_get_metrics_table
from .amdsmi_interface import amdsmi_first_online_core_on_cpu_socket
except AttributeError:
pass
تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است Diff را بارگزاری کن
@@ -181,6 +181,16 @@ try:
except OSError as error:
print(error)
print("Unable to find amdsmi library try installing amd-smi-lib from your package manager")
class FunctionFactoryStub:
def __getattr__(self, _):
return ctypes.CFUNCTYPE(lambda y:y)
# libraries['FIXME_STUB'] explanation
# As you did not list (-l libraryname.so) a library that exports this function
# This is a non-working stub instead.
# You can either re-run clan2py with -l /path/to/library.so
# Or manually fix this by comment the ctypes.CDLL loading
_libraries['FIXME_STUB'] = FunctionFactoryStub() # ctypes.CDLL('FIXME_STUB')
@@ -191,12 +201,14 @@ amdsmi_init_flags_t__enumvalues = {
2: 'AMDSMI_INIT_AMD_GPUS',
4: 'AMDSMI_INIT_NON_AMD_CPUS',
8: 'AMDSMI_INIT_NON_AMD_GPUS',
3: 'AMDSMI_INIT_AMD_APUS',
}
AMDSMI_INIT_ALL_PROCESSORS = 0
AMDSMI_INIT_AMD_CPUS = 1
AMDSMI_INIT_AMD_GPUS = 2
AMDSMI_INIT_NON_AMD_CPUS = 4
AMDSMI_INIT_NON_AMD_GPUS = 8
AMDSMI_INIT_AMD_APUS = 3
amdsmi_init_flags_t = ctypes.c_uint32 # enum
# values for enumeration 'amdsmi_mm_ip_t'
@@ -1715,24 +1727,26 @@ amdsmi_shut_down.argtypes = []
amdsmi_get_socket_handles = _libraries['libamd_smi.so'].amdsmi_get_socket_handles
amdsmi_get_socket_handles.restype = amdsmi_status_t
amdsmi_get_socket_handles.argtypes = [ctypes.POINTER(ctypes.c_uint32), ctypes.POINTER(ctypes.POINTER(None))]
amdsmi_get_cpusocket_handles = _libraries['libamd_smi.so'].amdsmi_get_cpusocket_handles
amdsmi_get_cpusocket_handles = _libraries['FIXME_STUB'].amdsmi_get_cpusocket_handles
amdsmi_get_cpusocket_handles.restype = amdsmi_status_t
amdsmi_get_cpusocket_handles.argtypes = [ctypes.POINTER(ctypes.c_uint32), ctypes.POINTER(ctypes.POINTER(None))]
size_t = ctypes.c_uint64
amdsmi_get_socket_info = _libraries['libamd_smi.so'].amdsmi_get_socket_info
amdsmi_get_socket_info.restype = amdsmi_status_t
amdsmi_get_socket_info.argtypes = [amdsmi_socket_handle, size_t, ctypes.POINTER(ctypes.c_char)]
uint32_t = ctypes.c_uint32
amdsmi_get_cpusocket_info = _libraries['libamd_smi.so'].amdsmi_get_cpusocket_info
amdsmi_get_cpusocket_info.restype = amdsmi_status_t
amdsmi_get_cpusocket_info.argtypes = [amdsmi_cpusocket_handle, uint32_t]
amdsmi_get_cpucore_info = _libraries['libamd_smi.so'].amdsmi_get_cpucore_info
amdsmi_get_cpucore_info.restype = amdsmi_status_t
amdsmi_get_cpucore_info.argtypes = [amdsmi_processor_handle, uint32_t]
amdsmi_get_processor_info = _libraries['libamd_smi.so'].amdsmi_get_processor_info
amdsmi_get_processor_info.restype = amdsmi_status_t
amdsmi_get_processor_info.argtypes = [amdsmi_processor_handle, size_t, ctypes.POINTER(ctypes.c_char)]
amdsmi_get_processor_count_from_handles = _libraries['libamd_smi.so'].amdsmi_get_processor_count_from_handles
amdsmi_get_processor_count_from_handles.restype = amdsmi_status_t
amdsmi_get_processor_count_from_handles.argtypes = [ctypes.POINTER(ctypes.POINTER(None)), ctypes.POINTER(ctypes.c_uint32), ctypes.POINTER(ctypes.c_uint32), ctypes.POINTER(ctypes.c_uint32), ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_processor_handles_by_type = _libraries['libamd_smi.so'].amdsmi_get_processor_handles_by_type
amdsmi_get_processor_handles_by_type.restype = amdsmi_status_t
amdsmi_get_processor_handles_by_type.argtypes = [amdsmi_socket_handle, processor_type_t, ctypes.POINTER(ctypes.POINTER(None)), ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_processor_handles = _libraries['libamd_smi.so'].amdsmi_get_processor_handles
amdsmi_get_processor_handles.restype = amdsmi_status_t
amdsmi_get_processor_handles.argtypes = [amdsmi_socket_handle, ctypes.POINTER(ctypes.c_uint32), ctypes.POINTER(ctypes.POINTER(None))]
amdsmi_get_cpucore_handles = _libraries['libamd_smi.so'].amdsmi_get_cpucore_handles
amdsmi_get_cpucore_handles = _libraries['FIXME_STUB'].amdsmi_get_cpucore_handles
amdsmi_get_cpucore_handles.restype = amdsmi_status_t
amdsmi_get_cpucore_handles.argtypes = [amdsmi_cpusocket_handle, ctypes.POINTER(ctypes.c_uint32), ctypes.POINTER(ctypes.POINTER(None))]
amdsmi_get_processor_type = _libraries['libamd_smi.so'].amdsmi_get_processor_type
@@ -1750,6 +1764,7 @@ amdsmi_get_gpu_revision.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctyp
amdsmi_get_gpu_vendor_name = _libraries['libamd_smi.so'].amdsmi_get_gpu_vendor_name
amdsmi_get_gpu_vendor_name.restype = amdsmi_status_t
amdsmi_get_gpu_vendor_name.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_char), size_t]
uint32_t = ctypes.c_uint32
amdsmi_get_gpu_vram_vendor = _libraries['libamd_smi.so'].amdsmi_get_gpu_vram_vendor
amdsmi_get_gpu_vram_vendor.restype = amdsmi_status_t
amdsmi_get_gpu_vram_vendor.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_char), uint32_t]
@@ -2204,122 +2219,122 @@ amdsmi_get_gpu_metrics_log.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_log.argtypes = [amdsmi_processor_handle]
amdsmi_get_cpu_core_energy = _libraries['libamd_smi.so'].amdsmi_get_cpu_core_energy
amdsmi_get_cpu_core_energy.restype = amdsmi_status_t
amdsmi_get_cpu_core_energy.argtypes = [amdsmi_processor_handle, uint32_t, ctypes.POINTER(ctypes.c_uint64)]
amdsmi_get_cpu_core_energy.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint64)]
amdsmi_get_cpu_socket_energy = _libraries['libamd_smi.so'].amdsmi_get_cpu_socket_energy
amdsmi_get_cpu_socket_energy.restype = amdsmi_status_t
amdsmi_get_cpu_socket_energy.argtypes = [amdsmi_cpusocket_handle, uint32_t, ctypes.POINTER(ctypes.c_uint64)]
amdsmi_get_cpu_socket_energy.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint64)]
amdsmi_get_cpu_smu_fw_version = _libraries['libamd_smi.so'].amdsmi_get_cpu_smu_fw_version
amdsmi_get_cpu_smu_fw_version.restype = amdsmi_status_t
amdsmi_get_cpu_smu_fw_version.argtypes = [amdsmi_cpusocket_handle, ctypes.POINTER(struct_amdsmi_smu_fw_version_t)]
amdsmi_get_cpu_smu_fw_version.argtypes = [amdsmi_processor_handle, ctypes.POINTER(struct_amdsmi_smu_fw_version_t)]
amdsmi_get_cpu_hsmp_proto_ver = _libraries['libamd_smi.so'].amdsmi_get_cpu_hsmp_proto_ver
amdsmi_get_cpu_hsmp_proto_ver.restype = amdsmi_status_t
amdsmi_get_cpu_hsmp_proto_ver.argtypes = [amdsmi_cpusocket_handle, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_hsmp_proto_ver.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_prochot_status = _libraries['libamd_smi.so'].amdsmi_get_cpu_prochot_status
amdsmi_get_cpu_prochot_status.restype = amdsmi_status_t
amdsmi_get_cpu_prochot_status.argtypes = [amdsmi_cpusocket_handle, uint32_t, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_prochot_status.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_fclk_mclk = _libraries['libamd_smi.so'].amdsmi_get_cpu_fclk_mclk
amdsmi_get_cpu_fclk_mclk.restype = amdsmi_status_t
amdsmi_get_cpu_fclk_mclk.argtypes = [amdsmi_cpusocket_handle, uint32_t, ctypes.POINTER(ctypes.c_uint32), ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_fclk_mclk.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint32), ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_cclk_limit = _libraries['libamd_smi.so'].amdsmi_get_cpu_cclk_limit
amdsmi_get_cpu_cclk_limit.restype = amdsmi_status_t
amdsmi_get_cpu_cclk_limit.argtypes = [amdsmi_cpusocket_handle, uint32_t, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_cclk_limit.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_socket_current_active_freq_limit = _libraries['libamd_smi.so'].amdsmi_get_cpu_socket_current_active_freq_limit
amdsmi_get_cpu_socket_current_active_freq_limit.restype = amdsmi_status_t
amdsmi_get_cpu_socket_current_active_freq_limit.argtypes = [amdsmi_cpusocket_handle, uint32_t, ctypes.POINTER(ctypes.c_uint16), ctypes.POINTER(ctypes.POINTER(ctypes.c_char))]
amdsmi_get_cpu_socket_current_active_freq_limit.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16), ctypes.POINTER(ctypes.POINTER(ctypes.c_char))]
amdsmi_get_cpu_socket_freq_range = _libraries['libamd_smi.so'].amdsmi_get_cpu_socket_freq_range
amdsmi_get_cpu_socket_freq_range.restype = amdsmi_status_t
amdsmi_get_cpu_socket_freq_range.argtypes = [amdsmi_cpusocket_handle, uint32_t, ctypes.POINTER(ctypes.c_uint16), ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_cpu_socket_freq_range.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16), ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_cpu_core_current_freq_limit = _libraries['libamd_smi.so'].amdsmi_get_cpu_core_current_freq_limit
amdsmi_get_cpu_core_current_freq_limit.restype = amdsmi_status_t
amdsmi_get_cpu_core_current_freq_limit.argtypes = [amdsmi_processor_handle, uint32_t, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_core_current_freq_limit.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_socket_power = _libraries['libamd_smi.so'].amdsmi_get_cpu_socket_power
amdsmi_get_cpu_socket_power.restype = amdsmi_status_t
amdsmi_get_cpu_socket_power.argtypes = [amdsmi_cpusocket_handle, uint32_t, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_socket_power.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_socket_power_cap = _libraries['libamd_smi.so'].amdsmi_get_cpu_socket_power_cap
amdsmi_get_cpu_socket_power_cap.restype = amdsmi_status_t
amdsmi_get_cpu_socket_power_cap.argtypes = [amdsmi_cpusocket_handle, uint32_t, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_socket_power_cap.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_socket_power_cap_max = _libraries['libamd_smi.so'].amdsmi_get_cpu_socket_power_cap_max
amdsmi_get_cpu_socket_power_cap_max.restype = amdsmi_status_t
amdsmi_get_cpu_socket_power_cap_max.argtypes = [amdsmi_cpusocket_handle, uint32_t, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_socket_power_cap_max.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_pwr_svi_telemetry_all_rails = _libraries['libamd_smi.so'].amdsmi_get_cpu_pwr_svi_telemetry_all_rails
amdsmi_get_cpu_pwr_svi_telemetry_all_rails.restype = amdsmi_status_t
amdsmi_get_cpu_pwr_svi_telemetry_all_rails.argtypes = [amdsmi_cpusocket_handle, uint32_t, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_pwr_svi_telemetry_all_rails.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_set_cpu_socket_power_cap = _libraries['libamd_smi.so'].amdsmi_set_cpu_socket_power_cap
amdsmi_set_cpu_socket_power_cap.restype = amdsmi_status_t
amdsmi_set_cpu_socket_power_cap.argtypes = [amdsmi_cpusocket_handle, uint32_t, uint32_t]
amdsmi_set_cpu_socket_power_cap.argtypes = [amdsmi_processor_handle, uint32_t]
uint8_t = ctypes.c_uint8
amdsmi_set_cpu_pwr_efficiency_mode = _libraries['libamd_smi.so'].amdsmi_set_cpu_pwr_efficiency_mode
amdsmi_set_cpu_pwr_efficiency_mode.restype = amdsmi_status_t
amdsmi_set_cpu_pwr_efficiency_mode.argtypes = [amdsmi_cpusocket_handle, uint8_t, uint8_t]
amdsmi_set_cpu_pwr_efficiency_mode.argtypes = [amdsmi_processor_handle, uint8_t]
amdsmi_get_cpu_core_boostlimit = _libraries['libamd_smi.so'].amdsmi_get_cpu_core_boostlimit
amdsmi_get_cpu_core_boostlimit.restype = amdsmi_status_t
amdsmi_get_cpu_core_boostlimit.argtypes = [amdsmi_processor_handle, uint32_t, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_core_boostlimit.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_socket_c0_residency = _libraries['libamd_smi.so'].amdsmi_get_cpu_socket_c0_residency
amdsmi_get_cpu_socket_c0_residency.restype = amdsmi_status_t
amdsmi_get_cpu_socket_c0_residency.argtypes = [amdsmi_cpusocket_handle, uint32_t, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_socket_c0_residency.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_set_cpu_core_boostlimit = _libraries['libamd_smi.so'].amdsmi_set_cpu_core_boostlimit
amdsmi_set_cpu_core_boostlimit.restype = amdsmi_status_t
amdsmi_set_cpu_core_boostlimit.argtypes = [amdsmi_processor_handle, uint32_t, uint32_t]
amdsmi_set_cpu_core_boostlimit.argtypes = [amdsmi_processor_handle, uint32_t]
amdsmi_set_cpu_socket_boostlimit = _libraries['libamd_smi.so'].amdsmi_set_cpu_socket_boostlimit
amdsmi_set_cpu_socket_boostlimit.restype = amdsmi_status_t
amdsmi_set_cpu_socket_boostlimit.argtypes = [amdsmi_cpusocket_handle, uint32_t, uint32_t]
amdsmi_set_cpu_socket_boostlimit.argtypes = [amdsmi_processor_handle, uint32_t]
amdsmi_get_cpu_ddr_bw = _libraries['libamd_smi.so'].amdsmi_get_cpu_ddr_bw
amdsmi_get_cpu_ddr_bw.restype = amdsmi_status_t
amdsmi_get_cpu_ddr_bw.argtypes = [amdsmi_cpusocket_handle, ctypes.POINTER(struct_amdsmi_ddr_bw_metrics_t)]
amdsmi_get_cpu_ddr_bw.argtypes = [amdsmi_processor_handle, ctypes.POINTER(struct_amdsmi_ddr_bw_metrics_t)]
amdsmi_get_cpu_socket_temperature = _libraries['libamd_smi.so'].amdsmi_get_cpu_socket_temperature
amdsmi_get_cpu_socket_temperature.restype = amdsmi_status_t
amdsmi_get_cpu_socket_temperature.argtypes = [amdsmi_cpusocket_handle, uint32_t, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_socket_temperature.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_dimm_temp_range_and_refresh_rate = _libraries['libamd_smi.so'].amdsmi_get_cpu_dimm_temp_range_and_refresh_rate
amdsmi_get_cpu_dimm_temp_range_and_refresh_rate.restype = amdsmi_status_t
amdsmi_get_cpu_dimm_temp_range_and_refresh_rate.argtypes = [amdsmi_cpusocket_handle, uint8_t, uint8_t, ctypes.POINTER(struct_amdsmi_temp_range_refresh_rate_t)]
amdsmi_get_cpu_dimm_temp_range_and_refresh_rate.argtypes = [amdsmi_processor_handle, uint8_t, ctypes.POINTER(struct_amdsmi_temp_range_refresh_rate_t)]
amdsmi_get_cpu_dimm_power_consumption = _libraries['libamd_smi.so'].amdsmi_get_cpu_dimm_power_consumption
amdsmi_get_cpu_dimm_power_consumption.restype = amdsmi_status_t
amdsmi_get_cpu_dimm_power_consumption.argtypes = [amdsmi_cpusocket_handle, uint8_t, uint8_t, ctypes.POINTER(struct_amdsmi_dimm_power_t)]
amdsmi_get_cpu_dimm_power_consumption.argtypes = [amdsmi_processor_handle, uint8_t, ctypes.POINTER(struct_amdsmi_dimm_power_t)]
amdsmi_get_cpu_dimm_thermal_sensor = _libraries['libamd_smi.so'].amdsmi_get_cpu_dimm_thermal_sensor
amdsmi_get_cpu_dimm_thermal_sensor.restype = amdsmi_status_t
amdsmi_get_cpu_dimm_thermal_sensor.argtypes = [amdsmi_cpusocket_handle, uint8_t, uint8_t, ctypes.POINTER(struct_amdsmi_dimm_thermal_t)]
amdsmi_get_cpu_dimm_thermal_sensor.argtypes = [amdsmi_processor_handle, uint8_t, ctypes.POINTER(struct_amdsmi_dimm_thermal_t)]
amdsmi_set_cpu_xgmi_width = _libraries['libamd_smi.so'].amdsmi_set_cpu_xgmi_width
amdsmi_set_cpu_xgmi_width.restype = amdsmi_status_t
amdsmi_set_cpu_xgmi_width.argtypes = [amdsmi_cpusocket_handle, uint8_t, uint8_t]
amdsmi_set_cpu_xgmi_width.argtypes = [amdsmi_processor_handle, uint8_t, uint8_t]
amdsmi_set_cpu_gmi3_link_width_range = _libraries['libamd_smi.so'].amdsmi_set_cpu_gmi3_link_width_range
amdsmi_set_cpu_gmi3_link_width_range.restype = amdsmi_status_t
amdsmi_set_cpu_gmi3_link_width_range.argtypes = [amdsmi_cpusocket_handle, uint8_t, uint8_t, uint8_t]
amdsmi_set_cpu_gmi3_link_width_range.argtypes = [amdsmi_processor_handle, uint8_t, uint8_t]
amdsmi_cpu_apb_enable = _libraries['libamd_smi.so'].amdsmi_cpu_apb_enable
amdsmi_cpu_apb_enable.restype = amdsmi_status_t
amdsmi_cpu_apb_enable.argtypes = [amdsmi_cpusocket_handle, uint32_t]
amdsmi_cpu_apb_enable.argtypes = [amdsmi_processor_handle]
amdsmi_cpu_apb_disable = _libraries['libamd_smi.so'].amdsmi_cpu_apb_disable
amdsmi_cpu_apb_disable.restype = amdsmi_status_t
amdsmi_cpu_apb_disable.argtypes = [amdsmi_cpusocket_handle, uint32_t, uint8_t]
amdsmi_cpu_apb_disable.argtypes = [amdsmi_processor_handle, uint8_t]
amdsmi_set_cpu_socket_lclk_dpm_level = _libraries['libamd_smi.so'].amdsmi_set_cpu_socket_lclk_dpm_level
amdsmi_set_cpu_socket_lclk_dpm_level.restype = amdsmi_status_t
amdsmi_set_cpu_socket_lclk_dpm_level.argtypes = [amdsmi_cpusocket_handle, uint32_t, uint8_t, uint8_t, uint8_t]
amdsmi_set_cpu_socket_lclk_dpm_level.argtypes = [amdsmi_processor_handle, uint8_t, uint8_t, uint8_t]
amdsmi_get_cpu_socket_lclk_dpm_level = _libraries['libamd_smi.so'].amdsmi_get_cpu_socket_lclk_dpm_level
amdsmi_get_cpu_socket_lclk_dpm_level.restype = amdsmi_status_t
amdsmi_get_cpu_socket_lclk_dpm_level.argtypes = [amdsmi_cpusocket_handle, uint8_t, uint8_t, ctypes.POINTER(struct_amdsmi_dpm_level_t)]
amdsmi_get_cpu_socket_lclk_dpm_level.argtypes = [amdsmi_processor_handle, uint8_t, ctypes.POINTER(struct_amdsmi_dpm_level_t)]
amdsmi_set_cpu_pcie_link_rate = _libraries['libamd_smi.so'].amdsmi_set_cpu_pcie_link_rate
amdsmi_set_cpu_pcie_link_rate.restype = amdsmi_status_t
amdsmi_set_cpu_pcie_link_rate.argtypes = [amdsmi_cpusocket_handle, uint8_t, uint8_t, ctypes.POINTER(ctypes.c_ubyte)]
amdsmi_set_cpu_pcie_link_rate.argtypes = [amdsmi_processor_handle, uint8_t, ctypes.POINTER(ctypes.c_ubyte)]
amdsmi_set_cpu_df_pstate_range = _libraries['libamd_smi.so'].amdsmi_set_cpu_df_pstate_range
amdsmi_set_cpu_df_pstate_range.restype = amdsmi_status_t
amdsmi_set_cpu_df_pstate_range.argtypes = [amdsmi_cpusocket_handle, uint8_t, uint8_t, uint8_t]
amdsmi_set_cpu_df_pstate_range.argtypes = [amdsmi_processor_handle, uint8_t, uint8_t]
amdsmi_get_cpu_current_io_bandwidth = _libraries['libamd_smi.so'].amdsmi_get_cpu_current_io_bandwidth
amdsmi_get_cpu_current_io_bandwidth.restype = amdsmi_status_t
amdsmi_get_cpu_current_io_bandwidth.argtypes = [amdsmi_cpusocket_handle, uint8_t, amdsmi_link_id_bw_type_t, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_current_io_bandwidth.argtypes = [amdsmi_processor_handle, amdsmi_link_id_bw_type_t, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_current_xgmi_bw = _libraries['libamd_smi.so'].amdsmi_get_cpu_current_xgmi_bw
amdsmi_get_cpu_current_xgmi_bw.restype = amdsmi_status_t
amdsmi_get_cpu_current_xgmi_bw.argtypes = [amdsmi_cpusocket_handle, amdsmi_link_id_bw_type_t, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_current_xgmi_bw.argtypes = [amdsmi_processor_handle, amdsmi_link_id_bw_type_t, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_metrics_table_version = _libraries['libamd_smi.so'].amdsmi_get_metrics_table_version
amdsmi_get_metrics_table_version.restype = amdsmi_status_t
amdsmi_get_metrics_table_version.argtypes = [amdsmi_cpusocket_handle, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_metrics_table_version.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint32)]
class struct_hsmp_metric_table(Structure):
pass
amdsmi_get_metrics_table = _libraries['libamd_smi.so'].amdsmi_get_metrics_table
amdsmi_get_metrics_table.restype = amdsmi_status_t
amdsmi_get_metrics_table.argtypes = [amdsmi_cpusocket_handle, uint8_t, ctypes.POINTER(struct_hsmp_metric_table)]
amdsmi_get_metrics_table.argtypes = [amdsmi_processor_handle, ctypes.POINTER(struct_hsmp_metric_table)]
amdsmi_first_online_core_on_cpu_socket = _libraries['libamd_smi.so'].amdsmi_first_online_core_on_cpu_socket
amdsmi_first_online_core_on_cpu_socket.restype = amdsmi_status_t
amdsmi_first_online_core_on_cpu_socket.argtypes = [amdsmi_cpusocket_handle, uint32_t, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_first_online_core_on_cpu_socket.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_esmi_err_msg = _libraries['libamd_smi.so'].amdsmi_get_esmi_err_msg
amdsmi_get_esmi_err_msg.restype = ctypes.POINTER(ctypes.POINTER(ctypes.c_char))
amdsmi_get_esmi_err_msg.argtypes = [amdsmi_status_t, ctypes.POINTER(ctypes.POINTER(ctypes.c_char))]
@@ -2364,9 +2379,10 @@ __all__ = \
'AMDSMI_GPU_BLOCK_SEM', 'AMDSMI_GPU_BLOCK_SMN',
'AMDSMI_GPU_BLOCK_UMC', 'AMDSMI_GPU_BLOCK_XGMI_WAFL',
'AMDSMI_HSMP_TIMEOUT', 'AMDSMI_INIT_ALL_PROCESSORS',
'AMDSMI_INIT_AMD_CPUS', 'AMDSMI_INIT_AMD_GPUS',
'AMDSMI_INIT_NON_AMD_CPUS', 'AMDSMI_INIT_NON_AMD_GPUS',
'AMDSMI_INVALID_POWER', 'AMDSMI_IOLINK_TYPE_NUMIOLINKTYPES',
'AMDSMI_INIT_AMD_APUS', 'AMDSMI_INIT_AMD_CPUS',
'AMDSMI_INIT_AMD_GPUS', 'AMDSMI_INIT_NON_AMD_CPUS',
'AMDSMI_INIT_NON_AMD_GPUS', 'AMDSMI_INVALID_POWER',
'AMDSMI_IOLINK_TYPE_NUMIOLINKTYPES',
'AMDSMI_IOLINK_TYPE_PCIEXPRESS', 'AMDSMI_IOLINK_TYPE_SIZE',
'AMDSMI_IOLINK_TYPE_UNDEFINED', 'AMDSMI_IOLINK_TYPE_XGMI',
'AMDSMI_MEM_PAGE_STATUS_PENDING',
@@ -2526,8 +2542,7 @@ __all__ = \
'amdsmi_get_cpu_socket_power', 'amdsmi_get_cpu_socket_power_cap',
'amdsmi_get_cpu_socket_power_cap_max',
'amdsmi_get_cpu_socket_temperature', 'amdsmi_get_cpucore_handles',
'amdsmi_get_cpucore_info', 'amdsmi_get_cpusocket_handles',
'amdsmi_get_cpusocket_info', 'amdsmi_get_energy_count',
'amdsmi_get_cpusocket_handles', 'amdsmi_get_energy_count',
'amdsmi_get_esmi_err_msg', 'amdsmi_get_fw_info',
'amdsmi_get_gpu_activity', 'amdsmi_get_gpu_asic_info',
'amdsmi_get_gpu_available_counters',
@@ -2619,8 +2634,11 @@ __all__ = \
'amdsmi_get_minmax_bandwidth_between_processors',
'amdsmi_get_pcie_link_caps', 'amdsmi_get_pcie_link_status',
'amdsmi_get_power_cap_info', 'amdsmi_get_power_info',
'amdsmi_get_processor_count_from_handles',
'amdsmi_get_processor_handle_from_bdf',
'amdsmi_get_processor_handles', 'amdsmi_get_processor_type',
'amdsmi_get_processor_handles',
'amdsmi_get_processor_handles_by_type',
'amdsmi_get_processor_info', 'amdsmi_get_processor_type',
'amdsmi_get_socket_handles', 'amdsmi_get_socket_info',
'amdsmi_get_temp_metric', 'amdsmi_get_utilization_count',
'amdsmi_get_xgmi_info', 'amdsmi_gpu_block_t',