From a80bbd308cd1925cb2624c7fa2702e31fa38ff72 Mon Sep 17 00:00:00 2001 From: Dalibor Stanisavljevic Date: Wed, 14 Dec 2022 12:43:00 +0100 Subject: [PATCH 1/5] SWDEV-371565 - Fixed retrieval FW versions in python and example Change-Id: I4e512584a50342dcd4f9c93f523112fb4b5099dd Signed-off-by: Dalibor Stanisavljevic --- example/amd_smi_drm_example.cc | 207 +++++++++++++++++++++++-------- py-interface/amdsmi_interface.py | 9 +- 2 files changed, 161 insertions(+), 55 deletions(-) diff --git a/example/amd_smi_drm_example.cc b/example/amd_smi_drm_example.cc index 430651768d..7e1ea46072 100644 --- a/example/amd_smi_drm_example.cc +++ b/example/amd_smi_drm_example.cc @@ -49,8 +49,10 @@ #include #include #include +#include #include + #define CHK_AMDSMI_RET(RET) \ { \ if (RET != AMDSMI_STATUS_SUCCESS) { \ @@ -63,6 +65,152 @@ } \ } + +void getFWNameFromId(int id, char *name) +{ + switch (id) { + case FW_ID_SMU: + strcpy(name, "SMU"); + break; + case FW_ID_CP_CE: + strcpy(name, "CP_CE"); + break; + case FW_ID_CP_PFP: + strcpy(name, "CP_PFP"); + break; + case FW_ID_CP_ME: + strcpy(name, "CP_ME"); + break; + case FW_ID_CP_MEC_JT1: + strcpy(name, "CP_MEC_JT1"); + break; + case FW_ID_CP_MEC_JT2: + strcpy(name, "CP_MEC_JT2"); + break; + case FW_ID_CP_MEC1: + strcpy(name, "CP_MEC1"); + break; + case FW_ID_CP_MEC2: + strcpy(name, "CP_MEC2"); + break; + case FW_ID_RLC: + strcpy(name, "RLC"); + break; + case FW_ID_SDMA0: + strcpy(name, "SDMA0"); + break; + case FW_ID_SDMA1: + strcpy(name, "SDMA1"); + break; + case FW_ID_SDMA2: + strcpy(name, "SDMA2"); + break; + case FW_ID_SDMA3: + strcpy(name, "SDMA3"); + break; + case FW_ID_SDMA4: + strcpy(name, "SDMA4"); + break; + case FW_ID_SDMA5: + strcpy(name, "SDMA5"); + break; + case FW_ID_SDMA6: + strcpy(name, "SDMA6"); + break; + case FW_ID_SDMA7: + strcpy(name, "SDMA7"); + break; + case FW_ID_VCN: + strcpy(name, "VCN"); + break; + case FW_ID_UVD: + strcpy(name, "UVD"); + break; + case FW_ID_VCE: + strcpy(name, "VCE"); + break; + case FW_ID_ISP: + strcpy(name, "ISP"); + break; + case FW_ID_DMCU_ERAM: + strcpy(name, "DMCU_ERAM"); + break; + case FW_ID_DMCU_ISR: + strcpy(name, "DMCU_ISR"); + break; + case FW_ID_RLC_RESTORE_LIST_GPM_MEM: + strcpy(name, "RLC_RESTORE_LIST_GPM_MEM"); + break; + case FW_ID_RLC_RESTORE_LIST_SRM_MEM: + strcpy(name, "RLC_RESTORE_LIST_SRM_MEM"); + break; + case FW_ID_RLC_RESTORE_LIST_CNTL: + strcpy(name, "RLC_RESTORE_LIST_CNTL"); + break; + case FW_ID_RLC_V: + strcpy(name, "RLC_V"); + break; + case FW_ID_MMSCH: + strcpy(name, "MMSCH"); + break; + case FW_ID_PSP_SYSDRV: + strcpy(name, "PSP_SYSDRV"); + break; + case FW_ID_PSP_SOSDRV: + strcpy(name, "PSP_SOSDRV"); + break; + case FW_ID_PSP_TOC: + strcpy(name, "PSP_TOC"); + break; + case FW_ID_PSP_KEYDB: + strcpy(name, "PSP_KEYDB"); + break; + case FW_ID_DFC: + strcpy(name, "DFC"); + break; + case FW_ID_PSP_SPL: + strcpy(name, "PSP_SPL"); + break; + case FW_ID_DRV_CAP: + strcpy(name, "DRV_CAP"); + break; + case FW_ID_MC: + strcpy(name, "MC"); + break; + case FW_ID_PSP_BL: + strcpy(name, "PSP_BL"); + break; + case FW_ID_CP_PM4: + strcpy(name, "CP_PM4"); + break; + case FW_ID_ASD: + strcpy(name, "ID_ASD"); + break; + case FW_ID_TA_RAS: + strcpy(name, "ID_TA_RAS"); + break; + case FW_ID_XGMI: + strcpy(name, "ID_XGMI"); + break; + case FW_ID_RLC_SRLG: + strcpy(name, "ID_RLC_SRLG"); + break; + case FW_ID_RLC_SRLS: + strcpy(name, "ID_RLC_SRLS"); + break; + case FW_ID_SMC: + strcpy(name, "ID_SMC"); + break; + case FW_ID_DMCU: + strcpy(name, "ID_DMCU"); + break; + default: + strcpy(name, ""); + break; + } +} + + int main() { amdsmi_status_t ret; @@ -198,62 +346,15 @@ int main() { // Get firmware info amdsmi_fw_info_t fw_information = {}; + char ucode_name[AMDSMI_MAX_STRING_LENGTH]; ret = amdsmi_get_fw_info(device_handles[j], &fw_information); CHK_AMDSMI_RET(ret) printf(" Output of amdsmi_get_fw_info:\n"); - printf("\tFirmware version: %d\n", fw_information.num_fw_info); - printf("\tSMU: %ld\n", - fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_SMU] - .fw_version); - printf("\tSMC: %ld\n", - fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_SMC] - .fw_version); - printf("\tVCN: %ld\n", - fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_VCN] - .fw_version); - printf("\tCP_ME: %ld\n", - fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_CP_ME] - .fw_version); - printf("\tCP_PFP: %ld\n", - fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_CP_PFP] - .fw_version); - printf("\tCP_CE: %ld\n", - fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_CP_CE] - .fw_version); - printf("\tRLC: %ld\n", - fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_RLC] - .fw_version); - printf("\tCP_MEC1: %ld\n", - fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_CP_MEC1] - .fw_version); - printf("\tCP_MEC2: %ld\n", - fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_CP_MEC2] - .fw_version); - printf("\tSDMA0: %ld\n", - fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_SDMA0] - .fw_version); - printf("\tMC: %ld\n", - fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_MC] - .fw_version); - printf("\tRLC RESTORE LIST CNTL: %ld\n", - fw_information - .fw_info_list - [amdsmi_fw_block_t::FW_ID_RLC_RESTORE_LIST_CNTL] - .fw_version); - printf("\tRLC RESTORE LIST GPM MEM: %ld\n", - fw_information - .fw_info_list - [amdsmi_fw_block_t::FW_ID_RLC_RESTORE_LIST_GPM_MEM] - .fw_version); - printf("\tRLC RESTORE LIST SRM MEM: %ld\n", - fw_information - .fw_info_list - [amdsmi_fw_block_t::FW_ID_RLC_RESTORE_LIST_SRM_MEM] - .fw_version); - printf( - "\tPSP SOSDRV: %ld\n\n", - fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_PSP_SOSDRV] - .fw_version); + printf("Number of Microcodes: %d\n", fw_information.num_fw_info); + for (int j = 0; j < fw_information.num_fw_info; j++) { + getFWNameFromId(fw_information.fw_info_list[j].fw_id, ucode_name); + printf(" %s: %d\n", ucode_name, fw_information.fw_info_list[j].fw_version); + } // Get GPU power limit info amdsmi_power_limit_t power_limit = {}; diff --git a/py-interface/amdsmi_interface.py b/py-interface/amdsmi_interface.py index 09e3031067..93d2522b43 100644 --- a/py-interface/amdsmi_interface.py +++ b/py-interface/amdsmi_interface.py @@ -392,13 +392,18 @@ def _parse_fw_info(fw_info: amdsmi_wrapper.amdsmi_fw_info_t) -> Dict[str, Any]: fw_info, amdsmi_wrapper.amdsmi_fw_info_t) formatted_fw_info = dict() formatted_fw_info = {"num_fw_info": fw_info.num_fw_info} - for index, value in amdsmi_wrapper.amdsmi_fw_block__enumvalues.items(): + + + for i in range(0, fw_info.num_fw_info): + index = fw_info.fw_info_list[i].fw_id + value = amdsmi_wrapper.amdsmi_fw_block__enumvalues.get(index) if value == "FW_ID_FIRST": value = "FW_ID_SMU" if value == "FW_ID__MAX": continue + formatted_fw_info.update( - {value: fw_info.fw_info_list[index - 1].fw_version}) + {value: fw_info.fw_info_list[i].fw_version}) return formatted_fw_info From 221d6fdc5c055698dc5f327a72ca2bbee389710d Mon Sep 17 00:00:00 2001 From: "Bill(Shuzhou) Liu" Date: Thu, 15 Dec 2022 08:17:34 -0600 Subject: [PATCH 2/5] Make amdsmi function name consistent Some of the amdsmi function have the verb (set or get) at the end of the function. Move it to the middle to be consistent with other APIs. Change-Id: I8053d16f46af951c25aaaf8febf2896a33633fa1 --- README.md | 2 +- example/amd_smi_drm_example.cc | 4 +- example/amd_smi_nodrm_example.cc | 4 +- include/amd_smi/amdsmi.h | 244 +++++----- py-interface/README.md | 422 +++++++++--------- py-interface/__init__.py | 136 +++--- py-interface/amdsmi_interface.py | 284 ++++++------ py-interface/amdsmi_wrapper.py | 422 +++++++++--------- py-interface/rocm_smi_tool.py | 270 +++++------ src/amd_smi/amd_smi.cc | 254 +++++------ .../functional/api_support_read.cc | 26 +- tests/amd_smi_test/functional/err_cnt_read.cc | 16 +- .../functional/evt_notif_read_write.cc | 14 +- tests/amd_smi_test/functional/fan_read.cc | 12 +- .../amd_smi_test/functional/fan_read_write.cc | 12 +- .../functional/frequencies_read.cc | 12 +- .../functional/frequencies_read_write.cc | 20 +- .../amd_smi_test/functional/gpu_busy_read.cc | 2 +- .../functional/gpu_metrics_read.cc | 4 +- tests/amd_smi_test/functional/id_info_read.cc | 44 +- .../functional/mem_page_info_read.cc | 8 +- .../amd_smi_test/functional/mem_util_read.cc | 12 +- .../functional/metrics_counter_read.cc | 8 +- .../functional/mutual_exclusion.cc | 120 ++--- .../amd_smi_test/functional/overdrive_read.cc | 4 +- .../functional/overdrive_read_write.cc | 10 +- .../amd_smi_test/functional/pci_read_write.cc | 24 +- .../functional/perf_cntr_read_write.cc | 26 +- .../functional/perf_determinism.cc | 10 +- .../functional/perf_level_read.cc | 4 +- .../functional/perf_level_read_write.cc | 10 +- .../functional/power_cap_read_write.cc | 4 +- tests/amd_smi_test/functional/power_read.cc | 4 +- .../functional/power_read_write.cc | 16 +- .../functional/process_info_read.cc | 16 +- .../amd_smi_test/functional/sys_info_read.cc | 10 +- tests/amd_smi_test/functional/temp_read.cc | 6 +- tests/amd_smi_test/functional/version_read.cc | 4 +- .../functional/volt_freq_curv_read.cc | 10 +- tests/amd_smi_test/functional/volt_read.cc | 6 +- .../functional/xgmi_read_write.cc | 2 +- tests/amd_smi_test/test_base.cc | 4 +- 42 files changed, 1261 insertions(+), 1261 deletions(-) diff --git a/README.md b/README.md index 954fa8832b..6cbc6dbd56 100755 --- a/README.md +++ b/README.md @@ -133,7 +133,7 @@ int main() { // Get temperature int64_t val_i64 = 0; - ret = amdsmi_dev_temp_metric_get(device_handles[j], 0, + ret = amdsmi_dev_get_temp_metric(device_handles[j], 0, AMDSMI_TEMP_CURRENT, &val_i64); std::cout << "\t\tTemperature: " << val_i64/1000 << "C" << std::endl; } diff --git a/example/amd_smi_drm_example.cc b/example/amd_smi_drm_example.cc index 7e1ea46072..3f2ae4803e 100644 --- a/example/amd_smi_drm_example.cc +++ b/example/amd_smi_drm_example.cc @@ -649,10 +649,10 @@ int main() { // Get temperature int64_t val_i64 = 0; - ret = amdsmi_dev_temp_metric_get(device_handles[j], 0, + ret = amdsmi_dev_get_temp_metric(device_handles[j], 0, AMDSMI_TEMP_CURRENT, &val_i64); CHK_AMDSMI_RET(ret) - printf(" Output of amdsmi_dev_temp_metric_get:\n"); + printf(" Output of amdsmi_dev_get_temp_metric:\n"); std::cout << "\t\tTemperature: " << val_i64 / 1000 << "C" << "\n\n"; diff --git a/example/amd_smi_nodrm_example.cc b/example/amd_smi_nodrm_example.cc index 77690b3ae0..0220b0e5cc 100644 --- a/example/amd_smi_nodrm_example.cc +++ b/example/amd_smi_nodrm_example.cc @@ -299,10 +299,10 @@ int main() { // Get temperature int64_t val_i64 = 0; - ret = amdsmi_dev_temp_metric_get(device_handles[j], 0, + ret = amdsmi_dev_get_temp_metric(device_handles[j], 0, AMDSMI_TEMP_CURRENT, &val_i64); CHK_AMDSMI_RET(ret) - printf(" Output of amdsmi_dev_temp_metric_get:\n"); + printf(" Output of amdsmi_dev_get_temp_metric:\n"); std::cout << "\t\tTemperature: " << val_i64 / 1000 << "C" << "\n\n"; diff --git a/include/amd_smi/amdsmi.h b/include/amd_smi/amdsmi.h index e58fbb3472..5fde4b7788 100644 --- a/include/amd_smi/amdsmi.h +++ b/include/amd_smi/amdsmi.h @@ -677,7 +677,7 @@ typedef enum { /** * @brief Pre-set Profile Selections. These bitmasks can be AND'd with the * ::amdsmi_power_profile_status_t.available_profiles returned from - * ::amdsmi_dev_power_profile_presets_get to determine which power profiles + * :: amdsmi_dev_get_power_profile_presets to determine which power profiles * are supported by the system. */ typedef enum { @@ -1322,7 +1322,7 @@ amdsmi_status_t amdsmi_get_device_handle_from_bdf(amdsmi_bdf_t bdf, amdsmi_devic * @p id. This ID is an identification of the type of device, so calling this * function for different devices will give the same value if they are kind * of device. Consequently, this function should not be used to distinguish - * one device from another. amdsmi_dev_pci_id_get() should be used to get a + * one device from another. amdsmi_dev_get_pci_id() should be used to get a * unique identifier. * * @param[in] device_handle a device handle @@ -1336,7 +1336,7 @@ amdsmi_status_t amdsmi_get_device_handle_from_bdf(amdsmi_bdf_t bdf, amdsmi_devic * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_id_get(amdsmi_device_handle device_handle, uint16_t *id); +amdsmi_status_t amdsmi_dev_get_id(amdsmi_device_handle device_handle, uint16_t *id); /** * @brief Get the name string for a give vendor ID @@ -1369,7 +1369,7 @@ amdsmi_status_t amdsmi_dev_id_get(amdsmi_device_handle device_handle, uint16_t * * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_vendor_name_get(amdsmi_device_handle device_handle, char *name, +amdsmi_status_t amdsmi_dev_get_vendor_name(amdsmi_device_handle device_handle, char *name, size_t len); /** @@ -1382,7 +1382,7 @@ amdsmi_status_t amdsmi_dev_vendor_name_get(amdsmi_device_handle device_handle, c * buffer @p brand. * * If the vram vendor for the device is not found as one of the values - * contained within amdsmi_dev_vram_vendor_get, then this function will return + * contained within amdsmi_dev_get_vram_vendor, then this function will return * the string 'unknown' instead of the vram vendor. * * @param[in] device_handle a device handle @@ -1394,7 +1394,7 @@ amdsmi_status_t amdsmi_dev_vendor_name_get(amdsmi_device_handle device_handle, c * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_vram_vendor_get(amdsmi_device_handle device_handle, char *brand, +amdsmi_status_t amdsmi_dev_get_vram_vendor(amdsmi_device_handle device_handle, char *brand, uint32_t len); /** @@ -1416,7 +1416,7 @@ amdsmi_status_t amdsmi_dev_vram_vendor_get(amdsmi_device_handle device_handle, c * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_subsystem_id_get(amdsmi_device_handle device_handle, uint16_t *id); +amdsmi_status_t amdsmi_dev_get_subsystem_id(amdsmi_device_handle device_handle, uint16_t *id); /** * @brief Get the name string for the device subsytem @@ -1450,7 +1450,7 @@ amdsmi_status_t amdsmi_dev_subsystem_id_get(amdsmi_device_handle device_handle, * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_dev_subsystem_name_get(amdsmi_device_handle device_handle, char *name, size_t len); +amdsmi_dev_get_subsystem_name(amdsmi_device_handle device_handle, char *name, size_t len); /** * @brief Get the drm minor number associated with this device @@ -1466,7 +1466,7 @@ amdsmi_dev_subsystem_name_get(amdsmi_device_handle device_handle, char *name, si * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_dev_drm_render_minor_get(amdsmi_device_handle device_handle, uint32_t *minor); +amdsmi_dev_get_drm_render_minor(amdsmi_device_handle device_handle, uint32_t *minor); /** @} End IDQuer */ @@ -1493,7 +1493,7 @@ amdsmi_dev_drm_render_minor_get(amdsmi_device_handle device_handle, uint32_t *mi * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_dev_pci_bandwidth_get(amdsmi_device_handle device_handle, amdsmi_pcie_bandwidth_t *bandwidth); +amdsmi_dev_get_pci_bandwidth(amdsmi_device_handle device_handle, amdsmi_pcie_bandwidth_t *bandwidth); /** * @brief Get the unique PCI device identifier associated for a device @@ -1527,7 +1527,7 @@ amdsmi_dev_pci_bandwidth_get(amdsmi_device_handle device_handle, amdsmi_pcie_ban * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_pci_id_get(amdsmi_device_handle device_handle, uint64_t *bdfid); +amdsmi_status_t amdsmi_dev_get_pci_id(amdsmi_device_handle device_handle, uint64_t *bdfid); /** * @brief Get the NUMA node associated with a device @@ -1548,7 +1548,7 @@ amdsmi_status_t amdsmi_dev_pci_id_get(amdsmi_device_handle device_handle, uint64 * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_topo_numa_affinity_get(amdsmi_device_handle device_handle, uint32_t *numa_node); +amdsmi_status_t amdsmi_topo_get_numa_affinity(amdsmi_device_handle device_handle, uint32_t *numa_node); /** * @brief Get PCIe traffic information @@ -1572,7 +1572,7 @@ amdsmi_status_t amdsmi_topo_numa_affinity_get(amdsmi_device_handle device_handle * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_pci_throughput_get(amdsmi_device_handle device_handle, uint64_t *sent, +amdsmi_status_t amdsmi_dev_get_pci_throughput(amdsmi_device_handle device_handle, uint64_t *sent, uint64_t *received, uint64_t *max_pkt_sz); /** @@ -1594,7 +1594,7 @@ amdsmi_status_t amdsmi_dev_pci_throughput_get(amdsmi_device_handle device_handle * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_pci_replay_counter_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_pci_replay_counter(amdsmi_device_handle device_handle, uint64_t *counter); /** @} End PCIeQuer */ @@ -1611,7 +1611,7 @@ amdsmi_status_t amdsmi_dev_pci_replay_counter_get(amdsmi_device_handle device_ha * @details Given a device handle @p device_handle and a 64 bit bitmask @p bw_bitmask, * this function will limit the set of allowable bandwidths. If a bit in @p * bw_bitmask has a value of 1, then the frequency (as ordered in an - * ::amdsmi_frequencies_t returned by ::amdsmi_dev_gpu_clk_freq_get()) corresponding + * ::amdsmi_frequencies_t returned by :: amdsmi_dev_get_gpu_clk_freq()) corresponding * to that bit index will be allowed. * * This function will change the performance level to @@ -1634,7 +1634,7 @@ amdsmi_status_t amdsmi_dev_pci_replay_counter_get(amdsmi_device_handle device_ha * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_pci_bandwidth_set(amdsmi_device_handle device_handle, uint64_t bw_bitmask); +amdsmi_status_t amdsmi_dev_set_pci_bandwidth(amdsmi_device_handle device_handle, uint64_t bw_bitmask); /** @} End PCIeCont */ @@ -1666,7 +1666,7 @@ amdsmi_status_t amdsmi_dev_pci_bandwidth_set(amdsmi_device_handle device_handle, * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_dev_power_ave_get(amdsmi_device_handle device_handle, uint32_t sensor_ind, uint64_t *power); +amdsmi_dev_get_power_ave(amdsmi_device_handle device_handle, uint32_t sensor_ind, uint64_t *power); /** * @brief Get the energy accumulator counter of the device with provided @@ -1676,7 +1676,7 @@ amdsmi_dev_power_ave_get(amdsmi_device_handle device_handle, uint32_t sensor_ind * @p power, and a pointer to a uint64_t @p timestamp, this function will write * amount of energy consumed to the uint64_t pointed to by @p power, * and the timestamp to the uint64_t pointed to by @p timestamp. - * The amdsmi_dev_power_ave_get() is an average of a short time. This function + * The amdsmi_dev_get_power_ave() is an average of a short time. This function * accumulates all energy consumed. * * @param[in] device_handle a device handle @@ -1696,7 +1696,7 @@ amdsmi_dev_power_ave_get(amdsmi_device_handle device_handle, uint32_t sensor_ind * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_dev_energy_count_get(amdsmi_device_handle device_handle, uint64_t *power, +amdsmi_dev_get_energy_count(amdsmi_device_handle device_handle, uint64_t *power, float *counter_resolution, uint64_t *timestamp); /** @} End PowerQuer */ @@ -1724,7 +1724,7 @@ amdsmi_dev_energy_count_get(amdsmi_device_handle device_handle, uint64_t *power, * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_dev_power_cap_set(amdsmi_device_handle device_handle, uint32_t sensor_ind, uint64_t cap); + amdsmi_dev_set_power_cap(amdsmi_device_handle device_handle, uint32_t sensor_ind, uint64_t cap); /** * @brief Set the power performance profile @@ -1732,7 +1732,7 @@ amdsmi_dev_power_cap_set(amdsmi_device_handle device_handle, uint32_t sensor_ind * @details This function will attempt to set the current profile to the provided * profile, given a device handle @p device_handle and a @p profile. The provided * profile must be one of the currently supported profiles, as indicated by a - * call to ::amdsmi_dev_power_profile_presets_get() + * call to :: amdsmi_dev_get_power_profile_presets() * * @param[in] device_handle a device handle * @@ -1744,7 +1744,7 @@ amdsmi_dev_power_cap_set(amdsmi_device_handle device_handle, uint32_t sensor_ind * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_dev_power_profile_set(amdsmi_device_handle device_handle, uint32_t reserved, + amdsmi_dev_set_power_profile(amdsmi_device_handle device_handle, uint32_t reserved, amdsmi_power_profile_preset_masks_t profile); /** @} End PowerCont*/ @@ -1777,7 +1777,7 @@ amdsmi_dev_power_profile_set(amdsmi_device_handle device_handle, uint32_t reserv * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_dev_memory_total_get(amdsmi_device_handle device_handle, amdsmi_memory_type_t mem_type, +amdsmi_dev_get_memory_total(amdsmi_device_handle device_handle, amdsmi_memory_type_t mem_type, uint64_t *total); /** @@ -1801,7 +1801,7 @@ amdsmi_dev_memory_total_get(amdsmi_device_handle device_handle, amdsmi_memory_ty * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_dev_memory_usage_get(amdsmi_device_handle device_handle, amdsmi_memory_type_t mem_type, +amdsmi_dev_get_memory_usage(amdsmi_device_handle device_handle, amdsmi_memory_type_t mem_type, uint64_t *used); /** @@ -1864,7 +1864,7 @@ amdsmi_get_ras_block_features_enabled(amdsmi_device_handle device_handle, amdsmi * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_dev_memory_busy_percent_get(amdsmi_device_handle device_handle, uint32_t *busy_percent); +amdsmi_dev_get_memory_busy_percent(amdsmi_device_handle device_handle, uint32_t *busy_percent); /** * @brief Get information about reserved ("retired") memory pages @@ -1897,7 +1897,7 @@ amdsmi_dev_memory_busy_percent_get(amdsmi_device_handle device_handle, uint32_t * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_dev_memory_reserved_pages_get(amdsmi_device_handle device_handle, uint32_t *num_pages, +amdsmi_dev_get_memory_reserved_pages(amdsmi_device_handle device_handle, uint32_t *num_pages, amdsmi_retired_page_record_t *records); /** @} End MemQuer */ @@ -1930,7 +1930,7 @@ amdsmi_dev_memory_reserved_pages_get(amdsmi_device_handle device_handle, uint32_ * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_fan_rpms_get(amdsmi_device_handle device_handle, uint32_t sensor_ind, +amdsmi_status_t amdsmi_dev_get_fan_rpms(amdsmi_device_handle device_handle, uint32_t sensor_ind, int64_t *speed); /** @@ -1956,7 +1956,7 @@ amdsmi_status_t amdsmi_dev_fan_rpms_get(amdsmi_device_handle device_handle, uint * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_fan_speed_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_fan_speed(amdsmi_device_handle device_handle, uint32_t sensor_ind, int64_t *speed); /** @@ -1980,7 +1980,7 @@ amdsmi_status_t amdsmi_dev_fan_speed_get(amdsmi_device_handle device_handle, * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_fan_speed_max_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_fan_speed_max(amdsmi_device_handle device_handle, uint32_t sensor_ind, uint64_t *max_speed); /** @@ -2009,7 +2009,7 @@ amdsmi_status_t amdsmi_dev_fan_speed_max_get(amdsmi_device_handle device_handle, * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_temp_metric_get(amdsmi_device_handle device_handle, uint32_t sensor_type, +amdsmi_status_t amdsmi_dev_get_temp_metric(amdsmi_device_handle device_handle, uint32_t sensor_type, amdsmi_temperature_metric_t metric, int64_t *temperature); /** @@ -2038,7 +2038,7 @@ amdsmi_status_t amdsmi_dev_temp_metric_get(amdsmi_device_handle device_handle, u * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_volt_metric_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_volt_metric(amdsmi_device_handle device_handle, amdsmi_voltage_type_t sensor_type, amdsmi_voltage_metric_t metric, int64_t *voltage); @@ -2062,7 +2062,7 @@ amdsmi_status_t amdsmi_dev_volt_metric_get(amdsmi_device_handle device_handle, * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_fan_reset(amdsmi_device_handle device_handle, uint32_t sensor_ind); +amdsmi_status_t amdsmi_dev_reset_fan(amdsmi_device_handle device_handle, uint32_t sensor_ind); /** * @brief Set the fan speed for the specified device with the provided speed, @@ -2084,7 +2084,7 @@ amdsmi_status_t amdsmi_dev_fan_reset(amdsmi_device_handle device_handle, uint32_ * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_fan_speed_set(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_set_fan_speed(amdsmi_device_handle device_handle, uint32_t sensor_ind, uint64_t speed); /** @} End PhysCont */ @@ -2116,7 +2116,7 @@ amdsmi_status_t amdsmi_dev_fan_speed_set(amdsmi_device_handle device_handle, * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_dev_busy_percent_get(amdsmi_device_handle device_handle, uint32_t *busy_percent); +amdsmi_dev_get_busy_percent(amdsmi_device_handle device_handle, uint32_t *busy_percent); /** * @brief Get coarse grain utilization counter of the specified device @@ -2143,7 +2143,7 @@ amdsmi_dev_busy_percent_get(amdsmi_device_handle device_handle, uint32_t *busy_p * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_utilization_count_get(amdsmi_device_handle device_handle, +amdsmi_get_utilization_count(amdsmi_device_handle device_handle, amdsmi_utilization_counter_t utilization_counters[], uint32_t count, uint64_t *timestamp); @@ -2194,7 +2194,7 @@ amdsmi_status_t amdsmi_get_pcie_link_caps(amdsmi_device_handle device_handle, am * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_perf_level_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_perf_level(amdsmi_device_handle device_handle, amdsmi_dev_perf_level_t *perf); /** @@ -2215,7 +2215,7 @@ amdsmi_status_t amdsmi_dev_perf_level_get(amdsmi_device_handle device_handle, * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_perf_determinism_mode_set(amdsmi_device_handle device_handle, uint64_t clkvalue); +amdsmi_set_perf_determinism_mode(amdsmi_device_handle device_handle, uint64_t clkvalue); /** * @brief Get the overdrive percent associated with the device with provided @@ -2237,7 +2237,7 @@ amdsmi_perf_determinism_mode_set(amdsmi_device_handle device_handle, uint64_t cl * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_overdrive_level_get(amdsmi_device_handle device_handle, uint32_t *od); +amdsmi_status_t amdsmi_dev_get_overdrive_level(amdsmi_device_handle device_handle, uint32_t *od); /** * @brief Get the list of possible system clock speeds of device for a @@ -2258,7 +2258,7 @@ amdsmi_status_t amdsmi_dev_overdrive_level_get(amdsmi_device_handle device_handl * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_gpu_clk_freq_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_gpu_clk_freq(amdsmi_device_handle device_handle, amdsmi_clk_type_t clk_type, amdsmi_frequencies_t *f); /** @@ -2270,7 +2270,7 @@ amdsmi_status_t amdsmi_dev_gpu_clk_freq_get(amdsmi_device_handle device_handle, * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_gpu_reset(amdsmi_device_handle device_handle); +amdsmi_status_t amdsmi_dev_reset_gpu(amdsmi_device_handle device_handle); /** * @brief This function retrieves the voltage/frequency curve information @@ -2289,7 +2289,7 @@ amdsmi_status_t amdsmi_dev_gpu_reset(amdsmi_device_handle device_handle); * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_od_volt_info_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_od_volt_info(amdsmi_device_handle device_handle, amdsmi_od_volt_freq_data_t *odv); /** @@ -2309,7 +2309,7 @@ amdsmi_status_t amdsmi_dev_od_volt_info_get(amdsmi_device_handle device_handle, * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_gpu_metrics_info_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_gpu_metrics_info(amdsmi_device_handle device_handle, amdsmi_gpu_metrics_t *pgpu_metrics); /** @@ -2331,7 +2331,7 @@ amdsmi_status_t amdsmi_dev_gpu_metrics_info_get(amdsmi_device_handle device_hand * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_clk_range_set(amdsmi_device_handle device_handle, uint64_t minclkvalue, +amdsmi_status_t amdsmi_dev_set_clk_range(amdsmi_device_handle device_handle, uint64_t minclkvalue, uint64_t maxclkvalue, amdsmi_clk_type_t clkType); @@ -2354,7 +2354,7 @@ amdsmi_status_t amdsmi_dev_clk_range_set(amdsmi_device_handle device_handle, uin * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_od_clk_info_set(amdsmi_device_handle device_handle, amdsmi_freq_ind_t level, +amdsmi_status_t amdsmi_dev_set_od_clk_info(amdsmi_device_handle device_handle, amdsmi_freq_ind_t level, uint64_t clkvalue, amdsmi_clk_type_t clkType); @@ -2376,7 +2376,7 @@ amdsmi_status_t amdsmi_dev_od_clk_info_set(amdsmi_device_handle device_handle, a * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_od_volt_info_set(amdsmi_device_handle device_handle, uint32_t vpoint, +amdsmi_status_t amdsmi_dev_set_od_volt_info(amdsmi_device_handle device_handle, uint32_t vpoint, uint64_t clkvalue, uint64_t voltvalue); /** @@ -2392,7 +2392,7 @@ amdsmi_status_t amdsmi_dev_od_volt_info_set(amdsmi_device_handle device_handle, * be written to @p buffer in @p num_regions. * * The number of regions to expect this function provide (@p num_regions) can - * be obtained by calling ::amdsmi_dev_od_volt_info_get(). + * be obtained by calling :: amdsmi_dev_get_od_volt_info(). * * @param[in] device_handle a device handle * @@ -2414,7 +2414,7 @@ amdsmi_status_t amdsmi_dev_od_volt_info_set(amdsmi_device_handle device_handle, * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_od_volt_curve_regions_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_od_volt_curve_regions(amdsmi_device_handle device_handle, uint32_t *num_regions, amdsmi_freq_volt_region_t *buffer); /** @@ -2449,7 +2449,7 @@ amdsmi_status_t amdsmi_dev_od_volt_curve_regions_get(amdsmi_device_handle device * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_dev_power_profile_presets_get(amdsmi_device_handle device_handle, uint32_t sensor_ind, + amdsmi_dev_get_power_profile_presets(amdsmi_device_handle device_handle, uint32_t sensor_ind, amdsmi_power_profile_status_t *status); /** @} End PerfQuer */ @@ -2465,7 +2465,7 @@ amdsmi_dev_power_profile_presets_get(amdsmi_device_handle device_handle, uint32_ * @brief Set the PowerPlay performance level associated with the device with * provided device handle with the provided value. * - * @deprecated ::amdsmi_dev_perf_level_set_v1() is preferred, with an + * @deprecated :: amdsmi_dev_set_perf_level_v1() is preferred, with an * interface that more closely matches the rest of the amd_smi API. * * @details Given a device handle @p device_handle and an ::amdsmi_dev_perf_level_t @p @@ -2481,7 +2481,7 @@ amdsmi_dev_power_profile_presets_get(amdsmi_device_handle device_handle, uint32_ * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_dev_perf_level_set(amdsmi_device_handle device_handle, amdsmi_dev_perf_level_t perf_lvl); + amdsmi_dev_set_perf_level(amdsmi_device_handle device_handle, amdsmi_dev_perf_level_t perf_lvl); /** * @brief Set the PowerPlay performance level associated with the device with @@ -2500,13 +2500,13 @@ amdsmi_dev_perf_level_set(amdsmi_device_handle device_handle, amdsmi_dev_perf_le * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_dev_perf_level_set_v1(amdsmi_device_handle device_handle, amdsmi_dev_perf_level_t perf_lvl); + amdsmi_dev_set_perf_level_v1(amdsmi_device_handle device_handle, amdsmi_dev_perf_level_t perf_lvl); /** * @brief Set the overdrive percent associated with the device with provided * device handle with the provided value. See details for WARNING. * - * @deprecated This function is deprecated. ::amdsmi_dev_overdrive_level_set_v1 + * @deprecated This function is deprecated. :: amdsmi_dev_set_overdrive_level_v1 * has the same functionaltiy, with an interface that more closely * matches the rest of the amd_smi API. * @@ -2541,7 +2541,7 @@ amdsmi_dev_perf_level_set_v1(amdsmi_device_handle device_handle, amdsmi_dev_perf * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_overdrive_level_set(amdsmi_device_handle device_handle, uint32_t od); +amdsmi_status_t amdsmi_dev_set_overdrive_level(amdsmi_device_handle device_handle, uint32_t od); /** * @brief Set the overdrive percent associated with the device with provided @@ -2580,7 +2580,7 @@ amdsmi_status_t amdsmi_dev_overdrive_level_set(amdsmi_device_handle device_handl * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_overdrive_level_set_v1(amdsmi_device_handle device_handle, uint32_t od); +amdsmi_status_t amdsmi_dev_set_overdrive_level_v1(amdsmi_device_handle device_handle, uint32_t od); /** * @brief Control the set of allowed frequencies that can be used for the @@ -2590,7 +2590,7 @@ amdsmi_status_t amdsmi_dev_overdrive_level_set_v1(amdsmi_device_handle device_ha * 64 bit bitmask @p freq_bitmask, this function will limit the set of * allowable frequencies. If a bit in @p freq_bitmask has a value of 1, then * the frequency (as ordered in an ::amdsmi_frequencies_t returned by - * amdsmi_dev_gpu_clk_freq_get()) corresponding to that bit index will be + * amdsmi_dev_get_gpu_clk_freq()) corresponding to that bit index will be * allowed. * * This function will change the performance level to @@ -2614,7 +2614,7 @@ amdsmi_status_t amdsmi_dev_overdrive_level_set_v1(amdsmi_device_handle device_ha * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_gpu_clk_freq_set(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_set_clk_freq(amdsmi_device_handle device_handle, amdsmi_clk_type_t clk_type, uint64_t freq_bitmask); /** @} End PerfCont */ @@ -2638,7 +2638,7 @@ amdsmi_status_t amdsmi_dev_gpu_clk_freq_set(amdsmi_device_handle device_handle, * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_version_get(amdsmi_version_t *version); +amdsmi_get_version(amdsmi_version_t *version); /** * @brief Get the driver version string for the current system. @@ -2664,7 +2664,7 @@ amdsmi_version_get(amdsmi_version_t *version); * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_version_str_get(amdsmi_sw_component_t component, char *ver_str, +amdsmi_get_version_str(amdsmi_sw_component_t component, char *ver_str, uint32_t len); /** @} End VersQuer */ @@ -2697,7 +2697,7 @@ amdsmi_version_str_get(amdsmi_sw_component_t component, char *ver_str, * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_ecc_count_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_ecc_count(amdsmi_device_handle device_handle, amdsmi_gpu_block_t block, amdsmi_error_count_t *ec); /** @@ -2724,7 +2724,7 @@ amdsmi_status_t amdsmi_dev_ecc_count_get(amdsmi_device_handle device_handle, * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_ecc_enabled_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_ecc_enabled(amdsmi_device_handle device_handle, uint64_t *enabled_blocks); /** @@ -2748,7 +2748,7 @@ amdsmi_status_t amdsmi_dev_ecc_enabled_get(amdsmi_device_handle device_handle, * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_dev_ecc_status_get(amdsmi_device_handle device_handle, amdsmi_gpu_block_t block, +amdsmi_status_t amdsmi_dev_get_ecc_status(amdsmi_device_handle device_handle, amdsmi_gpu_block_t block, amdsmi_ras_err_state_t *state); /** @@ -2787,24 +2787,24 @@ amdsmi_status_string(amdsmi_status_t status, const char **status_string); * (::amdsmi_event_group_t) are supported for a given device. Assuming a device * supports a given event type, we can then check to see if there are counters * available to count a specific event with - * ::amdsmi_counter_available_counters_get(). Counters may be occupied by other + * :: amdsmi_counter_get_available_counters(). Counters may be occupied by other * perf based programs. * * Once it is determined that events are supported and counters are available, * an event counter can be created/destroyed and controlled. * - * ::amdsmi_dev_counter_create() allocates internal data structures that will be + * ::amdsmi_dev_create_counter() allocates internal data structures that will be * used to used to control the event counter, and return a handle to this data * structure. * * Once an event counter handle is obtained, the event counter can be - * controlled (i.e., started, stopped,...) with ::amdsmi_counter_control() by + * controlled (i.e., started, stopped,...) with ::amdsmi_control_counter() by * passing ::amdsmi_counter_command_t commands. ::AMDSMI_CNTR_CMD_START starts an * event counter and ::AMDSMI_CNTR_CMD_STOP stops a counter. - * ::amdsmi_counter_read() reads an event counter. + * ::amdsmi_read_counter() reads an event counter. * * Once the counter is no longer needed, the resources it uses should be freed - * by calling ::amdsmi_dev_counter_destroy(). + * by calling ::amdsmi_dev_destroy_counter(). * * * Important Notes about Counter Values @@ -2812,12 +2812,12 @@ amdsmi_status_string(amdsmi_status_t status, const char **status_string); * - A running "absolute" counter is kept internally. For the discussion that * follows, we will call the internal counter value at time @a t @a * valt - * - Issuing ::AMDSMI_CNTR_CMD_START or calling ::amdsmi_counter_read(), causes + * - Issuing ::AMDSMI_CNTR_CMD_START or calling ::amdsmi_read_counter(), causes * AMDSMI (in kernel) to internally record the current absolute counter value - * - ::amdsmi_counter_read() returns the number of events that have occurred + * - ::amdsmi_read_counter() returns the number of events that have occurred * since the previously recorded value (ie, a relative value, * @a valt - valt-1) from the issuing of - * ::AMDSMI_CNTR_CMD_START or calling ::amdsmi_counter_read() + * ::AMDSMI_CNTR_CMD_START or calling ::amdsmi_read_counter() * * Example of event counting sequence: * @@ -2834,7 +2834,7 @@ amdsmi_status_string(amdsmi_status_t status, const char **status_string); * // See if there are counters available for device dv_ind for event * // AMDSMI_EVNT_GRP_XGMI * - * ret = amdsmi_counter_available_counters_get(dv_ind, + * ret = amdsmi_counter_get_available_counters(dv_ind, * AMDSMI_EVNT_GRP_XGMI, &counters_available); * * // Assuming AMDSMI_EVNT_GRP_XGMI is supported and there is at least 1 @@ -2843,30 +2843,30 @@ amdsmi_status_string(amdsmi_status_t status, const char **status_string); * // AMDSMI_EVNT_XGMI_0_BEATS_TX) and get the handle * // (amdsmi_event_handle_t). * - * ret = amdsmi_dev_counter_create(dv_ind, AMDSMI_EVNT_XGMI_0_BEATS_TX, + * ret = amdsmi_dev_create_counter(dv_ind, AMDSMI_EVNT_XGMI_0_BEATS_TX, * &evnt_handle); * * // A program that generates the events of interest can be started * // immediately before or after starting the counters. * // Start counting: - * ret = amdsmi_counter_control(evnt_handle, AMDSMI_CNTR_CMD_START, NULL); + * ret = amdsmi_control_counter(evnt_handle, AMDSMI_CNTR_CMD_START, NULL); * * // Wait... * * // Get the number of events since AMDSMI_CNTR_CMD_START was issued: - * ret = amdsmi_counter_read(amdsmi_event_handle_t evt_handle, &value) + * ret = amdsmi_read_counter(amdsmi_event_handle_t evt_handle, &value) * * // Wait... * - * // Get the number of events since amdsmi_counter_read() was last called: - * ret = amdsmi_counter_read(amdsmi_event_handle_t evt_handle, &value) + * // Get the number of events since amdsmi_read_counter() was last called: + * ret = amdsmi_read_counter(amdsmi_event_handle_t evt_handle, &value) * * // Stop counting. - * ret = amdsmi_counter_control(evnt_handle, AMDSMI_CNTR_CMD_STOP, NULL); + * ret = amdsmi_control_counter(evnt_handle, AMDSMI_CNTR_CMD_STOP, NULL); * * // Release all resources (e.g., counter and memory resources) associated * with evnt_handle. - * ret = amdsmi_dev_counter_destroy(evnt_handle); + * ret = amdsmi_dev_destroy_counter(evnt_handle); * @endcode * @{ */ @@ -2895,7 +2895,7 @@ amdsmi_dev_counter_group_supported(amdsmi_device_handle device_handle, amdsmi_ev * with a device handle of @p device_handle, and write a handle to the object to the * memory location pointed to by @p evnt_handle. @p evnt_handle can be used * with other performance event operations. The handle should be deallocated - * with ::amdsmi_dev_counter_destroy() when no longer needed. + * with ::amdsmi_dev_destroy_counter() when no longer needed. * * @note This function requires root access * @@ -2913,7 +2913,7 @@ amdsmi_dev_counter_group_supported(amdsmi_device_handle device_handle, amdsmi_ev * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_dev_counter_create(amdsmi_device_handle device_handle, amdsmi_event_type_t type, +amdsmi_dev_create_counter(amdsmi_device_handle device_handle, amdsmi_event_type_t type, amdsmi_event_handle_t *evnt_handle); /** @@ -2929,7 +2929,7 @@ amdsmi_dev_counter_create(amdsmi_device_handle device_handle, amdsmi_event_type_ * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_dev_counter_destroy(amdsmi_event_handle_t evnt_handle); +amdsmi_dev_destroy_counter(amdsmi_event_handle_t evnt_handle); /** * @brief Issue performance counter control commands @@ -2948,7 +2948,7 @@ amdsmi_dev_counter_destroy(amdsmi_event_handle_t evnt_handle); * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_counter_control(amdsmi_event_handle_t evt_handle, +amdsmi_control_counter(amdsmi_event_handle_t evt_handle, amdsmi_counter_command_t cmd, void *cmd_args); /** @@ -2968,7 +2968,7 @@ amdsmi_counter_control(amdsmi_event_handle_t evt_handle, * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_counter_read(amdsmi_event_handle_t evt_handle, +amdsmi_read_counter(amdsmi_event_handle_t evt_handle, amdsmi_counter_value_t *value); /** @@ -2989,7 +2989,7 @@ amdsmi_counter_read(amdsmi_event_handle_t evt_handle, * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_counter_available_counters_get(amdsmi_device_handle device_handle, + amdsmi_counter_get_available_counters(amdsmi_device_handle device_handle, amdsmi_event_group_t grp, uint32_t *available); /** @} End PerfCntr */ @@ -3029,7 +3029,7 @@ amdsmi_counter_available_counters_get(amdsmi_device_handle device_handle, * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_compute_process_info_get(amdsmi_process_info_t *procs, uint32_t *num_items); +amdsmi_get_compute_process_info(amdsmi_process_info_t *procs, uint32_t *num_items); /** * @brief Get process information about a specific process @@ -3048,7 +3048,7 @@ amdsmi_compute_process_info_get(amdsmi_process_info_t *procs, uint32_t *num_item * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_compute_process_info_by_pid_get(uint32_t pid, amdsmi_process_info_t *proc); +amdsmi_get_compute_process_info_by_pid(uint32_t pid, amdsmi_process_info_t *proc); /** * @brief Get the device indices currently being used by a process @@ -3080,7 +3080,7 @@ amdsmi_compute_process_info_by_pid_get(uint32_t pid, amdsmi_process_info_t *proc * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_compute_process_gpus_get(uint32_t pid, uint32_t *dv_indices, +amdsmi_get_compute_process_gpus(uint32_t pid, uint32_t *dv_indices, uint32_t *num_devices); /** @} End SysInfo */ @@ -3125,7 +3125,7 @@ amdsmi_dev_xgmi_error_status(amdsmi_device_handle device_handle, amdsmi_xgmi_sta * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_dev_xgmi_error_reset(amdsmi_device_handle device_handle); +amdsmi_dev_reset_xgmi_error(amdsmi_device_handle device_handle); /** @} End SysInfo */ @@ -3197,7 +3197,7 @@ amdsmi_topo_get_link_weight(amdsmi_device_handle device_handle_src, amdsmi_devic * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_minmax_bandwidth_get(amdsmi_device_handle device_handle_src, amdsmi_device_handle device_handle_dst, + amdsmi_get_minmax_bandwidth(amdsmi_device_handle device_handle_src, amdsmi_device_handle device_handle_dst, uint64_t *min_bandwidth, uint64_t *max_bandwidth); /** @@ -3262,14 +3262,14 @@ amdsmi_is_P2P_accessible(amdsmi_device_handle device_handle_src, amdsmi_device_h * * Some functions have several variations ("variants") where some variants are * supported and others are not. For example, on a given device, - * ::amdsmi_dev_temp_metric_get may support some types of temperature metrics + * :: amdsmi_dev_get_temp_metric may support some types of temperature metrics * (e.g., ::AMDSMI_TEMP_CRITICAL_HYST), but not others * (e.g., ::AMDSMI_TEMP_EMERGENCY). * * In addition to a top level of variant support for a function, a function * may have varying support for monitors/sensors. These are considered * "sub-variants" in functions described in this section. Continuing the - * ::amdsmi_dev_temp_metric_get example, if variant + * :: amdsmi_dev_get_temp_metric example, if variant * ::AMDSMI_TEMP_CRITICAL_HYST is supported, perhaps * only the sub-variant sensors ::AMDSMI_TEMP_TYPE_EDGE * and ::AMDSMI_TEMP_TYPE_EDGE are supported, but not @@ -3301,17 +3301,17 @@ amdsmi_is_P2P_accessible(amdsmi_device_handle device_handle_src, amdsmi_device_h * // ... ... * * std::cout << "Supported AMDSMI Functions:" << std::endl; * - * err = amdsmi_dev_supported_func_iterator_open(device, &iter_handle); + * err = amdsmi_dev_open_supported_func_iterator(device, &iter_handle); * * while (1) { - * err = amdsmi_func_iter_value_get(iter_handle, &value); + * err = amdsmi_get_func_iter_value(iter_handle, &value); * std::cout << "Function Name: " << value.name << std::endl; * - * err = amdsmi_dev_supported_variant_iterator_open(iter_handle, &var_iter); + * err = amdsmi_dev_open_supported_variant_iterator(iter_handle, &var_iter); * if (err != AMDSMI_STATUS_NO_DATA) { * std::cout << "\tVariants/Monitors: "; * while (1) { - * err = amdsmi_func_iter_value_get(var_iter, &value); + * err = amdsmi_get_func_iter_value(var_iter, &value); * if (value.id == AMDSMI_DEFAULT_VARIANT) { * std::cout << "Default Variant "; * } else { @@ -3320,25 +3320,25 @@ amdsmi_is_P2P_accessible(amdsmi_device_handle device_handle_src, amdsmi_device_h * std::cout << " ("; * * err = - * amdsmi_dev_supported_variant_iterator_open(var_iter, &sub_var_iter); + * amdsmi_dev_open_supported_variant_iterator(var_iter, &sub_var_iter); * if (err != AMDSMI_STATUS_NO_DATA) { * * while (1) { - * err = amdsmi_func_iter_value_get(sub_var_iter, &value); + * err = amdsmi_get_func_iter_value(sub_var_iter, &value); * std::cout << value.id << ", "; * - * err = amdsmi_func_iter_next(sub_var_iter); + * err = amdsmi_next_func_iter(sub_var_iter); * * if (err == AMDSMI_STATUS_NO_DATA) { * break; * } * } - * err = amdsmi_dev_supported_func_iterator_close(&sub_var_iter); + * err = amdsmi_dev_close_supported_func_iterator(&sub_var_iter); * } * * std::cout << "), "; * - * err = amdsmi_func_iter_next(var_iter); + * err = amdsmi_next_func_iter(var_iter); * * if (err == AMDSMI_STATUS_NO_DATA) { * break; @@ -3346,16 +3346,16 @@ amdsmi_is_P2P_accessible(amdsmi_device_handle device_handle_src, amdsmi_device_h * } * std::cout << std::endl; * - * err = amdsmi_dev_supported_func_iterator_close(&var_iter); + * err = amdsmi_dev_close_supported_func_iterator(&var_iter); * } * - * err = amdsmi_func_iter_next(iter_handle); + * err = amdsmi_next_func_iter(iter_handle); * * if (err == AMDSMI_STATUS_NO_DATA) { * break; * } * } - * err = amdsmi_dev_supported_func_iterator_close(&iter_handle); + * err = amdsmi_dev_close_supported_func_iterator(&iter_handle); * } * @endcode * @@ -3370,9 +3370,9 @@ amdsmi_is_P2P_accessible(amdsmi_device_handle device_handle_src, amdsmi_device_h * handle can be used to iterate through all the supported functions. * * Note that although this function takes in @p device_handle as an argument, - * ::amdsmi_dev_supported_func_iterator_open itself will not be among the + * ::amdsmi_dev_open_supported_func_iterator itself will not be among the * functions listed as supported. This is because - * ::amdsmi_dev_supported_func_iterator_open does not depend on hardware or + * ::amdsmi_dev_open_supported_func_iterator does not depend on hardware or * driver support and should always be supported. * * @param[in] device_handle a device handle of device for which support information is @@ -3384,7 +3384,7 @@ amdsmi_is_P2P_accessible(amdsmi_device_handle device_handle_src, amdsmi_device_h * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_dev_supported_func_iterator_open(amdsmi_device_handle device_handle, +amdsmi_dev_open_supported_func_iterator(amdsmi_device_handle device_handle, amdsmi_func_id_iter_handle_t *handle); /** @@ -3394,13 +3394,13 @@ amdsmi_dev_supported_func_iterator_open(amdsmi_device_handle device_handle, * write a function iterator handle to the caller-provided memory pointed to * by @p var_iter. This handle can be used to iterate through all the supported * variants of the provided handle. @p obj_h may be a handle to a function - * object, as provided by a call to ::amdsmi_dev_supported_func_iterator_open, or + * object, as provided by a call to ::amdsmi_dev_open_supported_func_iterator, or * it may be a variant itself (from a call to - * ::amdsmi_dev_supported_variant_iterator_open), it which case @p var_iter will + * ::amdsmi_dev_open_supported_variant_iterator), it which case @p var_iter will * be an iterator of the sub-variants of @p obj_h (e.g., monitors). * * This call allocates a small amount of memory to @p var_iter. To free this memory - * ::amdsmi_dev_supported_func_iterator_close should be called on the returned + * ::amdsmi_dev_close_supported_func_iterator should be called on the returned * iterator handle @p var_iter when it is no longer needed. * * @param[in] obj_h an iterator handle for which the variants are being requested @@ -3411,7 +3411,7 @@ amdsmi_dev_supported_func_iterator_open(amdsmi_device_handle device_handle, * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_dev_supported_variant_iterator_open(amdsmi_func_id_iter_handle_t obj_h, +amdsmi_dev_open_supported_variant_iterator(amdsmi_func_id_iter_handle_t obj_h, amdsmi_func_id_iter_handle_t *var_iter); /** @@ -3430,7 +3430,7 @@ amdsmi_dev_supported_variant_iterator_open(amdsmi_func_id_iter_handle_t obj_h, * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_func_iter_next(amdsmi_func_id_iter_handle_t handle); +amdsmi_next_func_iter(amdsmi_func_id_iter_handle_t handle); /** * @brief Close a variant iterator handle @@ -3443,7 +3443,7 @@ amdsmi_func_iter_next(amdsmi_func_id_iter_handle_t handle); * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_dev_supported_func_iterator_close(amdsmi_func_id_iter_handle_t *handle); +amdsmi_dev_close_supported_func_iterator(amdsmi_func_id_iter_handle_t *handle); /** * @brief Get the value associated with a function/variant iterator @@ -3463,7 +3463,7 @@ amdsmi_dev_supported_func_iterator_close(amdsmi_func_id_iter_handle_t *handle); * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_func_iter_value_get(amdsmi_func_id_iter_handle_t handle, +amdsmi_get_func_iter_value(amdsmi_func_id_iter_handle_t handle, amdsmi_func_id_value_t *value); /** @} End APISupport */ @@ -3480,7 +3480,7 @@ amdsmi_func_iter_value_get(amdsmi_func_id_iter_handle_t handle, * * @details This function prepares to collect events for the GPU with device * ID @p device_handle, by initializing any required system parameters. This call - * may open files which will remain open until ::amdsmi_event_notification_stop() + * may open files which will remain open until ::amdsmi_stop_event_notification() * is called. * * @param device_handle a device handle corresponding to the device on which to @@ -3489,7 +3489,7 @@ amdsmi_func_iter_value_get(amdsmi_func_id_iter_handle_t handle, * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_event_notification_init(amdsmi_device_handle device_handle); +amdsmi_init_event_notification(amdsmi_device_handle device_handle); /** * @brief Specify which events to collect for a device @@ -3512,13 +3512,13 @@ amdsmi_event_notification_init(amdsmi_device_handle device_handle); * AMDSMI_EVT_NOTIF_THERMAL_THROTTLE event (which has a value of 2). * * @note ::AMDSMI_STATUS_INIT_ERROR is returned if - * ::amdsmi_event_notification_init() has not been called before a call to this + * ::amdsmi_init_event_notification() has not been called before a call to this * function * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_event_notification_mask_set(amdsmi_device_handle device_handle, uint64_t mask); + amdsmi_set_event_notification_mask(amdsmi_device_handle device_handle, uint64_t mask); /** * @brief Collect event notifications, waiting a specified amount of time @@ -3534,10 +3534,10 @@ amdsmi_event_notification_mask_set(amdsmi_device_handle device_handle, uint64_t * to the buffer then poll for new events if there is still caller-provided * buffer available to write any new events that would be found. * - * This function requires prior calls to ::amdsmi_event_notification_init() and - * ::amdsmi_event_notification_mask_set(). This function polls for the + * This function requires prior calls to ::amdsmi_init_event_notification() and + * :: amdsmi_set_event_notification_mask(). This function polls for the * occurrance of the events on the respective devices that were previously - * specified by ::amdsmi_event_notification_mask_set(). + * specified by :: amdsmi_set_event_notification_mask(). * * @param[in] timeout_ms number of milliseconds to wait for an event * to occur @@ -3556,7 +3556,7 @@ amdsmi_event_notification_mask_set(amdsmi_device_handle device_handle, uint64_t * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ amdsmi_status_t -amdsmi_event_notification_get(int timeout_ms, + amdsmi_get_event_notification(int timeout_ms, uint32_t *num_elem, amdsmi_evt_notification_data_t *data); /** @@ -3566,14 +3566,14 @@ amdsmi_event_notification_get(int timeout_ms, * @details Any resources used by event notification for the GPU with * device handle @p device_handle will be free with this * function. This includes freeing any memory and closing file handles. This - * should be called for every call to ::amdsmi_event_notification_init() + * should be called for every call to ::amdsmi_init_event_notification() * * @param[in] device_handle The device handle of the GPU for which event * notification resources will be free * * @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail */ -amdsmi_status_t amdsmi_event_notification_stop(amdsmi_device_handle device_handle); +amdsmi_status_t amdsmi_stop_event_notification(amdsmi_device_handle device_handle); /** @} End EvntNotif */ diff --git a/py-interface/README.md b/py-interface/README.md index 3d2453144f..b6a106de60 100644 --- a/py-interface/README.md +++ b/py-interface/README.md @@ -1195,7 +1195,7 @@ except AmdSmiException as e: ``` -## amdsmi_dev_supported_func_iterator_open +## amdsmi_dev_open_supported_func_iterator Description: Get a function name iterator of supported AMDSMI functions for a device Input parameters: @@ -1204,7 +1204,7 @@ Input parameters: Output: Handle for a function iterator -Exceptions that can be thrown by `amdsmi_dev_supported_func_iterator_open` function: +Exceptions that can be thrown by `amdsmi_dev_open_supported_func_iterator` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1217,14 +1217,14 @@ try: print("No GPUs on machine") else: for device in devices: - obj_handle = amdsmi_dev_supported_func_iterator_open(device) + obj_handle = amdsmi_dev_open_supported_func_iterator(device) print(obj_handle) - amdsmi_dev_supported_func_iterator_close(obj_handle) + amdsmi_dev_close_supported_func_iterator(obj_handle) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_supported_variant_iterator_open +## amdsmi_dev_open_supported_variant_iterator Description: Get a variant iterator for a given handle Input parameters: @@ -1233,7 +1233,7 @@ Input parameters: Output: Variant iterator handle -Exceptions that can be thrown by `amdsmi_dev_supported_variant_iterator_open` function: +Exceptions that can be thrown by `amdsmi_dev_open_supported_variant_iterator` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1246,16 +1246,16 @@ try: print("No GPUs on machine") else: for device in devices: - obj_handle = amdsmi_dev_supported_func_iterator_open(device) - var_iter = amdsmi_dev_supported_variant_iterator_open(obj_handle) + obj_handle = amdsmi_dev_open_supported_func_iterator(device) + var_iter = amdsmi_dev_open_supported_variant_iterator(obj_handle) print(var_iter) - amdsmi_dev_supported_func_iterator_close(obj_handle) - amdsmi_dev_supported_func_iterator_close(var_iter) + amdsmi_dev_close_supported_func_iterator(obj_handle) + amdsmi_dev_close_supported_func_iterator(var_iter) except AmdSmiException as e: print(e) ``` -## amdsmi_func_iter_next +## amdsmi_next_func_iter Description: Advance an object identifier iterator Input parameters: @@ -1264,7 +1264,7 @@ Input parameters: Output: Next iterator handle -Exceptions that can be thrown by `amdsmi_func_iter_next` function: +Exceptions that can be thrown by `amdsmi_next_func_iter` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1277,16 +1277,16 @@ try: print("No GPUs on machine") else: for device in devices: - obj_handle = amdsmi_dev_supported_func_iterator_open(device) + obj_handle = amdsmi_dev_open_supported_func_iterator(device) print(obj_handle) - obj_handle = amdsmi_func_iter_next(obj_handle) + obj_handle = amdsmi_next_func_iter(obj_handle) print(obj_handle) - amdsmi_dev_supported_func_iterator_close(obj_handle) + amdsmi_dev_close_supported_func_iterator(obj_handle) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_supported_func_iterator_close +## amdsmi_dev_close_supported_func_iterator Description: Close a variant iterator handle Input parameters: @@ -1295,7 +1295,7 @@ Input parameters: Output: None -Exceptions that can be thrown by `amdsmi_dev_supported_func_iterator_close` function: +Exceptions that can be thrown by `amdsmi_dev_close_supported_func_iterator` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1308,13 +1308,13 @@ try: print("No GPUs on machine") else: for device in devices: - obj_handle = amdsmi_dev_supported_func_iterator_open(device) - amdsmi_dev_supported_func_iterator_close(obj_handle) + obj_handle = amdsmi_dev_open_supported_func_iterator(device) + amdsmi_dev_close_supported_func_iterator(obj_handle) except AmdSmiException as e: print(e) ``` -## amdsmi_func_iter_value_get +## amdsmi_get_func_iter_value Description: Get the value associated with a function/variant iterator Input parameters: @@ -1329,7 +1329,7 @@ Field | Description `name`| Descriptive name of the function/variant `amd_id_0` |
Subfield Description
`memory_type`Memory type
`temp_metric`Temperature metric
`evnt_type`Event type
`evnt_group`Event group
`clk_type`Clock type
`fw_block`Firmware block
`gpu_block_type`GPU block type
-Exceptions that can be thrown by `amdsmi_func_iter_value_get` function: +Exceptions that can be thrown by `amdsmi_get_func_iter_value` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1342,15 +1342,15 @@ try: print("No GPUs on machine") else: for device in devices: - obj_handle = amdsmi_dev_supported_func_iterator_open(device) - value = amdsmi_func_iter_value_get(obj_handle) + obj_handle = amdsmi_dev_open_supported_func_iterator(device) + value = amdsmi_get_func_iter_value(obj_handle) print(value) - amdsmi_dev_supported_func_iterator_close(obj_handle) + amdsmi_dev_close_supported_func_iterator(obj_handle) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_pci_bandwidth_set +## amdsmi_dev_set_pci_bandwidth Description: Control the set of allowed PCIe bandwidths that can be used Input parameters: @@ -1360,7 +1360,7 @@ to be enabled (1) and disabled (0) Output: None -Exceptions that can be thrown by `amdsmi_dev_pci_bandwidth_set` function: +Exceptions that can be thrown by ` amdsmi_dev_set_pci_bandwidth` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1373,11 +1373,11 @@ try: print("No GPUs on machine") else: for device in devices: - amdsmi_dev_pci_bandwidth_set(device, 0) + amdsmi_dev_set_pci_bandwidth(device, 0) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_power_cap_set +## amdsmi_dev_set_power_cap Description: Set the power cap value Input parameters: @@ -1388,7 +1388,7 @@ device has more than one sensor, it could be greater than 0 Output: None -Exceptions that can be thrown by `amdsmi_dev_power_cap_set` function: +Exceptions that can be thrown by ` amdsmi_dev_set_power_cap` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1402,11 +1402,11 @@ try: else: for device in devices: power_cap = 250 * 1000000 - amdsmi_dev_power_cap_set(device, 0, power_cap) + amdsmi_dev_set_power_cap(device, 0, power_cap) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_power_profile_set +## amdsmi_dev_set_power_profile Description: Set the power profile Input parameters: @@ -1417,7 +1417,7 @@ the desired new power profile Output: None -Exceptions that can be thrown by `amdsmi_dev_power_profile_set` function: +Exceptions that can be thrown by ` amdsmi_dev_set_power_profile` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1431,13 +1431,13 @@ try: else: for device in devices: profile = ... - amdsmi_dev_power_profile_set(device, 0, profile) + amdsmi_dev_set_power_profile(device, 0, profile) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_clk_range_set +## amdsmi_dev_set_clk_range Description: This function sets the clock range information Input parameters: @@ -1448,7 +1448,7 @@ Input parameters: Output: None -Exceptions that can be thrown by `amdsmi_dev_clk_range_set` function: +Exceptions that can be thrown by `amdsmi_dev_set_clk_range` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1461,13 +1461,13 @@ try: print("No GPUs on machine") else: for device in devices: - amdsmi_dev_clk_range_set(device, 0, 1000, AmdSmiClockType.AMDSMI_CLK_TYPE_SYS) + amdsmi_dev_set_clk_range(device, 0, 1000, AmdSmiClockType.AMDSMI_CLK_TYPE_SYS) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_pci_id_get +## amdsmi_dev_get_pci_id Description: Get the unique PCI device identifier associated for a device Input parameters: @@ -1489,7 +1489,7 @@ BDFID = ((DOMAIN & 0xffffffff) << 32) | ((BUS & 0xff) << 8) | | Function | [ 2: 0] | -Exceptions that can be thrown by `amdsmi_dev_pci_id_get` function: +Exceptions that can be thrown by `amdsmi_dev_get_pci_id` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1502,14 +1502,14 @@ try: print("No GPUs on machine") else: for device in devices: - bdfid = amdsmi_dev_pci_id_get(device) + bdfid = amdsmi_dev_get_pci_id(device) print(bdfid) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_pci_bandwidth_get +## amdsmi_dev_get_pci_bandwidth Description: Get the list of possible PCIe bandwidths that are available. Input parameters: @@ -1532,7 +1532,7 @@ Field | Content `current` | current `frequency` | list of frequency -Exceptions that can be thrown by `amdsmi_dev_pci_bandwidth_get` function: +Exceptions that can be thrown by `amdsmi_dev_get_pci_bandwidth` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1545,13 +1545,13 @@ try: print("No GPUs on machine") else: for device in devices: - bandwidth = amdsmi_dev_pci_bandwidth_get(device) + bandwidth = amdsmi_dev_get_pci_bandwidth(device) print(bandwidth) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_pci_throughput_get +## amdsmi_dev_get_pci_throughput Description: Get PCIe traffic information Input parameters: @@ -1566,7 +1566,7 @@ Field | Content `received` | the number of bytes received `max_pkt_sz` | maximum packet size -Exceptions that can be thrown by `amdsmi_dev_pci_throughput_get` function: +Exceptions that can be thrown by `amdsmi_dev_get_pci_throughput` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1579,13 +1579,13 @@ try: print("No GPUs on machine") else: for device in devices: - pci = amdsmi_dev_pci_throughput_get(device) + pci = amdsmi_dev_get_pci_throughput(device) print(pci) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_pci_replay_counter_get +## amdsmi_dev_get_pci_replay_counter Description: Get PCIe replay counter @@ -1596,7 +1596,7 @@ Input parameters: Output: counter value The sum of the NAK's received and generated by the GPU -Exceptions that can be thrown by `amdsmi_dev_pci_replay_counter_get` function: +Exceptions that can be thrown by ` amdsmi_dev_get_pci_replay_counter` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1609,13 +1609,13 @@ try: print("No GPUs on machine") else: for device in devices: - counter = amdsmi_dev_pci_replay_counter_get(device) + counter = amdsmi_dev_get_pci_replay_counter(device) print(counter) except AmdSmiException as e: print(e) ``` -## amdsmi_topo_numa_affinity_get +## amdsmi_topo_get_numa_affinity Description: Get the NUMA node associated with a device @@ -1625,7 +1625,7 @@ Input parameters: Output: NUMA node value -Exceptions that can be thrown by `amdsmi_topo_numa_affinity_get` function: +Exceptions that can be thrown by `amdsmi_topo_get_numa_affinity` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1638,13 +1638,13 @@ try: print("No GPUs on machine") else: for device in devices: - numa_node = amdsmi_topo_numa_affinity_get(device) + numa_node = amdsmi_topo_get_numa_affinity(device) print(numa_node) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_power_ave_get +## amdsmi_dev_get_power_ave Description: Get the average power consumption of the device @@ -1656,7 +1656,7 @@ If a device has more than one sensor, it could be greater than 0. Output: the average power consumption -Exceptions that can be thrown by `amdsmi_dev_power_ave_get` function: +Exceptions that can be thrown by `amdsmi_dev_get_power_ave` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1669,14 +1669,14 @@ try: print("No GPUs on machine") else: for device in devices: - power = amdsmi_dev_power_ave_get(device) + power = amdsmi_dev_get_power_ave(device) print(power) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_energy_count_get +## amdsmi_dev_get_energy_count Description: Get the energy accumulator counter of the device. @@ -1692,7 +1692,7 @@ Field | Content `counter_resolution` | counter resolution `timestamp` | timestamp -Exceptions that can be thrown by `amdsmi_dev_energy_count_get` function: +Exceptions that can be thrown by `amdsmi_dev_get_energy_count` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1705,14 +1705,14 @@ try: print("No GPUs on machine") else: for device in devices: - power = amdsmi_dev_energy_count_get(device) + power = amdsmi_dev_get_energy_count(device) print(power) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_memory_total_get +## amdsmi_dev_get_memory_total Description: Get the total amount of memory that exists @@ -1723,7 +1723,7 @@ Input parameters: Output: total amount of memory -Exceptions that can be thrown by `amdsmi_dev_memory_total_get` function: +Exceptions that can be thrown by `amdsmi_dev_get_memory_total` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1736,7 +1736,7 @@ try: print("No GPUs on machine") else: for device in devices: - memory = amdsmi_dev_memory_total_get(device) + memory = amdsmi_dev_get_memory_total(device) print(memory) except AmdSmiException as e: print(e) @@ -1745,7 +1745,7 @@ except AmdSmiException as e: -## amdsmi_dev_od_clk_info_set +## amdsmi_dev_set_od_clk_info Description: This function sets the clock frequency information Input parameters: @@ -1757,7 +1757,7 @@ or maximum (1) speed Output: None -Exceptions that can be thrown by `amdsmi_dev_od_clk_info_set` function: +Exceptions that can be thrown by ` amdsmi_dev_set_od_clk_info` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1770,7 +1770,7 @@ try: print("No GPUs on machine") else: for device in devices: - amdsmi_dev_od_clk_info_set( + amdsmi_dev_set_od_clk_info( device, AmdSmiFreqInd.AMDSMI_FREQ_IND_MAX, 1000, @@ -1781,7 +1781,7 @@ except AmdSmiException as e: ``` -## amdsmi_dev_memory_usage_get +## amdsmi_dev_get_memory_usage Description: Get the current memory usage @@ -1792,7 +1792,7 @@ Input parameters: Output: the amount of memory currently being used -Exceptions that can be thrown by `amdsmi_dev_memory_usage_get` function: +Exceptions that can be thrown by `amdsmi_dev_get_memory_usage` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1805,14 +1805,14 @@ try: print("No GPUs on machine") else: for device in devices: - memory = amdsmi_dev_memory_usage_get(device) + memory = amdsmi_dev_get_memory_usage(device) print(memory) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_od_volt_info_set +## amdsmi_dev_set_od_volt_info Description: This function sets 1 of the 3 voltage curve points Input parameters: @@ -1823,7 +1823,7 @@ Input parameters: Output: None -Exceptions that can be thrown by `amdsmi_dev_od_volt_info_set` function: +Exceptions that can be thrown by ` amdsmi_dev_set_od_volt_info` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1836,13 +1836,13 @@ try: print("No GPUs on machine") else: for device in devices: - amdsmi_dev_od_volt_info_set(device, 1, 1000, 980) + amdsmi_dev_set_od_volt_info(device, 1, 1000, 980) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_memory_busy_percent_get +## amdsmi_dev_get_memory_busy_percent Description: Get percentage of time any device memory is being used @@ -1852,7 +1852,7 @@ Input parameters: Output: percentage of time that any device memory is being used for the specified device. -Exceptions that can be thrown by `amdsmi_dev_memory_busy_percent_get` function: +Exceptions that can be thrown by `amdsmi_dev_get_memory_busy_percent` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1865,7 +1865,7 @@ try: print("No GPUs on machine") else: for device in devices: - busy_percent = amdsmi_dev_memory_busy_percent_get(device) + busy_percent = amdsmi_dev_get_memory_busy_percent(device) print(busy_percent) except AmdSmiException as e: print(e) @@ -1873,7 +1873,7 @@ except AmdSmiException as e: -## amdsmi_dev_perf_level_set_v1 +## amdsmi_dev_set_perf_level_v1 Description: Set the PowerPlay performance level associated with the device with provided device handle with the provided value @@ -1883,7 +1883,7 @@ Input parameters: Output: None -Exceptions that can be thrown by `amdsmi_dev_perf_level_set_v1` function: +Exceptions that can be thrown by ` amdsmi_dev_set_perf_level_v1` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1896,11 +1896,11 @@ try: print("No GPUs on machine") else: for device in devices: - amdsmi_dev_perf_level_set_v1(device, AmdSmiDevPerfLevel.AMDSMI_DEV_PERF_LEVEL_HIGH) + amdsmi_dev_set_perf_level_v1(device, AmdSmiDevPerfLevel.AMDSMI_DEV_PERF_LEVEL_HIGH) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_fan_rpms_get +## amdsmi_dev_get_fan_rpms Description: Get the fan speed in RPMs of the device with the specified device handle and 0-based sensor index. @@ -1911,7 +1911,7 @@ more than one sensor, it could be greater than 0. Output: Fan speed in rpms as integer -Exceptions that can be thrown by `amdsmi_dev_fan_rpms_get` function: +Exceptions that can be thrown by `amdsmi_dev_get_fan_rpms` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1924,12 +1924,12 @@ try: print("No GPUs on machine") else: for device in devices: - fan_rpm = amdsmi_dev_fan_rpms_get(device, 0) + fan_rpm = amdsmi_dev_get_fan_rpms(device, 0) print(fan_rpm) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_fan_speed_get +## amdsmi_dev_get_fan_speed Description: Get the fan speed for the specified device as a value relative to AMDSMI_MAX_FAN_SPEED @@ -1940,7 +1940,7 @@ more than one sensor, it could be greater than 0. Output: Fan speed in relative to MAX -Exceptions that can be thrown by `amdsmi_dev_fan_speed_get` function: +Exceptions that can be thrown by `amdsmi_dev_get_fan_speed` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1953,12 +1953,12 @@ try: print("No GPUs on machine") else: for device in devices: - fan_speed = amdsmi_dev_fan_speed_get(device, 0) + fan_speed = amdsmi_dev_get_fan_speed(device, 0) print(fan_speed) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_fan_speed_max_get +## amdsmi_dev_get_fan_speed_max Description: Get the max fan speed of the device with provided device handle Input parameters: @@ -1968,7 +1968,7 @@ more than one sensor, it could be greater than 0. Output: Max fan speed as integer -Exceptions that can be thrown by `amdsmi_dev_fan_speed_max_get` function: +Exceptions that can be thrown by `amdsmi_dev_get_fan_speed_max` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -1981,12 +1981,12 @@ try: print("No GPUs on machine") else: for device in devices: - max_fan_speed = amdsmi_dev_fan_speed_max_get(device, 0) + max_fan_speed = amdsmi_dev_get_fan_speed_max(device, 0) print(max_fan_speed) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_temp_metric_get +## amdsmi_dev_get_temp_metric Description: Get the temperature metric value for the specified metric, from the specified temperature sensor on the specified device @@ -1997,7 +1997,7 @@ Input parameters: Output: Temperature as integer in millidegrees Celcius -Exceptions that can be thrown by `amdsmi_dev_temp_metric_get` function: +Exceptions that can be thrown by ` amdsmi_dev_get_temp_metric` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2010,13 +2010,13 @@ try: print("No GPUs on machine") else: for device in devices: - temp_metric = amdsmi_dev_temp_metric_get(device, AmdSmiTemperatureType.EDGE, + temp_metric = amdsmi_dev_get_temp_metric(device, AmdSmiTemperatureType.EDGE, AmdSmiTemperatureMetric.CURRENT) print(temp_metric) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_volt_metric_get +## amdsmi_dev_get_volt_metric Description: Get the voltage metric value for the specified metric, from the specified voltage sensor on the specified device @@ -2027,7 +2027,7 @@ Input parameters: Output: Voltage as integer in millivolts -Exceptions that can be thrown by `amdsmi_dev_volt_metric_get` function: +Exceptions that can be thrown by ` amdsmi_dev_get_volt_metric` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2040,13 +2040,13 @@ try: print("No GPUs on machine") else: for device in devices: - voltage = amdsmi_dev_volt_metric_get(device, AmdSmiVoltageType.VDDGFX, + voltage = amdsmi_dev_get_volt_metric(device, AmdSmiVoltageType.VDDGFX, AmdSmiVoltageMetric.AVERAGE) print(voltage) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_busy_percent_get +## amdsmi_dev_get_busy_percent Description: Get percentage of time device is busy doing any processing Input parameters: @@ -2054,7 +2054,7 @@ Input parameters: Output: How busy the device is (as percentage of time) -Exceptions that can be thrown by `amdsmi_dev_busy_percent_get` function: +Exceptions that can be thrown by `amdsmi_dev_get_busy_percent` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2067,12 +2067,12 @@ try: print("No GPUs on machine") else: for device in devices: - busy = amdsmi_dev_busy_percent_get(dev) + busy = amdsmi_dev_get_busy_percent(dev) print(busy) except AmdSmiException as e: print(e) ``` -## amdsmi_utilization_count_get +## amdsmi_get_utilization_count Description: Get coarse grain utilization counter of the specified device Input parameters: @@ -2086,7 +2086,7 @@ Field | Description `timestamp` | The timestamp when the counter is retreived - Resolution: 1 ns `Dictionary for each counter` |
Subfield Description
`type`Type of utilization counter
`value`Value gotten for utilization counter
-Exceptions that can be thrown by `amdsmi_utilization_count_get` function: +Exceptions that can be thrown by `amdsmi_get_utilization_count` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2099,12 +2099,12 @@ try: print("No GPUs on machine") else: for device in devices: - utilization = amdsmi_utilization_count_get( + utilization = amdsmi_get_utilization_count( device, AmdSmiUtilizationCounterType.COARSE_GRAIN_GFX_ACTIVITY ) print(utilization) - utilization = amdsmi_utilization_count_get( + utilization = amdsmi_get_utilization_count( device, AmdSmiUtilizationCounterType.COARSE_GRAIN_GFX_ACTIVITY, AmdSmiUtilizationCounterType.COARSE_GRAIN_MEM_ACTIVITY @@ -2113,7 +2113,7 @@ try: except AmdSmiException as e: print(e) ``` -## amdsmi_dev_perf_level_get +## amdsmi_dev_get_perf_level Description: Get the performance level of the device with provided device handle Input parameters: @@ -2121,7 +2121,7 @@ Input parameters: Output: Performance level as enum value of dev_perf_level_t -Exceptions that can be thrown by `amdsmi_dev_perf_level_get` function: +Exceptions that can be thrown by `amdsmi_dev_get_perf_level` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2134,12 +2134,12 @@ try: print("No GPUs on machine") else: for device in devices: - perf_level = amdsmi_dev_perf_level_get(dev) + perf_level = amdsmi_dev_get_perf_level(dev) print(perf_level) except AmdSmiException as e: print(e) ``` -## amdsmi_perf_determinism_mode_set +## amdsmi_set_perf_determinism_mode Description: Enter performance determinism mode with provided device handle Input parameters: @@ -2148,7 +2148,7 @@ Input parameters: Output: None -Exceptions that can be thrown by `amdsmi_perf_determinism_mode_set` function: +Exceptions that can be thrown by `amdsmi_set_perf_determinism_mode` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2161,11 +2161,11 @@ try: print("No GPUs on machine") else: for device in devices: - amdsmi_perf_determinism_mode_set(device, 1333) + amdsmi_set_perf_determinism_mode(device, 1333) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_overdrive_level_get +## amdsmi_dev_get_overdrive_level Description: Get the overdrive percent associated with the device with provided device handle @@ -2174,7 +2174,7 @@ Input parameters: Output: Overdrive percentage as integer -Exceptions that can be thrown by `amdsmi_dev_overdrive_level_get` function: +Exceptions that can be thrown by `amdsmi_dev_get_overdrive_level` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2187,12 +2187,12 @@ try: print("No GPUs on machine") else: for device in devices: - od_level = amdsmi_dev_overdrive_level_get(dev) + od_level = amdsmi_dev_get_overdrive_level(dev) print(od_level) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_gpu_clk_freq_get +## amdsmi_dev_get_gpu_clk_freq Description: Get the list of possible system clock speeds of device for a specified clock type @@ -2208,7 +2208,7 @@ Field | Description `current`| The current frequency index `frequency`| List of frequencies, only the first num_supported frequencies are valid -Exceptions that can be thrown by `amdsmi_dev_gpu_clk_freq_get` function: +Exceptions that can be thrown by ` amdsmi_dev_get_gpu_clk_freq` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2221,11 +2221,11 @@ try: print("No GPUs on machine") else: for device in devices: - amdsmi_dev_gpu_clk_freq_get(device, AmdSmiClockType.SYS) + amdsmi_dev_get_gpu_clk_freq(device, AmdSmiClockType.SYS) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_od_volt_info_get +## amdsmi_dev_get_od_volt_info Description: This function retrieves the voltage/frequency curve information Input parameters: @@ -2243,7 +2243,7 @@ Field | Description `num_regions`| The current frequency index -Exceptions that can be thrown by `amdsmi_dev_od_volt_info_get` function: +Exceptions that can be thrown by ` amdsmi_dev_get_od_volt_info` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2256,11 +2256,11 @@ try: print("No GPUs on machine") else: for device in devices: - amdsmi_dev_od_volt_info_get(dev) + amdsmi_dev_get_od_volt_info(dev) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_gpu_metrics_info_get +## amdsmi_dev_get_gpu_metrics_info Description: This function retrieves the gpu metrics information Input parameters: @@ -2305,7 +2305,7 @@ Field | Description `mem_actvity_acc` | mem activity acc `temperature_hbm` | hbm temperature -Exceptions that can be thrown by `amdsmi_dev_gpu_metrics_info_get` function: +Exceptions that can be thrown by ` amdsmi_dev_get_gpu_metrics_info` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2318,11 +2318,11 @@ try: print("No GPUs on machine") else: for device in devices: - amdsmi_dev_gpu_metrics_info_get(dev) + amdsmi_dev_get_gpu_metrics_info(dev) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_od_volt_curve_regions_get +## amdsmi_dev_get_od_volt_curve_regions Description: This function will retrieve the current valid regions in the frequency/voltage space @@ -2337,7 +2337,7 @@ Field | Description `freq_range` |
Subfield Description
`lower_bound`lower bound freq range
`upper_bound`upper bound freq range
`volt_range` |
Subfield Description
`lower_bound`lower bound volt range
`upper_bound`upper bound volt range
-Exceptions that can be thrown by `amdsmi_dev_od_volt_curve_regions_get` function: +Exceptions that can be thrown by ` amdsmi_dev_get_od_volt_curve_regions` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2350,11 +2350,11 @@ try: print("No GPUs on machine") else: for device in devices: - amdsmi_dev_od_volt_curve_regions_get(device, 3) + amdsmi_dev_get_od_volt_curve_regions(device, 3) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_power_profile_presets_get +## amdsmi_dev_get_power_profile_presets Description: Get the list of available preset power profiles and an indication of which profile is currently active @@ -2370,7 +2370,7 @@ Field | Description `current`| Which power profile is currently active `num_profiles`| How many power profiles are available -Exceptions that can be thrown by `amdsmi_dev_power_profile_presets_get` function: +Exceptions that can be thrown by ` amdsmi_dev_get_power_profile_presets` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2383,7 +2383,7 @@ try: print("No GPUs on machine") else: for device in devices: - amdsmi_dev_power_profile_presets_get(device, 0) + amdsmi_dev_get_power_profile_presets(device, 0) except AmdSmiException as e: print(e) ``` @@ -2416,7 +2416,7 @@ except AmdSmiException as e: print(e) ``` -## amdsmi_dev_counter_create +## amdsmi_dev_create_counter Description: Creates a performance counter object Input parameters: @@ -2426,7 +2426,7 @@ Input parameters: Output: An event handle of the newly created performance counter object -Exceptions that can be thrown by `amdsmi_dev_counter_create` function: +Exceptions that can be thrown by `amdsmi_dev_create_counter` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2439,11 +2439,11 @@ try: print("No GPUs on machine") else: for device in devices: - event_handle = amdsmi_dev_counter_create(device, AmdSmiEventGroup.XGMI) + event_handle = amdsmi_dev_create_counter(device, AmdSmiEventGroup.XGMI) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_counter_destroy +## amdsmi_dev_destroy_counter Description: Destroys a performance counter object Input parameters: @@ -2452,7 +2452,7 @@ Input parameters: Output: None -Exceptions that can be thrown by `amdsmi_dev_counter_destroy` function: +Exceptions that can be thrown by `amdsmi_dev_destroy_counter` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2465,12 +2465,12 @@ try: print("No GPUs on machine") else: for device in devices: - event_handle = amdsmi_dev_counter_create(device, AmdSmiEventGroup.XGMI) - amdsmi_dev_counter_destroy(event_handle) + event_handle = amdsmi_dev_create_counter(device, AmdSmiEventGroup.XGMI) + amdsmi_dev_destroy_counter(event_handle) except AmdSmiException as e: print(e) ``` -## amdsmi_counter_control +## amdsmi_control_counter Description: Issue performance counter control commands Input parameters: @@ -2480,7 +2480,7 @@ Input parameters: Output: None -Exceptions that can be thrown by `amdsmi_counter_control` function: +Exceptions that can be thrown by `amdsmi_control_counter` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2493,12 +2493,12 @@ try: print("No GPUs on machine") else: for device in devices: - event_handle = amdsmi_dev_counter_create(device, AmdSmiEventType.XGMI_1_REQUEST_TX) - amdsmi_counter_control(event_handle, AmdSmiCounterCommand.CMD_START) + event_handle = amdsmi_dev_create_counter(device, AmdSmiEventType.XGMI_1_REQUEST_TX) + amdsmi_control_counter(event_handle, AmdSmiCounterCommand.CMD_START) except AmdSmiException as e: print(e) ``` -## amdsmi_counter_read +## amdsmi_read_counter Description: Read the current value of a performance counter Input parameters: @@ -2513,7 +2513,7 @@ Field | Description `time_enabled`| Time that the counter was enabled in nanoseconds `time_running`| Time that the counter was running in nanoseconds -Exceptions that can be thrown by `amdsmi_counter_read` function: +Exceptions that can be thrown by `amdsmi_read_counter` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2526,12 +2526,12 @@ try: print("No GPUs on machine") else: for device in devices: - event_handle = amdsmi_dev_counter_create(device, AmdSmiEventType.XGMI_1_REQUEST_TX) - amdsmi_counter_read(event_handle) + event_handle = amdsmi_dev_create_counter(device, AmdSmiEventType.XGMI_1_REQUEST_TX) + amdsmi_read_counter(event_handle) except AmdSmiException as e: print(e) ``` -## amdsmi_counter_available_counters_get +## amdsmi_counter_get_available_counters Description: Get the number of currently available counters Input parameters: @@ -2541,7 +2541,7 @@ Input parameters: Output: Number of available counters for the given device of the inputted event group -Exceptions that can be thrown by `amdsmi_counter_available_counters_get` function: +Exceptions that can be thrown by ` amdsmi_counter_get_available_counters` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2554,12 +2554,12 @@ try: print("No GPUs on machine") else: for device in devices: - available_counters = amdsmi_counter_available_counters_get(device, AmdSmiEventGroup.XGMI) + available_counters = amdsmi_counter_get_available_counters(device, AmdSmiEventGroup.XGMI) print(available_counters) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_perf_level_set +## amdsmi_dev_set_perf_level Description: Set a desired performance level for given device Input parameters: @@ -2568,7 +2568,7 @@ Input parameters: Output: None -Exceptions that can be thrown by `amdsmi_dev_perf_level_set` function: +Exceptions that can be thrown by ` amdsmi_dev_set_perf_level` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2581,11 +2581,11 @@ try: print("No GPUs on machine") else: for device in devices: - amdsmi_dev_perf_level_set(device, AmdSmiDevPerfLevel.STABLE_PEAK) + amdsmi_dev_set_perf_level(device, AmdSmiDevPerfLevel.STABLE_PEAK) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_power_profile_presets_get +## amdsmi_dev_get_power_profile_presets Description: Get the list of available preset power profiles and an indication of which profile is currently active. @@ -2601,7 +2601,7 @@ Field | Description `current`| Which power profile is currently active `num_profiles`| How many power profiles are available -Exceptions that can be thrown by `amdsmi_dev_power_profile_presets_get` function: +Exceptions that can be thrown by ` amdsmi_dev_get_power_profile_presets` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2614,12 +2614,12 @@ try: print("No GPUs on machine") else: for device in devices: - status = amdsmi_dev_power_profile_presets_get(device, 0) + status = amdsmi_dev_get_power_profile_presets(device, 0) print(status) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_gpu_reset +## amdsmi_dev_reset_gpu Description: Reset the gpu associated with the device with provided device handle Input parameters: @@ -2627,7 +2627,7 @@ Input parameters: Output: None -Exceptions that can be thrown by `amdsmi_dev_gpu_reset` function: +Exceptions that can be thrown by `amdsmi_dev_reset_gpu` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2640,11 +2640,11 @@ try: print("No GPUs on machine") else: for device in devices: - amdsmi_dev_gpu_reset(device) + amdsmi_dev_reset_gpu(device) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_fan_speed_set +## amdsmi_dev_set_fan_speed Description: Set the fan speed for the specified device with the provided speed, in RPMs @@ -2655,7 +2655,7 @@ Input parameters: Output: None -Exceptions that can be thrown by `amdsmi_dev_fan_speed_set` function: +Exceptions that can be thrown by `amdsmi_dev_set_fan_speed` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2668,11 +2668,11 @@ try: print("No GPUs on machine") else: for device in devices: - amdsmi_dev_fan_speed_set(device, 0, 1333) + amdsmi_dev_set_fan_speed(device, 0, 1333) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_fan_reset +## amdsmi_dev_reset_fan Description: Reset the fan to automatic driver control Input parameters: @@ -2681,7 +2681,7 @@ Input parameters: Output: None -Exceptions that can be thrown by `amdsmi_dev_fan_reset` function: +Exceptions that can be thrown by `amdsmi_dev_reset_fan` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2694,11 +2694,11 @@ try: print("No GPUs on machine") else: for device in devices: - amdsmi_dev_fan_reset(device, 0) + amdsmi_dev_reset_fan(device, 0) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_gpu_clk_freq_set +## amdsmi_dev_set_clk_freq Description: Control the set of allowed frequencies that can be used for the specified clock @@ -2712,7 +2712,7 @@ bits of this mask are relevant. Output: None -Exceptions that can be thrown by `amdsmi_dev_gpu_clk_freq_set` function: +Exceptions that can be thrown by ` amdsmi_dev_set_clk_freq` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2726,11 +2726,11 @@ try: else: for device in devices: freq_bitmask = 0 - amdsmi_dev_gpu_clk_freq_set(device, AmdSmiClockType.GFX, freq_bitmask) + amdsmi_dev_set_clk_freq(device, AmdSmiClockType.GFX, freq_bitmask) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_overdrive_level_set_v1 +## amdsmi_dev_set_overdrive_level_v1 Description: Set the overdrive percent associated with the device with provided device handle with the provided value @@ -2740,7 +2740,7 @@ Input parameters: Output: None -Exceptions that can be thrown by `amdsmi_dev_overdrive_level_set_v1` function: +Exceptions that can be thrown by ` amdsmi_dev_set_overdrive_level_v1` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2753,11 +2753,11 @@ try: print("No GPUs on machine") else: for device in devices: - amdsmi_dev_overdrive_level_set_v1(device, 0) + amdsmi_dev_set_overdrive_level_v1(device, 0) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_overdrive_level_set +## amdsmi_dev_set_overdrive_level Description: **deprecated** Set the overdrive percent associated with the device with provided device handle with the provided value @@ -2767,7 +2767,7 @@ Input parameters: Output: None -Exceptions that can be thrown by `amdsmi_dev_overdrive_level_set` function: +Exceptions that can be thrown by ` amdsmi_dev_set_overdrive_level` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2780,12 +2780,12 @@ try: print("No GPUs on machine") else: for device in devices: - amdsmi_dev_overdrive_level_set(device, 0) + amdsmi_dev_set_overdrive_level(device, 0) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_ecc_count_get +## amdsmi_dev_get_ecc_count Description: Retrieve the error counts for a GPU block Input parameters: @@ -2799,7 +2799,7 @@ Field | Description `correctable_count`| Count of correctable errors `uncorrectable_count`| Count of uncorrectable errors -Exceptions that can be thrown by `amdsmi_dev_ecc_count_get` function: +Exceptions that can be thrown by ` amdsmi_dev_get_ecc_count` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2812,13 +2812,13 @@ try: print("No GPUs on machine") else: for device in devices: - ecc_count = amdsmi_dev_ecc_count_get(device, AmdSmiGpuBlock.UMC) + ecc_count = amdsmi_dev_get_ecc_count(device, AmdSmiGpuBlock.UMC) print(ecc_count) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_ecc_enabled_get +## amdsmi_dev_get_ecc_enabled Description: Retrieve the enabled ECC bit-mask Input parameters: @@ -2826,7 +2826,7 @@ Input parameters: Output: Enabled ECC bit-mask -Exceptions that can be thrown by `amdsmi_dev_ecc_enabled_get` function: +Exceptions that can be thrown by ` amdsmi_dev_get_ecc_enabled` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2839,13 +2839,13 @@ try: print("No GPUs on machine") else: for device in devices: - enabled = amdsmi_dev_ecc_enabled_get(device) + enabled = amdsmi_dev_get_ecc_enabled(device) print(enabled) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_ecc_status_get +## amdsmi_dev_get_ecc_status Description: Retrieve the ECC status for a GPU block Input parameters: @@ -2854,7 +2854,7 @@ Input parameters: Output: ECC status for a requested GPU block -Exceptions that can be thrown by `amdsmi_dev_ecc_status_get` function: +Exceptions that can be thrown by ` amdsmi_dev_get_ecc_status` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2867,7 +2867,7 @@ try: print("No GPUs on machine") else: for device in devices: - status = amdsmi_dev_ecc_status_get(device, AmdSmiGpuBlock.UMC) + status = amdsmi_dev_get_ecc_status(device, AmdSmiGpuBlock.UMC) print(status) except AmdSmiException as e: print(e) @@ -2893,7 +2893,7 @@ except AmdSmiException as e: print(e) ``` -## amdsmi_compute_process_info_get +## amdsmi_get_compute_process_info Description: Get process information about processes currently using GPU Input parameters: None @@ -2908,21 +2908,21 @@ Field | Description `sdma_usage` | SDMA usage in microseconds `cu_occupancy` | Compute Unit usage in percents -Exceptions that can be thrown by `amdsmi_compute_process_info_get` function: +Exceptions that can be thrown by `amdsmi_get_compute_process_info` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` Example: ```python try: - procs = amdsmi_compute_process_info_get() + procs = amdsmi_get_compute_process_info() for proc in procs: print(proc) except AmdSmiException as e: print(e) ``` -## amdsmi_compute_process_info_by_pid_get +## amdsmi_get_compute_process_info_by_pid Description: Get process information about processes currently using GPU Input parameters: @@ -2938,7 +2938,7 @@ Field | Description `sdma_usage` | SDMA usage in microseconds `cu_occupancy` | Compute Unit usage in percents -Exceptions that can be thrown by `amdsmi_compute_process_info_by_pid_get` function: +Exceptions that can be thrown by `amdsmi_get_compute_process_info_by_pid` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2947,13 +2947,13 @@ Example: ```python try: pid = 0 # << valid pid here - proc = amdsmi_compute_process_info_by_pid_get(pid) + proc = amdsmi_get_compute_process_info_by_pid(pid) print(proc) except AmdSmiException as e: print(e) ``` -## amdsmi_compute_process_gpus_get +## amdsmi_get_compute_process_gpus Description: Get the device indices currently being used by a process Input parameters: @@ -2961,7 +2961,7 @@ Input parameters: Output: List of indices of devices currently being used by the process -Exceptions that can be thrown by `amdsmi_compute_process_gpus_get` function: +Exceptions that can be thrown by `amdsmi_get_compute_process_gpus` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -2970,7 +2970,7 @@ Example: ```python try: pid = 0 # << valid pid here - indices = amdsmi_compute_process_gpus_get(pid) + indices = amdsmi_get_compute_process_gpus(pid) print(indices) except AmdSmiException as e: print(e) @@ -3003,7 +3003,7 @@ except AmdSmiException as e: print(e) ``` -## amdsmi_dev_xgmi_error_reset +## amdsmi_dev_reset_xgmi_error Description: Reset the XGMI error status for a device Input parameters: @@ -3011,7 +3011,7 @@ Input parameters: Output: None -Exceptions that can be thrown by `amdsmi_dev_xgmi_error_reset` function: +Exceptions that can be thrown by `amdsmi_dev_reset_xgmi_error` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -3024,11 +3024,11 @@ try: print("No GPUs on machine") else: for device in devices: - amdsmi_dev_xgmi_error_reset(device) + amdsmi_dev_reset_xgmi_error(device) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_vendor_name_get +## amdsmi_dev_get_vendor_name Description: Returns the device vendor name Input parameters: @@ -3037,7 +3037,7 @@ Input parameters: Output: device vendor name -Exceptions that can be thrown by `amdsmi_dev_vendor_name_get` function: +Exceptions that can be thrown by `amdsmi_dev_get_vendor_name` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -3050,13 +3050,13 @@ try: print("No GPUs on machine") else: for device in devices: - vendor_name = amdsmi_dev_vendor_name_get(device) + vendor_name = amdsmi_dev_get_vendor_name(device) print(vendor_name) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_id_get +## amdsmi_dev_get_id Description: Get the device id associated with the device with provided device handler Input parameters: @@ -3065,7 +3065,7 @@ Input parameters: Output: device id -Exceptions that can be thrown by `amdsmi_dev_id_get` function: +Exceptions that can be thrown by `amdsmi_dev_get_id` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -3078,13 +3078,13 @@ try: print("No GPUs on machine") else: for device in devices: - dev_id = amdsmi_dev_id_get(device) + dev_id = amdsmi_dev_get_id(device) print(dev_id) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_vram_vendor_get +## amdsmi_dev_get_vram_vendor Description: Get the vram vendor string of a gpu device. Input parameters: @@ -3093,7 +3093,7 @@ Input parameters: Output: vram vendor -Exceptions that can be thrown by `amdsmi_dev_vram_vendor_get` function: +Exceptions that can be thrown by `amdsmi_dev_get_vram_vendor` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -3106,13 +3106,13 @@ try: print("No GPUs on machine") else: for device in devices: - vram_vendor = amdsmi_dev_vram_vendor_get(device) + vram_vendor = amdsmi_dev_get_vram_vendor(device) print(vram_vendor) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_drm_render_minor_get +## amdsmi_dev_get_drm_render_minor Description: Get the drm minor number associated with this device. Input parameters: @@ -3121,7 +3121,7 @@ Input parameters: Output: drm minor number -Exceptions that can be thrown by `amdsmi_dev_drm_render_minor_get` function: +Exceptions that can be thrown by `amdsmi_dev_get_drm_render_minor` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -3134,13 +3134,13 @@ try: print("No GPUs on machine") else: for device in devices: - render_minor = amdsmi_dev_drm_render_minor_get(device) + render_minor = amdsmi_dev_get_drm_render_minor(device) print(render_minor) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_subsystem_id_get +## amdsmi_dev_get_subsystem_id Description: Get the subsystem device id associated with the device with provided device handle. Input parameters: @@ -3149,7 +3149,7 @@ Input parameters: Output: subsystem device id -Exceptions that can be thrown by `amdsmi_dev_subsystem_id_get` function: +Exceptions that can be thrown by `amdsmi_dev_get_subsystem_id` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -3162,14 +3162,14 @@ try: print("No GPUs on machine") else: for device in devices: - id = amdsmi_dev_subsystem_id_get(device) + id = amdsmi_dev_get_subsystem_id(device) print(id) except AmdSmiException as e: print(e) ``` -## amdsmi_dev_subsystem_name_get +## amdsmi_dev_get_subsystem_name Description: Get the name string for the device subsytem Input parameters: @@ -3178,7 +3178,7 @@ Input parameters: Output: device subsytem -Exceptions that can be thrown by `amdsmi_dev_subsystem_name_get` function: +Exceptions that can be thrown by `amdsmi_dev_get_subsystem_name` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -3191,19 +3191,19 @@ try: print("No GPUs on machine") else: for device in devices: - subsystem_nam = amdsmi_dev_subsystem_name_get(device) + subsystem_nam = amdsmi_dev_get_subsystem_name(device) print(subsystem_nam) except AmdSmiException as e: print(e) ``` -## amdsmi_version_get +## amdsmi_get_version Description: Get the build version information for the currently running build of AMDSMI. Output: amdsmi build version -Exceptions that can be thrown by `amdsmi_version_get` function: +Exceptions that can be thrown by `amdsmi_get_version` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -3216,14 +3216,14 @@ try: print("No GPUs on machine") else: for device in devices: - version = amdsmi_version_get() + version = amdsmi_get_version() print(version) except AmdSmiException as e: print(e) ``` -## amdsmi_version_str_get +## amdsmi_get_version_str Description: Get the driver version string for the current system. Input parameters: @@ -3232,7 +3232,7 @@ Input parameters: Output: driver version string -Exceptions that can be thrown by `amdsmi_version_str_get` function: +Exceptions that can be thrown by `amdsmi_get_version_str` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -3245,7 +3245,7 @@ try: print("No GPUs on machine") else: for device in devices: - version = amdsmi_version_str_get(AmdSmiSwComponent.DRIVER) + version = amdsmi_get_version_str(AmdSmiSwComponent.DRIVER) print(version) except AmdSmiException as e: print(e) @@ -3311,7 +3311,7 @@ except AmdSmiException as e: ``` -## amdsmi_minmax_bandwidth_get +## amdsmi_get_minmax_bandwidth Description: Retreive minimal and maximal io link bandwidth between 2 GPUs. Input parameters: @@ -3326,7 +3326,7 @@ Field | Description `min_bandwidth` | minimal bandwidth for the connection `max_bandwidth` | maximal bandwidth for the connection -Exceptions that can be thrown by `amdsmi_minmax_bandwidth_get` function: +Exceptions that can be thrown by ` amdsmi_get_minmax_bandwidth` function: * `AmdSmiLibraryException` * `AmdSmiRetryException` * `AmdSmiParameterException` @@ -3340,7 +3340,7 @@ try: else: device_handle_src = devices[0] device_handle_dest = devices[1] - bandwith = amdsmi_minmax_bandwidth_get(device_handle_src, device_handle_dest) + bandwith = amdsmi_get_minmax_bandwidth(device_handle_src, device_handle_dest) print(bandwith['min_bandwidth']) print(bandwith['max_bandwidth']) except AmdSmiException as e: diff --git a/py-interface/__init__.py b/py-interface/__init__.py index dc36d9819e..e01c0f22f7 100644 --- a/py-interface/__init__.py +++ b/py-interface/__init__.py @@ -75,106 +75,106 @@ from .amdsmi_interface import amdsmi_get_board_info from .amdsmi_interface import amdsmi_get_ras_block_features_enabled # # Supported Function Checks -from .amdsmi_interface import amdsmi_dev_supported_func_iterator_open -from .amdsmi_interface import amdsmi_dev_supported_variant_iterator_open -from .amdsmi_interface import amdsmi_dev_supported_func_iterator_close -from .amdsmi_interface import amdsmi_func_iter_next -from .amdsmi_interface import amdsmi_func_iter_value_get +from .amdsmi_interface import amdsmi_dev_open_supported_func_iterator +from .amdsmi_interface import amdsmi_dev_open_supported_variant_iterator +from .amdsmi_interface import amdsmi_dev_close_supported_func_iterator +from .amdsmi_interface import amdsmi_next_func_iter +from .amdsmi_interface import amdsmi_get_func_iter_value # # Unsupported Functions In Virtual Environment -from .amdsmi_interface import amdsmi_dev_pci_bandwidth_set -from .amdsmi_interface import amdsmi_dev_power_cap_set -from .amdsmi_interface import amdsmi_dev_power_profile_set -from .amdsmi_interface import amdsmi_dev_clk_range_set -from .amdsmi_interface import amdsmi_dev_od_clk_info_set -from .amdsmi_interface import amdsmi_dev_od_volt_info_set -from .amdsmi_interface import amdsmi_dev_perf_level_set_v1 -from .amdsmi_interface import amdsmi_dev_perf_level_set -from .amdsmi_interface import amdsmi_dev_power_profile_presets_get -from .amdsmi_interface import amdsmi_dev_gpu_reset -from .amdsmi_interface import amdsmi_perf_determinism_mode_set -from .amdsmi_interface import amdsmi_dev_fan_speed_set -from .amdsmi_interface import amdsmi_dev_fan_reset -from .amdsmi_interface import amdsmi_dev_gpu_clk_freq_set -from .amdsmi_interface import amdsmi_dev_overdrive_level_set_v1 -from .amdsmi_interface import amdsmi_dev_overdrive_level_set +from .amdsmi_interface import amdsmi_dev_set_pci_bandwidth +from .amdsmi_interface import amdsmi_dev_set_power_cap +from .amdsmi_interface import amdsmi_dev_set_power_profile +from .amdsmi_interface import amdsmi_dev_set_clk_range +from .amdsmi_interface import amdsmi_dev_set_od_clk_info +from .amdsmi_interface import amdsmi_dev_set_od_volt_info +from .amdsmi_interface import amdsmi_dev_set_perf_level_v1 +from .amdsmi_interface import amdsmi_dev_set_perf_level +from .amdsmi_interface import amdsmi_dev_get_power_profile_presets +from .amdsmi_interface import amdsmi_dev_reset_gpu +from .amdsmi_interface import amdsmi_set_perf_determinism_mode +from .amdsmi_interface import amdsmi_dev_set_fan_speed +from .amdsmi_interface import amdsmi_dev_reset_fan +from .amdsmi_interface import amdsmi_dev_set_clk_freq +from .amdsmi_interface import amdsmi_dev_set_overdrive_level_v1 +from .amdsmi_interface import amdsmi_dev_set_overdrive_level # # Physical State Queries -from .amdsmi_interface import amdsmi_dev_fan_rpms_get -from .amdsmi_interface import amdsmi_dev_fan_speed_get -from .amdsmi_interface import amdsmi_dev_fan_speed_max_get -from .amdsmi_interface import amdsmi_dev_temp_metric_get -from .amdsmi_interface import amdsmi_dev_volt_metric_get +from .amdsmi_interface import amdsmi_dev_get_fan_rpms +from .amdsmi_interface import amdsmi_dev_get_fan_speed +from .amdsmi_interface import amdsmi_dev_get_fan_speed_max +from .amdsmi_interface import amdsmi_dev_get_temp_metric +from .amdsmi_interface import amdsmi_dev_get_volt_metric # # Clock, Power and Performance Query -from .amdsmi_interface import amdsmi_dev_busy_percent_get -from .amdsmi_interface import amdsmi_utilization_count_get -from .amdsmi_interface import amdsmi_dev_perf_level_get -from .amdsmi_interface import amdsmi_perf_determinism_mode_set -from .amdsmi_interface import amdsmi_dev_overdrive_level_get -from .amdsmi_interface import amdsmi_dev_gpu_clk_freq_get -from .amdsmi_interface import amdsmi_dev_od_volt_info_get -from .amdsmi_interface import amdsmi_dev_gpu_metrics_info_get -from .amdsmi_interface import amdsmi_dev_od_volt_curve_regions_get -from .amdsmi_interface import amdsmi_dev_power_profile_presets_get +from .amdsmi_interface import amdsmi_dev_get_busy_percent +from .amdsmi_interface import amdsmi_get_utilization_count +from .amdsmi_interface import amdsmi_dev_get_perf_level +from .amdsmi_interface import amdsmi_set_perf_determinism_mode +from .amdsmi_interface import amdsmi_dev_get_overdrive_level +from .amdsmi_interface import amdsmi_dev_get_gpu_clk_freq +from .amdsmi_interface import amdsmi_dev_get_od_volt_info +from .amdsmi_interface import amdsmi_dev_get_gpu_metrics_info +from .amdsmi_interface import amdsmi_dev_get_od_volt_curve_regions +from .amdsmi_interface import amdsmi_dev_get_power_profile_presets # # Performance Counters from .amdsmi_interface import amdsmi_dev_counter_group_supported -from .amdsmi_interface import amdsmi_dev_counter_create -from .amdsmi_interface import amdsmi_dev_counter_destroy -from .amdsmi_interface import amdsmi_counter_control -from .amdsmi_interface import amdsmi_counter_read -from .amdsmi_interface import amdsmi_counter_available_counters_get +from .amdsmi_interface import amdsmi_dev_create_counter +from .amdsmi_interface import amdsmi_dev_destroy_counter +from .amdsmi_interface import amdsmi_control_counter +from .amdsmi_interface import amdsmi_read_counter +from .amdsmi_interface import amdsmi_counter_get_available_counters # # Error Query -from .amdsmi_interface import amdsmi_dev_ecc_count_get -from .amdsmi_interface import amdsmi_dev_ecc_enabled_get -from .amdsmi_interface import amdsmi_dev_ecc_status_get +from .amdsmi_interface import amdsmi_dev_get_ecc_count +from .amdsmi_interface import amdsmi_dev_get_ecc_enabled +from .amdsmi_interface import amdsmi_dev_get_ecc_status from .amdsmi_interface import amdsmi_status_string # # System Information Query -from .amdsmi_interface import amdsmi_compute_process_info_get -from .amdsmi_interface import amdsmi_compute_process_info_by_pid_get -from .amdsmi_interface import amdsmi_compute_process_gpus_get +from .amdsmi_interface import amdsmi_get_compute_process_info +from .amdsmi_interface import amdsmi_get_compute_process_info_by_pid +from .amdsmi_interface import amdsmi_get_compute_process_gpus from .amdsmi_interface import amdsmi_dev_xgmi_error_status -from .amdsmi_interface import amdsmi_dev_xgmi_error_reset +from .amdsmi_interface import amdsmi_dev_reset_xgmi_error # # PCIE information -from .amdsmi_interface import amdsmi_dev_pci_id_get -from .amdsmi_interface import amdsmi_dev_pci_bandwidth_get -from .amdsmi_interface import amdsmi_dev_pci_throughput_get -from .amdsmi_interface import amdsmi_dev_pci_replay_counter_get -from .amdsmi_interface import amdsmi_topo_numa_affinity_get +from .amdsmi_interface import amdsmi_dev_get_pci_id +from .amdsmi_interface import amdsmi_dev_get_pci_bandwidth +from .amdsmi_interface import amdsmi_dev_get_pci_throughput +from .amdsmi_interface import amdsmi_dev_get_pci_replay_counter +from .amdsmi_interface import amdsmi_topo_get_numa_affinity # # Power information -from .amdsmi_interface import amdsmi_dev_power_ave_get -from .amdsmi_interface import amdsmi_dev_energy_count_get +from .amdsmi_interface import amdsmi_dev_get_power_ave +from .amdsmi_interface import amdsmi_dev_get_energy_count # # Memory information -from .amdsmi_interface import amdsmi_dev_memory_total_get -from .amdsmi_interface import amdsmi_dev_memory_usage_get -from .amdsmi_interface import amdsmi_dev_memory_busy_percent_get -from .amdsmi_interface import amdsmi_dev_memory_reserved_pages_get +from .amdsmi_interface import amdsmi_dev_get_memory_total +from .amdsmi_interface import amdsmi_dev_get_memory_usage +from .amdsmi_interface import amdsmi_dev_get_memory_busy_percent +from .amdsmi_interface import amdsmi_dev_get_memory_reserved_pages # # Events from .amdsmi_interface import AmdSmiEventReader # # Device Identification information -from .amdsmi_interface import amdsmi_dev_vendor_name_get -from .amdsmi_interface import amdsmi_dev_id_get -from .amdsmi_interface import amdsmi_dev_vram_vendor_get -from .amdsmi_interface import amdsmi_dev_drm_render_minor_get -from .amdsmi_interface import amdsmi_dev_subsystem_id_get -from .amdsmi_interface import amdsmi_dev_subsystem_name_get +from .amdsmi_interface import amdsmi_dev_get_vendor_name +from .amdsmi_interface import amdsmi_dev_get_id +from .amdsmi_interface import amdsmi_dev_get_vram_vendor +from .amdsmi_interface import amdsmi_dev_get_drm_render_minor +from .amdsmi_interface import amdsmi_dev_get_subsystem_id +from .amdsmi_interface import amdsmi_dev_get_subsystem_name # # Version information -from .amdsmi_interface import amdsmi_version_get -from .amdsmi_interface import amdsmi_version_str_get +from .amdsmi_interface import amdsmi_get_version +from .amdsmi_interface import amdsmi_get_version_str # # Hardware topology query from .amdsmi_interface import amdsmi_topo_get_numa_node_number from .amdsmi_interface import amdsmi_topo_get_link_weight -from .amdsmi_interface import amdsmi_minmax_bandwidth_get +from .amdsmi_interface import amdsmi_get_minmax_bandwidth from .amdsmi_interface import amdsmi_topo_get_link_type from .amdsmi_interface import amdsmi_is_P2P_accessible from .amdsmi_interface import amdsmi_get_xgmi_info diff --git a/py-interface/amdsmi_interface.py b/py-interface/amdsmi_interface.py index 93d2522b43..6156a7da5b 100644 --- a/py-interface/amdsmi_interface.py +++ b/py-interface/amdsmi_interface.py @@ -328,15 +328,15 @@ class AmdSmiEventReader: for event_type in event_types: mask |= (1 << (int(event_type) - 1)) - _check_res(amdsmi_wrapper.amdsmi_event_notification_init(device_handle)) - _check_res(amdsmi_wrapper.amdsmi_event_notification_mask_set( + _check_res(amdsmi_wrapper.amdsmi_init_event_notification(device_handle)) + _check_res(amdsmi_wrapper. amdsmi_set_event_notification_mask( device_handle, ctypes.c_uint64(mask))) def read(self, timestamp, num_elem=10): self.event_info = ( amdsmi_wrapper.amdsmi_evt_notification_data_t * num_elem)() _check_res( - amdsmi_wrapper.amdsmi_event_notification_get( + amdsmi_wrapper. amdsmi_get_event_notification( ctypes.c_int(timestamp), ctypes.byref(ctypes.c_uint32(num_elem)), self.event_info, @@ -361,7 +361,7 @@ class AmdSmiEventReader: return ret def stop(self): - _check_res(amdsmi_wrapper.amdsmi_event_notification_stop( + _check_res(amdsmi_wrapper.amdsmi_stop_event_notification( self.device_handle)) def __enter__(self): @@ -1167,7 +1167,7 @@ def amdsmi_get_device_handle_from_bdf(bdf): return device_handle -def amdsmi_dev_vendor_name_get( +def amdsmi_dev_get_vendor_name( device_handle: amdsmi_wrapper.amdsmi_device_handle, ) -> str: if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -1181,27 +1181,27 @@ def amdsmi_dev_vendor_name_get( vendor_name = ctypes.create_string_buffer(_AMDSMI_STRING_LENGTH) _check_res( - amdsmi_wrapper.amdsmi_dev_vendor_name_get( + amdsmi_wrapper.amdsmi_dev_get_vendor_name( device_handle, vendor_name, length) ) return vendor_name.value.decode("utf-8") -def amdsmi_dev_id_get(device_handle: amdsmi_wrapper.amdsmi_device_handle): +def amdsmi_dev_get_id(device_handle: amdsmi_wrapper.amdsmi_device_handle): if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): raise AmdSmiParameterException( device_handle, amdsmi_wrapper.amdsmi_device_handle ) id = ctypes.c_uint16() - _check_res(amdsmi_wrapper.amdsmi_dev_id_get( + _check_res(amdsmi_wrapper.amdsmi_dev_get_id( device_handle, ctypes.byref(id))) return id.value -def amdsmi_dev_vram_vendor_get(device_handle: amdsmi_wrapper.amdsmi_device_handle): +def amdsmi_dev_get_vram_vendor(device_handle: amdsmi_wrapper.amdsmi_device_handle): if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): raise AmdSmiParameterException( device_handle, amdsmi_wrapper.amdsmi_device_handle @@ -1213,14 +1213,14 @@ def amdsmi_dev_vram_vendor_get(device_handle: amdsmi_wrapper.amdsmi_device_handl vram_vendor = ctypes.create_string_buffer(_AMDSMI_STRING_LENGTH) _check_res( - amdsmi_wrapper.amdsmi_dev_vram_vendor_get( + amdsmi_wrapper.amdsmi_dev_get_vram_vendor( device_handle, vram_vendor, length) ) return vram_vendor.value.decode("utf-8") -def amdsmi_dev_drm_render_minor_get(device_handle: amdsmi_wrapper.amdsmi_device_handle): +def amdsmi_dev_get_drm_render_minor(device_handle: amdsmi_wrapper.amdsmi_device_handle): if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): raise AmdSmiParameterException( device_handle, amdsmi_wrapper.amdsmi_device_handle @@ -1228,7 +1228,7 @@ def amdsmi_dev_drm_render_minor_get(device_handle: amdsmi_wrapper.amdsmi_device_ minor = ctypes.c_uint32() _check_res( - amdsmi_wrapper.amdsmi_dev_drm_render_minor_get( + amdsmi_wrapper.amdsmi_dev_get_drm_render_minor( device_handle, ctypes.byref(minor) ) ) @@ -1236,7 +1236,7 @@ def amdsmi_dev_drm_render_minor_get(device_handle: amdsmi_wrapper.amdsmi_device_ return minor.value -def amdsmi_dev_subsystem_id_get(device_handle: amdsmi_wrapper.amdsmi_device_handle): +def amdsmi_dev_get_subsystem_id(device_handle: amdsmi_wrapper.amdsmi_device_handle): if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): raise AmdSmiParameterException( device_handle, amdsmi_wrapper.amdsmi_device_handle @@ -1244,14 +1244,14 @@ def amdsmi_dev_subsystem_id_get(device_handle: amdsmi_wrapper.amdsmi_device_hand id = ctypes.c_uint16() _check_res( - amdsmi_wrapper.amdsmi_dev_subsystem_id_get( + amdsmi_wrapper.amdsmi_dev_get_subsystem_id( device_handle, ctypes.byref(id)) ) return id.value -def amdsmi_dev_subsystem_name_get(device_handle: amdsmi_wrapper.amdsmi_device_handle): +def amdsmi_dev_get_subsystem_name(device_handle: amdsmi_wrapper.amdsmi_device_handle): if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): raise AmdSmiParameterException( device_handle, amdsmi_wrapper.amdsmi_device_handle @@ -1263,17 +1263,17 @@ def amdsmi_dev_subsystem_name_get(device_handle: amdsmi_wrapper.amdsmi_device_ha name = ctypes.create_string_buffer(_AMDSMI_STRING_LENGTH) _check_res( - amdsmi_wrapper.amdsmi_dev_subsystem_name_get( + amdsmi_wrapper.amdsmi_dev_get_subsystem_name( device_handle, name, length) ) return name.value.decode("utf-8") -def amdsmi_version_get(): +def amdsmi_get_version(): version = amdsmi_wrapper.amdsmi_version_t() - _check_res(amdsmi_wrapper.amdsmi_version_get(ctypes.byref(version))) + _check_res(amdsmi_wrapper.amdsmi_get_version(ctypes.byref(version))) return { "major": version.major, @@ -1283,7 +1283,7 @@ def amdsmi_version_get(): } -def amdsmi_version_str_get(sw_component: AmdSmiSwComponent): +def amdsmi_get_version_str(sw_component: AmdSmiSwComponent): if not isinstance(sw_component, AmdSmiSwComponent): raise AmdSmiParameterException(sw_component, AmdSmiSwComponent) @@ -1292,7 +1292,7 @@ def amdsmi_version_str_get(sw_component: AmdSmiSwComponent): ver_str = ctypes.create_string_buffer(_AMDSMI_STRING_LENGTH) - _check_res(amdsmi_wrapper.amdsmi_version_str_get( + _check_res(amdsmi_wrapper.amdsmi_get_version_str( sw_component, ver_str, length)) return ver_str.value.decode("utf-8") @@ -1342,7 +1342,7 @@ def amdsmi_topo_get_link_weight( return weight.value -def amdsmi_minmax_bandwidth_get( +def amdsmi_get_minmax_bandwidth( device_handle_src: amdsmi_wrapper.amdsmi_device_handle, device_handle_dst: amdsmi_wrapper.amdsmi_device_handle, ): @@ -1360,7 +1360,7 @@ def amdsmi_minmax_bandwidth_get( max_bandwidth = ctypes.c_uint64() _check_res( - amdsmi_wrapper.amdsmi_minmax_bandwidth_get( + amdsmi_wrapper. amdsmi_get_minmax_bandwidth( device_handle_src, device_handle_dst, ctypes.byref(min_bandwidth), @@ -1459,7 +1459,7 @@ def amdsmi_dev_counter_group_supported( ) -def amdsmi_dev_counter_create( +def amdsmi_dev_create_counter( device_handle: amdsmi_wrapper.amdsmi_device_handle, event_type: AmdSmiEventType, ) -> amdsmi_wrapper.amdsmi_event_handle_t: @@ -1472,7 +1472,7 @@ def amdsmi_dev_counter_create( event_handle = amdsmi_wrapper.amdsmi_event_handle_t() _check_res( - amdsmi_wrapper.amdsmi_dev_counter_create( + amdsmi_wrapper.amdsmi_dev_create_counter( device_handle, event_type, ctypes.byref(event_handle) ) ) @@ -1480,15 +1480,15 @@ def amdsmi_dev_counter_create( return event_handle -def amdsmi_dev_counter_destroy(event_handle: amdsmi_wrapper.amdsmi_event_handle_t): +def amdsmi_dev_destroy_counter(event_handle: amdsmi_wrapper.amdsmi_event_handle_t): if not isinstance(event_handle, amdsmi_wrapper.amdsmi_event_handle_t): raise AmdSmiParameterException( event_handle, amdsmi_wrapper.amdsmi_event_handle_t ) - _check_res(amdsmi_wrapper.amdsmi_dev_counter_destroy(event_handle)) + _check_res(amdsmi_wrapper.amdsmi_dev_destroy_counter(event_handle)) -def amdsmi_counter_control( +def amdsmi_control_counter( event_handle: amdsmi_wrapper.amdsmi_event_handle_t, counter_command: AmdSmiCounterCommand, ): @@ -1501,13 +1501,13 @@ def amdsmi_counter_control( command_args = ctypes.c_void_p() _check_res( - amdsmi_wrapper.amdsmi_counter_control( + amdsmi_wrapper.amdsmi_control_counter( event_handle, counter_command, command_args ) ) -def amdsmi_counter_read( +def amdsmi_read_counter( event_handle: amdsmi_wrapper.amdsmi_event_handle_t, ) -> Dict[str, Any]: if not isinstance(event_handle, amdsmi_wrapper.amdsmi_event_handle_t): @@ -1518,7 +1518,7 @@ def amdsmi_counter_read( counter_value = amdsmi_wrapper.amdsmi_counter_value_t() _check_res( - amdsmi_wrapper.amdsmi_counter_read( + amdsmi_wrapper.amdsmi_read_counter( event_handle, ctypes.byref(counter_value)) ) @@ -1529,7 +1529,7 @@ def amdsmi_counter_read( } -def amdsmi_counter_available_counters_get( +def amdsmi_counter_get_available_counters( device_handle: amdsmi_wrapper.amdsmi_device_handle, event_group: AmdSmiEventGroup, ) -> int: @@ -1542,7 +1542,7 @@ def amdsmi_counter_available_counters_get( available = amdsmi_wrapper.c_uint32() _check_res( - amdsmi_wrapper.amdsmi_counter_available_counters_get( + amdsmi_wrapper. amdsmi_counter_get_available_counters( device_handle, event_group, ctypes.byref(available) ) ) @@ -1550,7 +1550,7 @@ def amdsmi_counter_available_counters_get( return available.value -def amdsmi_dev_perf_level_set( +def amdsmi_dev_set_perf_level( device_handle: amdsmi_wrapper.amdsmi_device_handle, perf_level: AmdSmiDevPerfLevel, ): @@ -1561,11 +1561,11 @@ def amdsmi_dev_perf_level_set( if not isinstance(perf_level, AmdSmiDevPerfLevel): raise AmdSmiParameterException(perf_level, AmdSmiDevPerfLevel) - _check_res(amdsmi_wrapper.amdsmi_dev_perf_level_set( + _check_res(amdsmi_wrapper. amdsmi_dev_set_perf_level( device_handle, perf_level)) -def amdsmi_dev_power_profile_presets_get( +def amdsmi_dev_get_power_profile_presets( device_handle: amdsmi_wrapper.amdsmi_device_handle, sensor_idx: int ) -> Dict[str, Any]: if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -1579,7 +1579,7 @@ def amdsmi_dev_power_profile_presets_get( status = amdsmi_wrapper.amdsmi_power_profile_status_t() _check_res( - amdsmi_wrapper.amdsmi_dev_power_profile_presets_get( + amdsmi_wrapper. amdsmi_dev_get_power_profile_presets( device_handle, sensor_idx, ctypes.byref(status) ) ) @@ -1591,16 +1591,16 @@ def amdsmi_dev_power_profile_presets_get( } -def amdsmi_dev_gpu_reset(device_handle: amdsmi_wrapper.amdsmi_device_handle): +def amdsmi_dev_reset_gpu(device_handle: amdsmi_wrapper.amdsmi_device_handle): if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): raise AmdSmiParameterException( device_handle, amdsmi_wrapper.amdsmi_device_handle ) - _check_res(amdsmi_wrapper.amdsmi_dev_gpu_reset(device_handle)) + _check_res(amdsmi_wrapper.amdsmi_dev_reset_gpu(device_handle)) -def amdsmi_perf_determinism_mode_set( +def amdsmi_set_perf_determinism_mode( device_handle: amdsmi_wrapper.amdsmi_device_handle, clock_value: int ): if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -1612,12 +1612,12 @@ def amdsmi_perf_determinism_mode_set( clock_value = amdsmi_wrapper.c_uint64(clock_value) _check_res( - amdsmi_wrapper.amdsmi_perf_determinism_mode_set( + amdsmi_wrapper.amdsmi_set_perf_determinism_mode( device_handle, clock_value) ) -def amdsmi_dev_fan_speed_set( +def amdsmi_dev_set_fan_speed( device_handle: amdsmi_wrapper.amdsmi_device_handle, sensor_idx: int, fan_speed: int ): if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -1632,12 +1632,12 @@ def amdsmi_dev_fan_speed_set( fan_speed = amdsmi_wrapper.c_uint64(fan_speed) _check_res( - amdsmi_wrapper.amdsmi_dev_fan_speed_set( + amdsmi_wrapper.amdsmi_dev_set_fan_speed( device_handle, sensor_idx, fan_speed) ) -def amdsmi_dev_fan_reset( +def amdsmi_dev_reset_fan( device_handle: amdsmi_wrapper.amdsmi_device_handle, sensor_idx: int ): if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -1648,10 +1648,10 @@ def amdsmi_dev_fan_reset( raise AmdSmiParameterException(sensor_idx, int) sensor_idx = amdsmi_wrapper.c_uint32(sensor_idx) - _check_res(amdsmi_wrapper.amdsmi_dev_fan_reset(device_handle, sensor_idx)) + _check_res(amdsmi_wrapper.amdsmi_dev_reset_fan(device_handle, sensor_idx)) -def amdsmi_dev_gpu_clk_freq_set( +def amdsmi_dev_set_clk_freq( device_handle: amdsmi_wrapper.amdsmi_device_handle, clk_type: AmdSmiClockType, freq_bitmask: int, @@ -1666,13 +1666,13 @@ def amdsmi_dev_gpu_clk_freq_set( raise AmdSmiParameterException(freq_bitmask, int) freq_bitmask = amdsmi_wrapper.c_uint64(freq_bitmask) _check_res( - amdsmi_wrapper.amdsmi_dev_gpu_clk_freq_set( + amdsmi_wrapper. amdsmi_dev_set_clk_freq( device_handle, clk_type, freq_bitmask ) ) -def amdsmi_dev_overdrive_level_set_v1( +def amdsmi_dev_set_overdrive_level_v1( device_handle: amdsmi_wrapper.amdsmi_device_handle, overdrive_value: int ): if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -1684,12 +1684,12 @@ def amdsmi_dev_overdrive_level_set_v1( overdrive_value = amdsmi_wrapper.c_uint32(overdrive_value) _check_res( - amdsmi_wrapper.amdsmi_dev_overdrive_level_set_v1( + amdsmi_wrapper. amdsmi_dev_set_overdrive_level_v1( device_handle, overdrive_value) ) -def amdsmi_dev_overdrive_level_set( +def amdsmi_dev_set_overdrive_level( device_handle: amdsmi_wrapper.amdsmi_device_handle, overdrive_value: int ): if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -1701,12 +1701,12 @@ def amdsmi_dev_overdrive_level_set( overdrive_value = amdsmi_wrapper.c_uint32(overdrive_value) _check_res( - amdsmi_wrapper.amdsmi_dev_overdrive_level_set( + amdsmi_wrapper. amdsmi_dev_set_overdrive_level( device_handle, overdrive_value) ) -def amdsmi_dev_supported_func_iterator_open( +def amdsmi_dev_open_supported_func_iterator( device_handle: amdsmi_wrapper.amdsmi_device_handle, ) -> amdsmi_wrapper.amdsmi_func_id_iter_handle_t: if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -1716,7 +1716,7 @@ def amdsmi_dev_supported_func_iterator_open( obj_handle = amdsmi_wrapper.amdsmi_func_id_iter_handle_t() _check_res( - amdsmi_wrapper.amdsmi_dev_supported_func_iterator_open( + amdsmi_wrapper.amdsmi_dev_open_supported_func_iterator( device_handle, ctypes.byref(obj_handle) ) ) @@ -1724,7 +1724,7 @@ def amdsmi_dev_supported_func_iterator_open( return obj_handle -def amdsmi_dev_pci_id_get(device_handle: amdsmi_wrapper.amdsmi_device_handle): +def amdsmi_dev_get_pci_id(device_handle: amdsmi_wrapper.amdsmi_device_handle): if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): raise AmdSmiParameterException( device_handle, amdsmi_wrapper.amdsmi_device_handle @@ -1732,14 +1732,14 @@ def amdsmi_dev_pci_id_get(device_handle: amdsmi_wrapper.amdsmi_device_handle): bdfid = ctypes.c_uint64() _check_res( - amdsmi_wrapper.amdsmi_dev_pci_id_get( + amdsmi_wrapper.amdsmi_dev_get_pci_id( device_handle, ctypes.byref(bdfid)) ) return bdfid.value -def amdsmi_dev_supported_variant_iterator_open( +def amdsmi_dev_open_supported_variant_iterator( obj_handle: amdsmi_wrapper.amdsmi_func_id_iter_handle_t, ) -> amdsmi_wrapper.amdsmi_func_id_iter_handle_t: if not isinstance(obj_handle, amdsmi_wrapper.amdsmi_func_id_iter_handle_t): @@ -1749,7 +1749,7 @@ def amdsmi_dev_supported_variant_iterator_open( var_iter = amdsmi_wrapper.amdsmi_func_id_iter_handle_t() _check_res( - amdsmi_wrapper.amdsmi_dev_supported_variant_iterator_open( + amdsmi_wrapper.amdsmi_dev_open_supported_variant_iterator( obj_handle, ctypes.byref(var_iter) ) ) @@ -1757,7 +1757,7 @@ def amdsmi_dev_supported_variant_iterator_open( return var_iter -def amdsmi_dev_supported_func_iterator_close( +def amdsmi_dev_close_supported_func_iterator( obj_handle: amdsmi_wrapper.amdsmi_func_id_iter_handle_t, ) -> None: if not isinstance(obj_handle, amdsmi_wrapper.amdsmi_func_id_iter_handle_t): @@ -1766,13 +1766,13 @@ def amdsmi_dev_supported_func_iterator_close( ) _check_res( - amdsmi_wrapper.amdsmi_dev_supported_func_iterator_close( + amdsmi_wrapper.amdsmi_dev_close_supported_func_iterator( obj_handle, ctypes.byref(obj_handle) ) ) -def amdsmi_func_iter_next( +def amdsmi_next_func_iter( obj_handle: amdsmi_wrapper.amdsmi_func_id_iter_handle_t, ) -> amdsmi_wrapper.amdsmi_func_id_iter_handle_t: if not isinstance(obj_handle, amdsmi_wrapper.amdsmi_func_id_iter_handle_t): @@ -1780,12 +1780,12 @@ def amdsmi_func_iter_next( obj_handle, amdsmi_wrapper.amdsmi_func_id_iter_handle_t ) - _check_res(amdsmi_wrapper.amdsmi_func_iter_next(obj_handle)) + _check_res(amdsmi_wrapper.amdsmi_next_func_iter(obj_handle)) return obj_handle -def amdsmi_func_iter_value_get( +def amdsmi_get_func_iter_value( obj_handle: amdsmi_wrapper.amdsmi_func_id_iter_handle_t, ) -> amdsmi_wrapper.amdsmi_func_id_value_t: if not isinstance(obj_handle, amdsmi_wrapper.amdsmi_func_id_iter_handle_t): @@ -1795,7 +1795,7 @@ def amdsmi_func_iter_value_get( value = amdsmi_wrapper.amdsmi_func_id_value_t() _check_res( - amdsmi_wrapper.amdsmi_func_iter_value_get( + amdsmi_wrapper.amdsmi_get_func_iter_value( obj_handle, ctypes.byref(value)) ) @@ -1814,7 +1814,7 @@ def amdsmi_func_iter_value_get( } -def amdsmi_dev_pci_bandwidth_set( +def amdsmi_dev_set_pci_bandwidth( device_handle: amdsmi_wrapper.amdsmi_device_handle, bitmask: int ) -> None: if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -1826,7 +1826,7 @@ def amdsmi_dev_pci_bandwidth_set( raise AmdSmiParameterException(bitmask, int) _check_res( - amdsmi_wrapper.amdsmi_dev_pci_bandwidth_set( + amdsmi_wrapper. amdsmi_dev_set_pci_bandwidth( device_handle, ctypes.c_uint64(bitmask) ) ) @@ -1840,7 +1840,7 @@ def _format_transfer_rate(transfer_rate): } -def amdsmi_dev_pci_bandwidth_get(device_handle: amdsmi_wrapper.amdsmi_device_handle): +def amdsmi_dev_get_pci_bandwidth(device_handle: amdsmi_wrapper.amdsmi_device_handle): if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): raise AmdSmiParameterException( device_handle, amdsmi_wrapper.amdsmi_device_handle @@ -1849,7 +1849,7 @@ def amdsmi_dev_pci_bandwidth_get(device_handle: amdsmi_wrapper.amdsmi_device_han bandwidth = amdsmi_wrapper.amdsmi_pcie_bandwidth_t() _check_res( - amdsmi_wrapper.amdsmi_dev_pci_bandwidth_get( + amdsmi_wrapper.amdsmi_dev_get_pci_bandwidth( device_handle, ctypes.byref(bandwidth)) ) @@ -1861,7 +1861,7 @@ def amdsmi_dev_pci_bandwidth_get(device_handle: amdsmi_wrapper.amdsmi_device_han } -def amdsmi_dev_pci_throughput_get(device_handle: amdsmi_wrapper.amdsmi_device_handle): +def amdsmi_dev_get_pci_throughput(device_handle: amdsmi_wrapper.amdsmi_device_handle): if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): raise AmdSmiParameterException( device_handle, amdsmi_wrapper.amdsmi_device_handle @@ -1872,7 +1872,7 @@ def amdsmi_dev_pci_throughput_get(device_handle: amdsmi_wrapper.amdsmi_device_ha max_pkt_sz = ctypes.c_uint64() _check_res( - amdsmi_wrapper.amdsmi_dev_pci_throughput_get(device_handle, ctypes.byref( + amdsmi_wrapper.amdsmi_dev_get_pci_throughput(device_handle, ctypes.byref( sent), ctypes.byref(received), ctypes.byref(max_pkt_sz)) ) @@ -1883,7 +1883,7 @@ def amdsmi_dev_pci_throughput_get(device_handle: amdsmi_wrapper.amdsmi_device_ha } -def amdsmi_dev_pci_replay_counter_get(device_handle: amdsmi_wrapper.amdsmi_device_handle): +def amdsmi_dev_get_pci_replay_counter(device_handle: amdsmi_wrapper.amdsmi_device_handle): if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): raise AmdSmiParameterException( device_handle, amdsmi_wrapper.amdsmi_device_handle @@ -1892,14 +1892,14 @@ def amdsmi_dev_pci_replay_counter_get(device_handle: amdsmi_wrapper.amdsmi_devic counter = ctypes.c_uint64() _check_res( - amdsmi_wrapper.amdsmi_dev_pci_replay_counter_get( + amdsmi_wrapper. amdsmi_dev_get_pci_replay_counter( device_handle, ctypes.byref(counter)) ) return counter.value -def amdsmi_topo_numa_affinity_get(device_handle: amdsmi_wrapper.amdsmi_device_handle): +def amdsmi_topo_get_numa_affinity(device_handle: amdsmi_wrapper.amdsmi_device_handle): if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): raise AmdSmiParameterException( device_handle, amdsmi_wrapper.amdsmi_device_handle @@ -1908,14 +1908,14 @@ def amdsmi_topo_numa_affinity_get(device_handle: amdsmi_wrapper.amdsmi_device_ha numa_node = ctypes.c_uint32() _check_res( - amdsmi_wrapper.amdsmi_topo_numa_affinity_get( + amdsmi_wrapper.amdsmi_topo_get_numa_affinity( device_handle, ctypes.byref(numa_node)) ) return numa_node.value -def amdsmi_dev_power_cap_set( +def amdsmi_dev_set_power_cap( device_handle: amdsmi_wrapper.amdsmi_device_handle, sensor_ind: int, cap: int ) -> None: if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -1930,13 +1930,13 @@ def amdsmi_dev_power_cap_set( raise AmdSmiParameterException(cap, int) _check_res( - amdsmi_wrapper.amdsmi_dev_power_cap_set( + amdsmi_wrapper. amdsmi_dev_set_power_cap( device_handle, ctypes.c_uint32(sensor_ind), ctypes.c_uint64(cap) ) ) -def amdsmi_dev_power_ave_get(device_handle: amdsmi_wrapper.amdsmi_device_handle, sensor_id: ctypes.c_uint32): +def amdsmi_dev_get_power_ave(device_handle: amdsmi_wrapper.amdsmi_device_handle, sensor_id: ctypes.c_uint32): if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): raise AmdSmiParameterException( device_handle, amdsmi_wrapper.amdsmi_device_handle @@ -1945,14 +1945,14 @@ def amdsmi_dev_power_ave_get(device_handle: amdsmi_wrapper.amdsmi_device_handle, power = ctypes.c_uint64() _check_res( - amdsmi_wrapper.amdsmi_dev_power_ave_get( + amdsmi_wrapper.amdsmi_dev_get_power_ave( device_handle, sensor_id, ctypes.byref(power)) ) return power.value -def amdsmi_dev_power_profile_set( +def amdsmi_dev_set_power_profile( device_handle: amdsmi_wrapper.amdsmi_device_handle, reserved: int, profile: AmdSmiPowerProfilePresetMasks, @@ -1969,13 +1969,13 @@ def amdsmi_dev_power_profile_set( raise AmdSmiParameterException(profile, AmdSmiPowerProfilePresetMasks) _check_res( - amdsmi_wrapper.amdsmi_dev_power_profile_set( + amdsmi_wrapper. amdsmi_dev_set_power_profile( device_handle, ctypes.c_uint32(reserved), profile ) ) -def amdsmi_dev_energy_count_get(device_handle: amdsmi_wrapper.amdsmi_device_handle): +def amdsmi_dev_get_energy_count(device_handle: amdsmi_wrapper.amdsmi_device_handle): if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): raise AmdSmiParameterException( device_handle, amdsmi_wrapper.amdsmi_device_handle @@ -1986,7 +1986,7 @@ def amdsmi_dev_energy_count_get(device_handle: amdsmi_wrapper.amdsmi_device_hand timestamp = ctypes.c_uint64() _check_res( - amdsmi_wrapper.amdsmi_dev_energy_count_get(device_handle, ctypes.byref( + amdsmi_wrapper.amdsmi_dev_get_energy_count(device_handle, ctypes.byref( power), ctypes.byref(counter_resolution), ctypes.byref(timestamp)) ) @@ -1997,7 +1997,7 @@ def amdsmi_dev_energy_count_get(device_handle: amdsmi_wrapper.amdsmi_device_hand } -def amdsmi_dev_clk_range_set( +def amdsmi_dev_set_clk_range( device_handle: amdsmi_wrapper.amdsmi_device_handle, min_clk_value: int, max_clk_value: int, @@ -2018,7 +2018,7 @@ def amdsmi_dev_clk_range_set( raise AmdSmiParameterException(clk_type, AmdSmiClockType) _check_res( - amdsmi_wrapper.amdsmi_dev_clk_range_set( + amdsmi_wrapper.amdsmi_dev_set_clk_range( device_handle, ctypes.c_uint64(min_clk_value), ctypes.c_uint64(max_clk_value), @@ -2027,7 +2027,7 @@ def amdsmi_dev_clk_range_set( ) -def amdsmi_dev_memory_total_get(device_handle: amdsmi_wrapper.amdsmi_device_handle, mem_type: AmdSmiMemoryType): +def amdsmi_dev_get_memory_total(device_handle: amdsmi_wrapper.amdsmi_device_handle, mem_type: AmdSmiMemoryType): if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): raise AmdSmiParameterException( device_handle, amdsmi_wrapper.amdsmi_device_handle @@ -2041,14 +2041,14 @@ def amdsmi_dev_memory_total_get(device_handle: amdsmi_wrapper.amdsmi_device_hand total = ctypes.c_uint64() _check_res( - amdsmi_wrapper.amdsmi_dev_memory_total_get( + amdsmi_wrapper.amdsmi_dev_get_memory_total( device_handle, mem_type, ctypes.byref(total)) ) return total.value -def amdsmi_dev_od_clk_info_set( +def amdsmi_dev_set_od_clk_info( device_handle: amdsmi_wrapper.amdsmi_device_handle, level: AmdSmiFreqInd, value: int, @@ -2069,13 +2069,13 @@ def amdsmi_dev_od_clk_info_set( raise AmdSmiParameterException(clk_type, AmdSmiClockType) _check_res( - amdsmi_wrapper.amdsmi_dev_od_clk_info_set( + amdsmi_wrapper. amdsmi_dev_set_od_clk_info( device_handle, level, ctypes.c_uint64(value), clk_type ) ) -def amdsmi_dev_memory_usage_get(device_handle: amdsmi_wrapper.amdsmi_device_handle, mem_type: AmdSmiMemoryType): +def amdsmi_dev_get_memory_usage(device_handle: amdsmi_wrapper.amdsmi_device_handle, mem_type: AmdSmiMemoryType): if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): raise AmdSmiParameterException( device_handle, amdsmi_wrapper.amdsmi_device_handle @@ -2089,14 +2089,14 @@ def amdsmi_dev_memory_usage_get(device_handle: amdsmi_wrapper.amdsmi_device_hand used = ctypes.c_uint64() _check_res( - amdsmi_wrapper.amdsmi_dev_memory_usage_get( + amdsmi_wrapper.amdsmi_dev_get_memory_usage( device_handle, mem_type, ctypes.byref(used)) ) return used.value -def amdsmi_dev_od_volt_info_set( +def amdsmi_dev_set_od_volt_info( device_handle: amdsmi_wrapper.amdsmi_device_handle, vpoint: int, clk_value: int, @@ -2117,7 +2117,7 @@ def amdsmi_dev_od_volt_info_set( raise AmdSmiParameterException(volt_value, int) _check_res( - amdsmi_wrapper.amdsmi_dev_od_volt_info_set( + amdsmi_wrapper. amdsmi_dev_set_od_volt_info( device_handle, ctypes.c_uint32(vpoint), ctypes.c_uint64(clk_value), @@ -2126,7 +2126,7 @@ def amdsmi_dev_od_volt_info_set( ) -def amdsmi_dev_memory_busy_percent_get(device_handle: amdsmi_wrapper.amdsmi_device_handle): +def amdsmi_dev_get_memory_busy_percent(device_handle: amdsmi_wrapper.amdsmi_device_handle): if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): raise AmdSmiParameterException( device_handle, amdsmi_wrapper.amdsmi_device_handle @@ -2135,14 +2135,14 @@ def amdsmi_dev_memory_busy_percent_get(device_handle: amdsmi_wrapper.amdsmi_devi busy_percent = ctypes.c_uint32() _check_res( - amdsmi_wrapper.amdsmi_dev_memory_busy_percent_get( + amdsmi_wrapper.amdsmi_dev_get_memory_busy_percent( device_handle, ctypes.byref(busy_percent)) ) return busy_percent.value -def amdsmi_dev_perf_level_set_v1( +def amdsmi_dev_set_perf_level_v1( device_handle: amdsmi_wrapper.amdsmi_device_handle, perf_lvl: AmdSmiDevPerfLevel, ) -> None: @@ -2154,11 +2154,11 @@ def amdsmi_dev_perf_level_set_v1( if not isinstance(perf_lvl, AmdSmiDevPerfLevel): raise AmdSmiParameterException(perf_lvl, AmdSmiDevPerfLevel) - _check_res(amdsmi_wrapper.amdsmi_dev_perf_level_set_v1( + _check_res(amdsmi_wrapper. amdsmi_dev_set_perf_level_v1( device_handle, perf_lvl)) -def amdsmi_dev_fan_rpms_get( +def amdsmi_dev_get_fan_rpms( device_handle: amdsmi_wrapper.amdsmi_device_handle, sensor_idx: int ) -> int: if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -2169,7 +2169,7 @@ def amdsmi_dev_fan_rpms_get( raise AmdSmiParameterException(sensor_idx, int) fan_speed = amdsmi_wrapper.c_int64() _check_res( - amdsmi_wrapper.amdsmi_dev_fan_rpms_get( + amdsmi_wrapper.amdsmi_dev_get_fan_rpms( device_handle, sensor_idx, ctypes.byref(fan_speed) ) ) @@ -2177,7 +2177,7 @@ def amdsmi_dev_fan_rpms_get( return fan_speed.value -def amdsmi_dev_fan_speed_get( +def amdsmi_dev_get_fan_speed( device_handle: amdsmi_wrapper.amdsmi_device_handle, sensor_idx: int ) -> int: if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -2188,7 +2188,7 @@ def amdsmi_dev_fan_speed_get( raise AmdSmiParameterException(sensor_idx, int) fan_speed = amdsmi_wrapper.c_int64() _check_res( - amdsmi_wrapper.amdsmi_dev_fan_speed_get( + amdsmi_wrapper.amdsmi_dev_get_fan_speed( device_handle, sensor_idx, ctypes.byref(fan_speed) ) ) @@ -2196,7 +2196,7 @@ def amdsmi_dev_fan_speed_get( return fan_speed.value -def amdsmi_dev_fan_speed_max_get( +def amdsmi_dev_get_fan_speed_max( device_handle: amdsmi_wrapper.amdsmi_device_handle, sensor_idx: int ) -> int: if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -2207,7 +2207,7 @@ def amdsmi_dev_fan_speed_max_get( raise AmdSmiParameterException(sensor_idx, int) fan_speed = amdsmi_wrapper.c_uint64() _check_res( - amdsmi_wrapper.amdsmi_dev_fan_speed_max_get( + amdsmi_wrapper.amdsmi_dev_get_fan_speed_max( device_handle, sensor_idx, ctypes.byref(fan_speed) ) ) @@ -2215,7 +2215,7 @@ def amdsmi_dev_fan_speed_max_get( return fan_speed.value -def amdsmi_dev_temp_metric_get( +def amdsmi_dev_get_temp_metric( device_handle: amdsmi_wrapper.amdsmi_device_handle, sensor_type: AmdSmiTemperatureType, metric: AmdSmiTemperatureMetric, @@ -2231,7 +2231,7 @@ def amdsmi_dev_temp_metric_get( temp_value = amdsmi_wrapper.c_int64() _check_res( - amdsmi_wrapper.amdsmi_dev_temp_metric_get( + amdsmi_wrapper. amdsmi_dev_get_temp_metric( device_handle, sensor_type, metric, ctypes.byref(temp_value) ) ) @@ -2239,7 +2239,7 @@ def amdsmi_dev_temp_metric_get( return temp_value.value -def amdsmi_dev_volt_metric_get( +def amdsmi_dev_get_volt_metric( device_handle: amdsmi_wrapper.amdsmi_device_handle, sensor_type: AmdSmiVoltageType, metric: AmdSmiVoltageMetric, @@ -2255,7 +2255,7 @@ def amdsmi_dev_volt_metric_get( voltage = amdsmi_wrapper.c_int64() _check_res( - amdsmi_wrapper.amdsmi_dev_volt_metric_get( + amdsmi_wrapper. amdsmi_dev_get_volt_metric( device_handle, sensor_type, metric, ctypes.byref(voltage) ) ) @@ -2263,7 +2263,7 @@ def amdsmi_dev_volt_metric_get( return voltage.value -def amdsmi_dev_busy_percent_get( +def amdsmi_dev_get_busy_percent( device_handle: amdsmi_wrapper.amdsmi_device_handle, ) -> int: if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -2273,7 +2273,7 @@ def amdsmi_dev_busy_percent_get( busy_percent = amdsmi_wrapper.c_uint32() _check_res( - amdsmi_wrapper.amdsmi_dev_busy_percent_get( + amdsmi_wrapper.amdsmi_dev_get_busy_percent( device_handle, ctypes.byref(busy_percent) ) ) @@ -2281,7 +2281,7 @@ def amdsmi_dev_busy_percent_get( return busy_percent.value -def amdsmi_utilization_count_get( +def amdsmi_get_utilization_count( device_handle: amdsmi_wrapper.amdsmi_device_handle, *counter_types: Tuple[AmdSmiUtilizationCounterType] ) -> List[Dict[str, Any]]: @@ -2307,7 +2307,7 @@ def amdsmi_utilization_count_get( ) _check_res( - amdsmi_wrapper.amdsmi_utilization_count_get( + amdsmi_wrapper.amdsmi_get_utilization_count( device_handle, util_counter_list, count, ctypes.byref(timestamp) ) ) @@ -2327,7 +2327,7 @@ def amdsmi_utilization_count_get( return result -def amdsmi_dev_perf_level_get( +def amdsmi_dev_get_perf_level( device_handle: amdsmi_wrapper.amdsmi_device_handle, ) -> str: if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -2338,7 +2338,7 @@ def amdsmi_dev_perf_level_get( perf = amdsmi_wrapper.amdsmi_dev_perf_level_t() _check_res( - amdsmi_wrapper.amdsmi_dev_perf_level_get( + amdsmi_wrapper.amdsmi_dev_get_perf_level( device_handle, ctypes.byref(perf)) ) @@ -2351,7 +2351,7 @@ def amdsmi_dev_perf_level_get( return result -def amdsmi_perf_determinism_mode_set( +def amdsmi_set_perf_determinism_mode( device_handle: amdsmi_wrapper.amdsmi_device_handle, clkvalue: int ) -> None: if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -2361,11 +2361,11 @@ def amdsmi_perf_determinism_mode_set( if not isinstance(clkvalue, int): raise AmdSmiParameterException(clkvalue, int) - _check_res(amdsmi_wrapper.amdsmi_perf_determinism_mode_set( + _check_res(amdsmi_wrapper.amdsmi_set_perf_determinism_mode( device_handle, clkvalue)) -def amdsmi_dev_overdrive_level_get( +def amdsmi_dev_get_overdrive_level( device_handle: amdsmi_wrapper.amdsmi_device_handle, ) -> int: if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -2375,7 +2375,7 @@ def amdsmi_dev_overdrive_level_get( od_level = amdsmi_wrapper.c_uint32() _check_res( - amdsmi_wrapper.amdsmi_dev_overdrive_level_get( + amdsmi_wrapper.amdsmi_dev_get_overdrive_level( device_handle, ctypes.byref(od_level) ) ) @@ -2383,7 +2383,7 @@ def amdsmi_dev_overdrive_level_get( return od_level.value -def amdsmi_dev_gpu_clk_freq_get( +def amdsmi_dev_get_gpu_clk_freq( device_handle: amdsmi_wrapper.amdsmi_device_handle, clk_type: AmdSmiClockType ) -> Dict[str, Any]: if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -2395,7 +2395,7 @@ def amdsmi_dev_gpu_clk_freq_get( freq = amdsmi_wrapper.amdsmi_frequencies_t() _check_res( - amdsmi_wrapper.amdsmi_dev_gpu_clk_freq_get( + amdsmi_wrapper. amdsmi_dev_get_gpu_clk_freq( device_handle, clk_type, ctypes.byref(freq) ) ) @@ -2407,7 +2407,7 @@ def amdsmi_dev_gpu_clk_freq_get( } -def amdsmi_dev_od_volt_info_get( +def amdsmi_dev_get_od_volt_info( device_handle: amdsmi_wrapper.amdsmi_device_handle, ) -> Dict[str, Any]: if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -2417,7 +2417,7 @@ def amdsmi_dev_od_volt_info_get( freq_data = amdsmi_wrapper.amdsmi_od_volt_freq_data_t() _check_res( - amdsmi_wrapper.amdsmi_dev_od_volt_info_get( + amdsmi_wrapper. amdsmi_dev_get_od_volt_info( device_handle, ctypes.byref(freq_data) ) ) @@ -2444,7 +2444,7 @@ def amdsmi_dev_od_volt_info_get( } -def amdsmi_dev_gpu_metrics_info_get( +def amdsmi_dev_get_gpu_metrics_info( device_handle: amdsmi_wrapper.amdsmi_device_handle, ) -> Dict[str, Any]: if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -2454,7 +2454,7 @@ def amdsmi_dev_gpu_metrics_info_get( gpu_metrics = amdsmi_wrapper.amdsmi_gpu_metrics_t() _check_res( - amdsmi_wrapper.amdsmi_dev_gpu_metrics_info_get( + amdsmi_wrapper. amdsmi_dev_get_gpu_metrics_info( device_handle, ctypes.byref(gpu_metrics) ) ) @@ -2497,7 +2497,7 @@ def amdsmi_dev_gpu_metrics_info_get( } -def amdsmi_dev_od_volt_curve_regions_get( +def amdsmi_dev_get_od_volt_curve_regions( device_handle: amdsmi_wrapper.amdsmi_device_handle, num_regions: int ) -> List[Dict[str, Any]]: if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -2510,7 +2510,7 @@ def amdsmi_dev_od_volt_curve_regions_get( region_count = amdsmi_wrapper.c_uint32(num_regions) buffer = (amdsmi_wrapper.amdsmi_freq_volt_region_t * num_regions)() _check_res( - amdsmi_wrapper.amdsmi_dev_od_volt_curve_regions_get( + amdsmi_wrapper. amdsmi_dev_get_od_volt_curve_regions( device_handle, ctypes.byref(region_count), buffer ) ) @@ -2536,7 +2536,7 @@ def amdsmi_dev_od_volt_curve_regions_get( return result -def amdsmi_dev_power_profile_presets_get( +def amdsmi_dev_get_power_profile_presets( device_handle: amdsmi_wrapper.amdsmi_device_handle, sensor_idx: int ) -> Dict[str, Any]: if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -2548,7 +2548,7 @@ def amdsmi_dev_power_profile_presets_get( status = amdsmi_wrapper.amdsmi_power_profile_status_t() _check_res( - amdsmi_wrapper.amdsmi_dev_power_profile_presets_get( + amdsmi_wrapper. amdsmi_dev_get_power_profile_presets( device_handle, sensor_idx, ctypes.byref(status) ) ) @@ -2560,7 +2560,7 @@ def amdsmi_dev_power_profile_presets_get( } -def amdsmi_dev_ecc_count_get( +def amdsmi_dev_get_ecc_count( device_handle: amdsmi_wrapper.amdsmi_device_handle, block: AmdSmiGpuBlock ) -> Dict[str, int]: if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -2573,7 +2573,7 @@ def amdsmi_dev_ecc_count_get( ec = amdsmi_wrapper.amdsmi_error_count_t() _check_res( - amdsmi_wrapper.amdsmi_dev_ecc_count_get( + amdsmi_wrapper. amdsmi_dev_get_ecc_count( device_handle, block, ctypes.byref(ec)) ) @@ -2583,7 +2583,7 @@ def amdsmi_dev_ecc_count_get( } -def amdsmi_dev_ecc_enabled_get( +def amdsmi_dev_get_ecc_enabled( device_handle: amdsmi_wrapper.amdsmi_device_handle, ) -> int: if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -2593,14 +2593,14 @@ def amdsmi_dev_ecc_enabled_get( blocks = ctypes.c_uint64(0) _check_res( - amdsmi_wrapper.amdsmi_dev_ecc_enabled_get( + amdsmi_wrapper. amdsmi_dev_get_ecc_enabled( device_handle, ctypes.byref(blocks)) ) return blocks.value -def amdsmi_dev_ecc_status_get( +def amdsmi_dev_get_ecc_status( device_handle: amdsmi_wrapper.amdsmi_device_handle, block: AmdSmiGpuBlock ) -> AmdSmiRasErrState: if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -2613,7 +2613,7 @@ def amdsmi_dev_ecc_status_get( state = amdsmi_wrapper.amdsmi_ras_err_state_t() _check_res( - amdsmi_wrapper.amdsmi_dev_ecc_status_get( + amdsmi_wrapper. amdsmi_dev_get_ecc_status( device_handle, block, ctypes.byref(state) ) ) @@ -2632,17 +2632,17 @@ def amdsmi_status_string(status: amdsmi_wrapper.amdsmi_status_t) -> str: return amdsmi_wrapper.string_cast(status_string) -def amdsmi_compute_process_info_get() -> List[Dict[str, int]]: +def amdsmi_get_compute_process_info() -> List[Dict[str, int]]: num_items = ctypes.c_uint32(0) nullptr = ctypes.POINTER(amdsmi_wrapper.amdsmi_process_info_t)() _check_res( - amdsmi_wrapper.amdsmi_compute_process_info_get( + amdsmi_wrapper.amdsmi_get_compute_process_info( nullptr, ctypes.byref(num_items)) ) procs = (amdsmi_wrapper.amdsmi_process_info_t * num_items.value)() _check_res( - amdsmi_wrapper.amdsmi_compute_process_info_get( + amdsmi_wrapper.amdsmi_get_compute_process_info( procs, ctypes.byref(num_items)) ) @@ -2658,13 +2658,13 @@ def amdsmi_compute_process_info_get() -> List[Dict[str, int]]: ] -def amdsmi_compute_process_info_by_pid_get(pid: int) -> Dict[str, int]: +def amdsmi_get_compute_process_info_by_pid(pid: int) -> Dict[str, int]: if not isinstance(pid, int): raise AmdSmiParameterException(pid, int) proc = amdsmi_wrapper.amdsmi_process_info_t() _check_res( - amdsmi_wrapper.amdsmi_compute_process_info_by_pid_get( + amdsmi_wrapper.amdsmi_get_compute_process_info_by_pid( ctypes.c_uint32(pid), ctypes.byref(proc) ) ) @@ -2678,21 +2678,21 @@ def amdsmi_compute_process_info_by_pid_get(pid: int) -> Dict[str, int]: } -def amdsmi_compute_process_gpus_get(pid: int) -> List[int]: +def amdsmi_get_compute_process_gpus(pid: int) -> List[int]: if not isinstance(pid, int): raise AmdSmiParameterException(pid, int) num_devices = ctypes.c_uint32(0) nullptr = ctypes.POINTER(ctypes.c_uint32)() _check_res( - amdsmi_wrapper.amdsmi_compute_process_gpus_get( + amdsmi_wrapper.amdsmi_get_compute_process_gpus( pid, nullptr, ctypes.byref(num_devices) ) ) dv_indices = (ctypes.c_uint32 * num_devices.value)() _check_res( - amdsmi_wrapper.amdsmi_compute_process_gpus_get( + amdsmi_wrapper.amdsmi_get_compute_process_gpus( pid, dv_indices, ctypes.byref(num_devices) ) ) @@ -2717,7 +2717,7 @@ def amdsmi_dev_xgmi_error_status( return AmdSmiXgmiStatus(status.value) -def amdsmi_dev_xgmi_error_reset( +def amdsmi_dev_reset_xgmi_error( device_handle: amdsmi_wrapper.amdsmi_device_handle, ) -> None: if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -2725,10 +2725,10 @@ def amdsmi_dev_xgmi_error_reset( device_handle, amdsmi_wrapper.amdsmi_device_handle ) - _check_res(amdsmi_wrapper.amdsmi_dev_xgmi_error_reset(device_handle)) + _check_res(amdsmi_wrapper.amdsmi_dev_reset_xgmi_error(device_handle)) -def amdsmi_dev_memory_reserved_pages_get( +def amdsmi_dev_get_memory_reserved_pages( device_handle: amdsmi_wrapper.amdsmi_device_handle, ) -> Union[list, str]: if not isinstance(device_handle, amdsmi_wrapper.amdsmi_device_handle): @@ -2740,7 +2740,7 @@ def amdsmi_dev_memory_reserved_pages_get( retired_page_record = ctypes.POINTER( amdsmi_wrapper.amdsmi_retired_page_record_t)() _check_res( - amdsmi_wrapper.amdsmi_dev_memory_reserved_pages_get( + amdsmi_wrapper.amdsmi_dev_get_memory_reserved_pages( device_handle, ctypes.byref(num_pages), retired_page_record ) ) diff --git a/py-interface/amdsmi_wrapper.py b/py-interface/amdsmi_wrapper.py index 18b9c9f1d1..d0d1e32e8f 100644 --- a/py-interface/amdsmi_wrapper.py +++ b/py-interface/amdsmi_wrapper.py @@ -1731,7 +1731,7 @@ __all__ += \ -__all__ += ['amdsmi_init', 'amdsmi_shut_down', 'amdsmi_get_socket_handles', 'amdsmi_get_socket_info', 'amdsmi_get_device_handles', 'amdsmi_get_device_type', 'amdsmi_get_device_handle_from_bdf', 'amdsmi_dev_id_get', 'amdsmi_dev_vendor_name_get', 'amdsmi_dev_vram_vendor_get', 'amdsmi_dev_subsystem_id_get', 'amdsmi_dev_subsystem_name_get', 'amdsmi_dev_drm_render_minor_get', 'amdsmi_dev_pci_bandwidth_get', 'amdsmi_dev_pci_id_get', 'amdsmi_topo_numa_affinity_get', 'amdsmi_dev_pci_throughput_get', 'amdsmi_dev_pci_replay_counter_get', 'amdsmi_dev_pci_bandwidth_set', 'amdsmi_dev_power_ave_get', 'amdsmi_dev_energy_count_get', 'amdsmi_dev_power_cap_set', 'amdsmi_dev_power_profile_set', 'amdsmi_dev_memory_total_get', 'amdsmi_dev_memory_usage_get', 'amdsmi_get_bad_page_info', 'amdsmi_get_ras_block_features_enabled', 'amdsmi_dev_memory_busy_percent_get', 'amdsmi_dev_memory_reserved_pages_get', 'amdsmi_dev_fan_rpms_get', 'amdsmi_dev_fan_speed_get', 'amdsmi_dev_fan_speed_max_get', 'amdsmi_dev_temp_metric_get', 'amdsmi_dev_volt_metric_get', 'amdsmi_dev_fan_reset', 'amdsmi_dev_fan_speed_set', 'amdsmi_dev_busy_percent_get', 'amdsmi_utilization_count_get', 'amdsmi_get_pcie_link_status', 'amdsmi_get_pcie_link_caps', 'amdsmi_dev_perf_level_get', 'amdsmi_perf_determinism_mode_set', 'amdsmi_dev_overdrive_level_get', 'amdsmi_dev_gpu_clk_freq_get', 'amdsmi_dev_gpu_reset', 'amdsmi_dev_od_volt_info_get', 'amdsmi_dev_gpu_metrics_info_get', 'amdsmi_dev_clk_range_set', 'amdsmi_dev_od_clk_info_set', 'amdsmi_dev_od_volt_info_set', 'amdsmi_dev_od_volt_curve_regions_get', 'amdsmi_dev_power_profile_presets_get', 'amdsmi_dev_perf_level_set', 'amdsmi_dev_perf_level_set_v1', 'amdsmi_dev_overdrive_level_set', 'amdsmi_dev_overdrive_level_set_v1', 'amdsmi_dev_gpu_clk_freq_set', 'amdsmi_version_get', 'amdsmi_version_str_get', 'amdsmi_dev_ecc_count_get', 'amdsmi_dev_ecc_enabled_get', 'amdsmi_dev_ecc_status_get', 'amdsmi_status_string', 'amdsmi_dev_counter_group_supported', 'amdsmi_dev_counter_create', 'amdsmi_dev_counter_destroy', 'amdsmi_counter_control', 'amdsmi_counter_read', 'amdsmi_counter_available_counters_get', 'amdsmi_compute_process_info_get', 'amdsmi_compute_process_info_by_pid_get', 'amdsmi_compute_process_gpus_get', 'amdsmi_dev_xgmi_error_status', 'amdsmi_dev_xgmi_error_reset', 'amdsmi_topo_get_numa_node_number', 'amdsmi_topo_get_link_weight', 'amdsmi_minmax_bandwidth_get', 'amdsmi_topo_get_link_type', 'amdsmi_is_P2P_accessible', 'amdsmi_dev_supported_func_iterator_open', 'amdsmi_dev_supported_variant_iterator_open', 'amdsmi_func_iter_next', 'amdsmi_dev_supported_func_iterator_close', 'amdsmi_func_iter_value_get', 'amdsmi_event_notification_init', 'amdsmi_event_notification_mask_set', 'amdsmi_event_notification_get', 'amdsmi_event_notification_stop', 'amdsmi_get_device_bdf', 'amdsmi_get_device_uuid', 'amdsmi_get_driver_version', 'amdsmi_get_asic_info', 'amdsmi_get_board_info', 'amdsmi_get_power_cap_info', 'amdsmi_get_xgmi_info', 'amdsmi_get_caps_info', 'amdsmi_get_fw_info', 'amdsmi_get_vbios_info', 'amdsmi_get_gpu_activity', 'amdsmi_get_power_measure', 'amdsmi_get_clock_measure', 'amdsmi_get_temperature_measure', 'amdsmi_get_temperature_limit', 'amdsmi_get_power_limit', 'amdsmi_get_vram_usage', 'amdsmi_get_target_frequency_range', 'amdsmi_get_process_list', 'amdsmi_get_process_info', 'amdsmi_get_ecc_error_count'] +__all__ += ['amdsmi_init', 'amdsmi_shut_down', 'amdsmi_get_socket_handles', 'amdsmi_get_socket_info', 'amdsmi_get_device_handles', 'amdsmi_get_device_type', 'amdsmi_get_device_handle_from_bdf', 'amdsmi_dev_get_id', 'amdsmi_dev_get_vendor_name', 'amdsmi_dev_get_vram_vendor', 'amdsmi_dev_get_subsystem_id', 'amdsmi_dev_get_subsystem_name', 'amdsmi_dev_get_drm_render_minor', 'amdsmi_dev_get_pci_bandwidth', 'amdsmi_dev_get_pci_id', 'amdsmi_topo_get_numa_affinity', 'amdsmi_dev_get_pci_throughput', ' amdsmi_dev_get_pci_replay_counter', ' amdsmi_dev_set_pci_bandwidth', 'amdsmi_dev_get_power_ave', 'amdsmi_dev_get_energy_count', ' amdsmi_dev_set_power_cap', ' amdsmi_dev_set_power_profile', 'amdsmi_dev_get_memory_total', 'amdsmi_dev_get_memory_usage', 'amdsmi_get_bad_page_info', 'amdsmi_get_ras_block_features_enabled', 'amdsmi_dev_get_memory_busy_percent', 'amdsmi_dev_get_memory_reserved_pages', 'amdsmi_dev_get_fan_rpms', 'amdsmi_dev_get_fan_speed', 'amdsmi_dev_get_fan_speed_max', ' amdsmi_dev_get_temp_metric', ' amdsmi_dev_get_volt_metric', 'amdsmi_dev_reset_fan', 'amdsmi_dev_set_fan_speed', 'amdsmi_dev_get_busy_percent', 'amdsmi_get_utilization_count', 'amdsmi_get_pcie_link_status', 'amdsmi_get_pcie_link_caps', 'amdsmi_dev_get_perf_level', 'amdsmi_set_perf_determinism_mode', 'amdsmi_dev_get_overdrive_level', ' amdsmi_dev_get_gpu_clk_freq', 'amdsmi_dev_reset_gpu', ' amdsmi_dev_get_od_volt_info', ' amdsmi_dev_get_gpu_metrics_info', 'amdsmi_dev_set_clk_range', ' amdsmi_dev_set_od_clk_info', ' amdsmi_dev_set_od_volt_info', ' amdsmi_dev_get_od_volt_curve_regions', ' amdsmi_dev_get_power_profile_presets', ' amdsmi_dev_set_perf_level', ' amdsmi_dev_set_perf_level_v1', ' amdsmi_dev_set_overdrive_level', ' amdsmi_dev_set_overdrive_level_v1', ' amdsmi_dev_set_clk_freq', 'amdsmi_get_version', 'amdsmi_get_version_str', ' amdsmi_dev_get_ecc_count', ' amdsmi_dev_get_ecc_enabled', ' amdsmi_dev_get_ecc_status', 'amdsmi_status_string', 'amdsmi_dev_counter_group_supported', 'amdsmi_dev_create_counter', 'amdsmi_dev_destroy_counter', 'amdsmi_control_counter', 'amdsmi_read_counter', ' amdsmi_counter_get_available_counters', 'amdsmi_get_compute_process_info', 'amdsmi_get_compute_process_info_by_pid', 'amdsmi_get_compute_process_gpus', 'amdsmi_dev_xgmi_error_status', 'amdsmi_dev_reset_xgmi_error', 'amdsmi_topo_get_numa_node_number', 'amdsmi_topo_get_link_weight', ' amdsmi_get_minmax_bandwidth', 'amdsmi_topo_get_link_type', 'amdsmi_is_P2P_accessible', 'amdsmi_dev_open_supported_func_iterator', 'amdsmi_dev_open_supported_variant_iterator', 'amdsmi_next_func_iter', 'amdsmi_dev_close_supported_func_iterator', 'amdsmi_get_func_iter_value', 'amdsmi_init_event_notification', ' amdsmi_set_event_notification_mask', ' amdsmi_get_event_notification', 'amdsmi_stop_event_notification', 'amdsmi_get_device_bdf', 'amdsmi_get_device_uuid', 'amdsmi_get_driver_version', 'amdsmi_get_asic_info', 'amdsmi_get_board_info', 'amdsmi_get_power_cap_info', 'amdsmi_get_xgmi_info', 'amdsmi_get_caps_info', 'amdsmi_get_fw_info', 'amdsmi_get_vbios_info', 'amdsmi_get_gpu_activity', 'amdsmi_get_power_measure', 'amdsmi_get_clock_measure', 'amdsmi_get_temperature_measure', 'amdsmi_get_temperature_limit', 'amdsmi_get_power_limit', 'amdsmi_get_vram_usage', 'amdsmi_get_target_frequency_range', 'amdsmi_get_process_list', 'amdsmi_get_process_info', 'amdsmi_get_ecc_error_count'] __all__ += [] _lib = CDLL(os.path.join(os.path.dirname(__file__), "libamd_smi.so")) @@ -1765,77 +1765,77 @@ _lib.amdsmi_get_device_handle_from_bdf.argtypes = [amdsmi_bdf_t,POINTER(amdsmi_d _lib.amdsmi_get_device_handle_from_bdf.restype = amdsmi_status_t amdsmi_get_device_handle_from_bdf = _lib.amdsmi_get_device_handle_from_bdf -_lib.amdsmi_dev_id_get.argtypes = [amdsmi_device_handle,POINTER(c_uint16)] -_lib.amdsmi_dev_id_get.restype = amdsmi_status_t -amdsmi_dev_id_get = _lib.amdsmi_dev_id_get +_lib.amdsmi_dev_get_id.argtypes = [amdsmi_device_handle,POINTER(c_uint16)] +_lib.amdsmi_dev_get_id.restype = amdsmi_status_t +amdsmi_dev_get_id = _lib.amdsmi_dev_get_id -_lib.amdsmi_dev_vendor_name_get.argtypes = [amdsmi_device_handle,c_char_p,c_uint64] -_lib.amdsmi_dev_vendor_name_get.restype = amdsmi_status_t -amdsmi_dev_vendor_name_get = _lib.amdsmi_dev_vendor_name_get +_lib.amdsmi_dev_get_vendor_name.argtypes = [amdsmi_device_handle,c_char_p,c_uint64] +_lib.amdsmi_dev_get_vendor_name.restype = amdsmi_status_t +amdsmi_dev_get_vendor_name = _lib.amdsmi_dev_get_vendor_name -_lib.amdsmi_dev_vram_vendor_get.argtypes = [amdsmi_device_handle,c_char_p,c_uint32] -_lib.amdsmi_dev_vram_vendor_get.restype = amdsmi_status_t -amdsmi_dev_vram_vendor_get = _lib.amdsmi_dev_vram_vendor_get +_lib.amdsmi_dev_get_vram_vendor.argtypes = [amdsmi_device_handle,c_char_p,c_uint32] +_lib.amdsmi_dev_get_vram_vendor.restype = amdsmi_status_t +amdsmi_dev_get_vram_vendor = _lib.amdsmi_dev_get_vram_vendor -_lib.amdsmi_dev_subsystem_id_get.argtypes = [amdsmi_device_handle,POINTER(c_uint16)] -_lib.amdsmi_dev_subsystem_id_get.restype = amdsmi_status_t -amdsmi_dev_subsystem_id_get = _lib.amdsmi_dev_subsystem_id_get +_lib.amdsmi_dev_get_subsystem_id.argtypes = [amdsmi_device_handle,POINTER(c_uint16)] +_lib.amdsmi_dev_get_subsystem_id.restype = amdsmi_status_t +amdsmi_dev_get_subsystem_id = _lib.amdsmi_dev_get_subsystem_id -_lib.amdsmi_dev_subsystem_name_get.argtypes = [amdsmi_device_handle,c_char_p,c_uint64] -_lib.amdsmi_dev_subsystem_name_get.restype = amdsmi_status_t -amdsmi_dev_subsystem_name_get = _lib.amdsmi_dev_subsystem_name_get +_lib.amdsmi_dev_get_subsystem_name.argtypes = [amdsmi_device_handle,c_char_p,c_uint64] +_lib.amdsmi_dev_get_subsystem_name.restype = amdsmi_status_t +amdsmi_dev_get_subsystem_name = _lib.amdsmi_dev_get_subsystem_name -_lib.amdsmi_dev_drm_render_minor_get.argtypes = [amdsmi_device_handle,POINTER(c_uint32)] -_lib.amdsmi_dev_drm_render_minor_get.restype = amdsmi_status_t -amdsmi_dev_drm_render_minor_get = _lib.amdsmi_dev_drm_render_minor_get +_lib.amdsmi_dev_get_drm_render_minor.argtypes = [amdsmi_device_handle,POINTER(c_uint32)] +_lib.amdsmi_dev_get_drm_render_minor.restype = amdsmi_status_t +amdsmi_dev_get_drm_render_minor = _lib.amdsmi_dev_get_drm_render_minor -_lib.amdsmi_dev_pci_bandwidth_get.argtypes = [amdsmi_device_handle,POINTER(amdsmi_pcie_bandwidth_t)] -_lib.amdsmi_dev_pci_bandwidth_get.restype = amdsmi_status_t -amdsmi_dev_pci_bandwidth_get = _lib.amdsmi_dev_pci_bandwidth_get +_lib.amdsmi_dev_get_pci_bandwidth.argtypes = [amdsmi_device_handle,POINTER(amdsmi_pcie_bandwidth_t)] +_lib.amdsmi_dev_get_pci_bandwidth.restype = amdsmi_status_t +amdsmi_dev_get_pci_bandwidth = _lib.amdsmi_dev_get_pci_bandwidth -_lib.amdsmi_dev_pci_id_get.argtypes = [amdsmi_device_handle,POINTER(c_uint64)] -_lib.amdsmi_dev_pci_id_get.restype = amdsmi_status_t -amdsmi_dev_pci_id_get = _lib.amdsmi_dev_pci_id_get +_lib.amdsmi_dev_get_pci_id.argtypes = [amdsmi_device_handle,POINTER(c_uint64)] +_lib.amdsmi_dev_get_pci_id.restype = amdsmi_status_t +amdsmi_dev_get_pci_id = _lib.amdsmi_dev_get_pci_id -_lib.amdsmi_topo_numa_affinity_get.argtypes = [amdsmi_device_handle,POINTER(c_uint32)] -_lib.amdsmi_topo_numa_affinity_get.restype = amdsmi_status_t -amdsmi_topo_numa_affinity_get = _lib.amdsmi_topo_numa_affinity_get +_lib.amdsmi_topo_get_numa_affinity.argtypes = [amdsmi_device_handle,POINTER(c_uint32)] +_lib.amdsmi_topo_get_numa_affinity.restype = amdsmi_status_t +amdsmi_topo_get_numa_affinity = _lib.amdsmi_topo_get_numa_affinity -_lib.amdsmi_dev_pci_throughput_get.argtypes = [amdsmi_device_handle,POINTER(c_uint64),POINTER(c_uint64),POINTER(c_uint64)] -_lib.amdsmi_dev_pci_throughput_get.restype = amdsmi_status_t -amdsmi_dev_pci_throughput_get = _lib.amdsmi_dev_pci_throughput_get +_lib.amdsmi_dev_get_pci_throughput.argtypes = [amdsmi_device_handle,POINTER(c_uint64),POINTER(c_uint64),POINTER(c_uint64)] +_lib.amdsmi_dev_get_pci_throughput.restype = amdsmi_status_t +amdsmi_dev_get_pci_throughput = _lib.amdsmi_dev_get_pci_throughput -_lib.amdsmi_dev_pci_replay_counter_get.argtypes = [amdsmi_device_handle,POINTER(c_uint64)] -_lib.amdsmi_dev_pci_replay_counter_get.restype = amdsmi_status_t -amdsmi_dev_pci_replay_counter_get = _lib.amdsmi_dev_pci_replay_counter_get +_lib. amdsmi_dev_get_pci_replay_counter.argtypes = [amdsmi_device_handle,POINTER(c_uint64)] +_lib. amdsmi_dev_get_pci_replay_counter.restype = amdsmi_status_t + amdsmi_dev_get_pci_replay_counter = _lib. amdsmi_dev_get_pci_replay_counter -_lib.amdsmi_dev_pci_bandwidth_set.argtypes = [amdsmi_device_handle,c_uint64] -_lib.amdsmi_dev_pci_bandwidth_set.restype = amdsmi_status_t -amdsmi_dev_pci_bandwidth_set = _lib.amdsmi_dev_pci_bandwidth_set +_lib. amdsmi_dev_set_pci_bandwidth.argtypes = [amdsmi_device_handle,c_uint64] +_lib. amdsmi_dev_set_pci_bandwidth.restype = amdsmi_status_t + amdsmi_dev_set_pci_bandwidth = _lib. amdsmi_dev_set_pci_bandwidth -_lib.amdsmi_dev_power_ave_get.argtypes = [amdsmi_device_handle,c_uint32,POINTER(c_uint64)] -_lib.amdsmi_dev_power_ave_get.restype = amdsmi_status_t -amdsmi_dev_power_ave_get = _lib.amdsmi_dev_power_ave_get +_lib.amdsmi_dev_get_power_ave.argtypes = [amdsmi_device_handle,c_uint32,POINTER(c_uint64)] +_lib.amdsmi_dev_get_power_ave.restype = amdsmi_status_t +amdsmi_dev_get_power_ave = _lib.amdsmi_dev_get_power_ave -_lib.amdsmi_dev_energy_count_get.argtypes = [amdsmi_device_handle,POINTER(c_uint64),POINTER(c_float),POINTER(c_uint64)] -_lib.amdsmi_dev_energy_count_get.restype = amdsmi_status_t -amdsmi_dev_energy_count_get = _lib.amdsmi_dev_energy_count_get +_lib.amdsmi_dev_get_energy_count.argtypes = [amdsmi_device_handle,POINTER(c_uint64),POINTER(c_float),POINTER(c_uint64)] +_lib.amdsmi_dev_get_energy_count.restype = amdsmi_status_t +amdsmi_dev_get_energy_count = _lib.amdsmi_dev_get_energy_count -_lib.amdsmi_dev_power_cap_set.argtypes = [amdsmi_device_handle,c_uint32,c_uint64] -_lib.amdsmi_dev_power_cap_set.restype = amdsmi_status_t -amdsmi_dev_power_cap_set = _lib.amdsmi_dev_power_cap_set +_lib. amdsmi_dev_set_power_cap.argtypes = [amdsmi_device_handle,c_uint32,c_uint64] +_lib. amdsmi_dev_set_power_cap.restype = amdsmi_status_t + amdsmi_dev_set_power_cap = _lib. amdsmi_dev_set_power_cap -_lib.amdsmi_dev_power_profile_set.argtypes = [amdsmi_device_handle,c_uint32,amdsmi_power_profile_preset_masks_t] -_lib.amdsmi_dev_power_profile_set.restype = amdsmi_status_t -amdsmi_dev_power_profile_set = _lib.amdsmi_dev_power_profile_set +_lib. amdsmi_dev_set_power_profile.argtypes = [amdsmi_device_handle,c_uint32,amdsmi_power_profile_preset_masks_t] +_lib. amdsmi_dev_set_power_profile.restype = amdsmi_status_t + amdsmi_dev_set_power_profile = _lib. amdsmi_dev_set_power_profile -_lib.amdsmi_dev_memory_total_get.argtypes = [amdsmi_device_handle,amdsmi_memory_type_t,POINTER(c_uint64)] -_lib.amdsmi_dev_memory_total_get.restype = amdsmi_status_t -amdsmi_dev_memory_total_get = _lib.amdsmi_dev_memory_total_get +_lib.amdsmi_dev_get_memory_total.argtypes = [amdsmi_device_handle,amdsmi_memory_type_t,POINTER(c_uint64)] +_lib.amdsmi_dev_get_memory_total.restype = amdsmi_status_t +amdsmi_dev_get_memory_total = _lib.amdsmi_dev_get_memory_total -_lib.amdsmi_dev_memory_usage_get.argtypes = [amdsmi_device_handle,amdsmi_memory_type_t,POINTER(c_uint64)] -_lib.amdsmi_dev_memory_usage_get.restype = amdsmi_status_t -amdsmi_dev_memory_usage_get = _lib.amdsmi_dev_memory_usage_get +_lib.amdsmi_dev_get_memory_usage.argtypes = [amdsmi_device_handle,amdsmi_memory_type_t,POINTER(c_uint64)] +_lib.amdsmi_dev_get_memory_usage.restype = amdsmi_status_t +amdsmi_dev_get_memory_usage = _lib.amdsmi_dev_get_memory_usage _lib.amdsmi_get_bad_page_info.argtypes = [amdsmi_device_handle,POINTER(c_uint32),POINTER(amdsmi_retired_page_record_t)] _lib.amdsmi_get_bad_page_info.restype = amdsmi_status_t @@ -1845,49 +1845,49 @@ _lib.amdsmi_get_ras_block_features_enabled.argtypes = [amdsmi_device_handle,amds _lib.amdsmi_get_ras_block_features_enabled.restype = amdsmi_status_t amdsmi_get_ras_block_features_enabled = _lib.amdsmi_get_ras_block_features_enabled -_lib.amdsmi_dev_memory_busy_percent_get.argtypes = [amdsmi_device_handle,POINTER(c_uint32)] -_lib.amdsmi_dev_memory_busy_percent_get.restype = amdsmi_status_t -amdsmi_dev_memory_busy_percent_get = _lib.amdsmi_dev_memory_busy_percent_get +_lib.amdsmi_dev_get_memory_busy_percent.argtypes = [amdsmi_device_handle,POINTER(c_uint32)] +_lib.amdsmi_dev_get_memory_busy_percent.restype = amdsmi_status_t +amdsmi_dev_get_memory_busy_percent = _lib.amdsmi_dev_get_memory_busy_percent -_lib.amdsmi_dev_memory_reserved_pages_get.argtypes = [amdsmi_device_handle,POINTER(c_uint32),POINTER(amdsmi_retired_page_record_t)] -_lib.amdsmi_dev_memory_reserved_pages_get.restype = amdsmi_status_t -amdsmi_dev_memory_reserved_pages_get = _lib.amdsmi_dev_memory_reserved_pages_get +_lib.amdsmi_dev_get_memory_reserved_pages.argtypes = [amdsmi_device_handle,POINTER(c_uint32),POINTER(amdsmi_retired_page_record_t)] +_lib.amdsmi_dev_get_memory_reserved_pages.restype = amdsmi_status_t +amdsmi_dev_get_memory_reserved_pages = _lib.amdsmi_dev_get_memory_reserved_pages -_lib.amdsmi_dev_fan_rpms_get.argtypes = [amdsmi_device_handle,c_uint32,POINTER(c_int64)] -_lib.amdsmi_dev_fan_rpms_get.restype = amdsmi_status_t -amdsmi_dev_fan_rpms_get = _lib.amdsmi_dev_fan_rpms_get +_lib.amdsmi_dev_get_fan_rpms.argtypes = [amdsmi_device_handle,c_uint32,POINTER(c_int64)] +_lib.amdsmi_dev_get_fan_rpms.restype = amdsmi_status_t +amdsmi_dev_get_fan_rpms = _lib.amdsmi_dev_get_fan_rpms -_lib.amdsmi_dev_fan_speed_get.argtypes = [amdsmi_device_handle,c_uint32,POINTER(c_int64)] -_lib.amdsmi_dev_fan_speed_get.restype = amdsmi_status_t -amdsmi_dev_fan_speed_get = _lib.amdsmi_dev_fan_speed_get +_lib.amdsmi_dev_get_fan_speed.argtypes = [amdsmi_device_handle,c_uint32,POINTER(c_int64)] +_lib.amdsmi_dev_get_fan_speed.restype = amdsmi_status_t +amdsmi_dev_get_fan_speed = _lib.amdsmi_dev_get_fan_speed -_lib.amdsmi_dev_fan_speed_max_get.argtypes = [amdsmi_device_handle,c_uint32,POINTER(c_uint64)] -_lib.amdsmi_dev_fan_speed_max_get.restype = amdsmi_status_t -amdsmi_dev_fan_speed_max_get = _lib.amdsmi_dev_fan_speed_max_get +_lib.amdsmi_dev_get_fan_speed_max.argtypes = [amdsmi_device_handle,c_uint32,POINTER(c_uint64)] +_lib.amdsmi_dev_get_fan_speed_max.restype = amdsmi_status_t +amdsmi_dev_get_fan_speed_max = _lib.amdsmi_dev_get_fan_speed_max -_lib.amdsmi_dev_temp_metric_get.argtypes = [amdsmi_device_handle,c_uint32,amdsmi_temperature_metric_t,POINTER(c_int64)] -_lib.amdsmi_dev_temp_metric_get.restype = amdsmi_status_t -amdsmi_dev_temp_metric_get = _lib.amdsmi_dev_temp_metric_get +_lib. amdsmi_dev_get_temp_metric.argtypes = [amdsmi_device_handle,c_uint32,amdsmi_temperature_metric_t,POINTER(c_int64)] +_lib. amdsmi_dev_get_temp_metric.restype = amdsmi_status_t + amdsmi_dev_get_temp_metric = _lib. amdsmi_dev_get_temp_metric -_lib.amdsmi_dev_volt_metric_get.argtypes = [amdsmi_device_handle,amdsmi_voltage_type_t,amdsmi_voltage_metric_t,POINTER(c_int64)] -_lib.amdsmi_dev_volt_metric_get.restype = amdsmi_status_t -amdsmi_dev_volt_metric_get = _lib.amdsmi_dev_volt_metric_get +_lib. amdsmi_dev_get_volt_metric.argtypes = [amdsmi_device_handle,amdsmi_voltage_type_t,amdsmi_voltage_metric_t,POINTER(c_int64)] +_lib. amdsmi_dev_get_volt_metric.restype = amdsmi_status_t + amdsmi_dev_get_volt_metric = _lib. amdsmi_dev_get_volt_metric -_lib.amdsmi_dev_fan_reset.argtypes = [amdsmi_device_handle,c_uint32] -_lib.amdsmi_dev_fan_reset.restype = amdsmi_status_t -amdsmi_dev_fan_reset = _lib.amdsmi_dev_fan_reset +_lib.amdsmi_dev_reset_fan.argtypes = [amdsmi_device_handle,c_uint32] +_lib.amdsmi_dev_reset_fan.restype = amdsmi_status_t +amdsmi_dev_reset_fan = _lib.amdsmi_dev_reset_fan -_lib.amdsmi_dev_fan_speed_set.argtypes = [amdsmi_device_handle,c_uint32,c_uint64] -_lib.amdsmi_dev_fan_speed_set.restype = amdsmi_status_t -amdsmi_dev_fan_speed_set = _lib.amdsmi_dev_fan_speed_set +_lib.amdsmi_dev_set_fan_speed.argtypes = [amdsmi_device_handle,c_uint32,c_uint64] +_lib.amdsmi_dev_set_fan_speed.restype = amdsmi_status_t +amdsmi_dev_set_fan_speed = _lib.amdsmi_dev_set_fan_speed -_lib.amdsmi_dev_busy_percent_get.argtypes = [amdsmi_device_handle,POINTER(c_uint32)] -_lib.amdsmi_dev_busy_percent_get.restype = amdsmi_status_t -amdsmi_dev_busy_percent_get = _lib.amdsmi_dev_busy_percent_get +_lib.amdsmi_dev_get_busy_percent.argtypes = [amdsmi_device_handle,POINTER(c_uint32)] +_lib.amdsmi_dev_get_busy_percent.restype = amdsmi_status_t +amdsmi_dev_get_busy_percent = _lib.amdsmi_dev_get_busy_percent -_lib.amdsmi_utilization_count_get.argtypes = [amdsmi_device_handle,POINTER(amdsmi_utilization_counter_t),c_uint32,POINTER(c_uint64)] -_lib.amdsmi_utilization_count_get.restype = amdsmi_status_t -amdsmi_utilization_count_get = _lib.amdsmi_utilization_count_get +_lib.amdsmi_get_utilization_count.argtypes = [amdsmi_device_handle,POINTER(amdsmi_utilization_counter_t),c_uint32,POINTER(c_uint64)] +_lib.amdsmi_get_utilization_count.restype = amdsmi_status_t +amdsmi_get_utilization_count = _lib.amdsmi_get_utilization_count _lib.amdsmi_get_pcie_link_status.argtypes = [amdsmi_device_handle,POINTER(amdsmi_pcie_info_t)] _lib.amdsmi_get_pcie_link_status.restype = amdsmi_status_t @@ -1897,93 +1897,93 @@ _lib.amdsmi_get_pcie_link_caps.argtypes = [amdsmi_device_handle,POINTER(amdsmi_p _lib.amdsmi_get_pcie_link_caps.restype = amdsmi_status_t amdsmi_get_pcie_link_caps = _lib.amdsmi_get_pcie_link_caps -_lib.amdsmi_dev_perf_level_get.argtypes = [amdsmi_device_handle,POINTER(amdsmi_dev_perf_level_t)] -_lib.amdsmi_dev_perf_level_get.restype = amdsmi_status_t -amdsmi_dev_perf_level_get = _lib.amdsmi_dev_perf_level_get +_lib.amdsmi_dev_get_perf_level.argtypes = [amdsmi_device_handle,POINTER(amdsmi_dev_perf_level_t)] +_lib.amdsmi_dev_get_perf_level.restype = amdsmi_status_t +amdsmi_dev_get_perf_level = _lib.amdsmi_dev_get_perf_level -_lib.amdsmi_perf_determinism_mode_set.argtypes = [amdsmi_device_handle,c_uint64] -_lib.amdsmi_perf_determinism_mode_set.restype = amdsmi_status_t -amdsmi_perf_determinism_mode_set = _lib.amdsmi_perf_determinism_mode_set +_lib.amdsmi_set_perf_determinism_mode.argtypes = [amdsmi_device_handle,c_uint64] +_lib.amdsmi_set_perf_determinism_mode.restype = amdsmi_status_t +amdsmi_set_perf_determinism_mode = _lib.amdsmi_set_perf_determinism_mode -_lib.amdsmi_dev_overdrive_level_get.argtypes = [amdsmi_device_handle,POINTER(c_uint32)] -_lib.amdsmi_dev_overdrive_level_get.restype = amdsmi_status_t -amdsmi_dev_overdrive_level_get = _lib.amdsmi_dev_overdrive_level_get +_lib.amdsmi_dev_get_overdrive_level.argtypes = [amdsmi_device_handle,POINTER(c_uint32)] +_lib.amdsmi_dev_get_overdrive_level.restype = amdsmi_status_t +amdsmi_dev_get_overdrive_level = _lib.amdsmi_dev_get_overdrive_level -_lib.amdsmi_dev_gpu_clk_freq_get.argtypes = [amdsmi_device_handle,amdsmi_clk_type_t,POINTER(amdsmi_frequencies_t)] -_lib.amdsmi_dev_gpu_clk_freq_get.restype = amdsmi_status_t -amdsmi_dev_gpu_clk_freq_get = _lib.amdsmi_dev_gpu_clk_freq_get +_lib. amdsmi_dev_get_gpu_clk_freq.argtypes = [amdsmi_device_handle,amdsmi_clk_type_t,POINTER(amdsmi_frequencies_t)] +_lib. amdsmi_dev_get_gpu_clk_freq.restype = amdsmi_status_t + amdsmi_dev_get_gpu_clk_freq = _lib. amdsmi_dev_get_gpu_clk_freq -_lib.amdsmi_dev_gpu_reset.argtypes = [amdsmi_device_handle] -_lib.amdsmi_dev_gpu_reset.restype = amdsmi_status_t -amdsmi_dev_gpu_reset = _lib.amdsmi_dev_gpu_reset +_lib.amdsmi_dev_reset_gpu.argtypes = [amdsmi_device_handle] +_lib.amdsmi_dev_reset_gpu.restype = amdsmi_status_t +amdsmi_dev_reset_gpu = _lib.amdsmi_dev_reset_gpu -_lib.amdsmi_dev_od_volt_info_get.argtypes = [amdsmi_device_handle,POINTER(amdsmi_od_volt_freq_data_t)] -_lib.amdsmi_dev_od_volt_info_get.restype = amdsmi_status_t -amdsmi_dev_od_volt_info_get = _lib.amdsmi_dev_od_volt_info_get +_lib. amdsmi_dev_get_od_volt_info.argtypes = [amdsmi_device_handle,POINTER(amdsmi_od_volt_freq_data_t)] +_lib. amdsmi_dev_get_od_volt_info.restype = amdsmi_status_t + amdsmi_dev_get_od_volt_info = _lib. amdsmi_dev_get_od_volt_info -_lib.amdsmi_dev_gpu_metrics_info_get.argtypes = [amdsmi_device_handle,POINTER(amdsmi_gpu_metrics_t)] -_lib.amdsmi_dev_gpu_metrics_info_get.restype = amdsmi_status_t -amdsmi_dev_gpu_metrics_info_get = _lib.amdsmi_dev_gpu_metrics_info_get +_lib. amdsmi_dev_get_gpu_metrics_info.argtypes = [amdsmi_device_handle,POINTER(amdsmi_gpu_metrics_t)] +_lib. amdsmi_dev_get_gpu_metrics_info.restype = amdsmi_status_t + amdsmi_dev_get_gpu_metrics_info = _lib. amdsmi_dev_get_gpu_metrics_info -_lib.amdsmi_dev_clk_range_set.argtypes = [amdsmi_device_handle,c_uint64,c_uint64,amdsmi_clk_type_t] -_lib.amdsmi_dev_clk_range_set.restype = amdsmi_status_t -amdsmi_dev_clk_range_set = _lib.amdsmi_dev_clk_range_set +_lib.amdsmi_dev_set_clk_range.argtypes = [amdsmi_device_handle,c_uint64,c_uint64,amdsmi_clk_type_t] +_lib.amdsmi_dev_set_clk_range.restype = amdsmi_status_t +amdsmi_dev_set_clk_range = _lib.amdsmi_dev_set_clk_range -_lib.amdsmi_dev_od_clk_info_set.argtypes = [amdsmi_device_handle,amdsmi_freq_ind_t,c_uint64,amdsmi_clk_type_t] -_lib.amdsmi_dev_od_clk_info_set.restype = amdsmi_status_t -amdsmi_dev_od_clk_info_set = _lib.amdsmi_dev_od_clk_info_set +_lib. amdsmi_dev_set_od_clk_info.argtypes = [amdsmi_device_handle,amdsmi_freq_ind_t,c_uint64,amdsmi_clk_type_t] +_lib. amdsmi_dev_set_od_clk_info.restype = amdsmi_status_t + amdsmi_dev_set_od_clk_info = _lib. amdsmi_dev_set_od_clk_info -_lib.amdsmi_dev_od_volt_info_set.argtypes = [amdsmi_device_handle,c_uint32,c_uint64,c_uint64] -_lib.amdsmi_dev_od_volt_info_set.restype = amdsmi_status_t -amdsmi_dev_od_volt_info_set = _lib.amdsmi_dev_od_volt_info_set +_lib. amdsmi_dev_set_od_volt_info.argtypes = [amdsmi_device_handle,c_uint32,c_uint64,c_uint64] +_lib. amdsmi_dev_set_od_volt_info.restype = amdsmi_status_t + amdsmi_dev_set_od_volt_info = _lib. amdsmi_dev_set_od_volt_info -_lib.amdsmi_dev_od_volt_curve_regions_get.argtypes = [amdsmi_device_handle,POINTER(c_uint32),POINTER(amdsmi_freq_volt_region_t)] -_lib.amdsmi_dev_od_volt_curve_regions_get.restype = amdsmi_status_t -amdsmi_dev_od_volt_curve_regions_get = _lib.amdsmi_dev_od_volt_curve_regions_get +_lib. amdsmi_dev_get_od_volt_curve_regions.argtypes = [amdsmi_device_handle,POINTER(c_uint32),POINTER(amdsmi_freq_volt_region_t)] +_lib. amdsmi_dev_get_od_volt_curve_regions.restype = amdsmi_status_t + amdsmi_dev_get_od_volt_curve_regions = _lib. amdsmi_dev_get_od_volt_curve_regions -_lib.amdsmi_dev_power_profile_presets_get.argtypes = [amdsmi_device_handle,c_uint32,POINTER(amdsmi_power_profile_status_t)] -_lib.amdsmi_dev_power_profile_presets_get.restype = amdsmi_status_t -amdsmi_dev_power_profile_presets_get = _lib.amdsmi_dev_power_profile_presets_get +_lib. amdsmi_dev_get_power_profile_presets.argtypes = [amdsmi_device_handle,c_uint32,POINTER(amdsmi_power_profile_status_t)] +_lib. amdsmi_dev_get_power_profile_presets.restype = amdsmi_status_t + amdsmi_dev_get_power_profile_presets = _lib. amdsmi_dev_get_power_profile_presets -_lib.amdsmi_dev_perf_level_set.argtypes = [amdsmi_device_handle,amdsmi_dev_perf_level_t] -_lib.amdsmi_dev_perf_level_set.restype = amdsmi_status_t -amdsmi_dev_perf_level_set = _lib.amdsmi_dev_perf_level_set +_lib. amdsmi_dev_set_perf_level.argtypes = [amdsmi_device_handle,amdsmi_dev_perf_level_t] +_lib. amdsmi_dev_set_perf_level.restype = amdsmi_status_t + amdsmi_dev_set_perf_level = _lib. amdsmi_dev_set_perf_level -_lib.amdsmi_dev_perf_level_set_v1.argtypes = [amdsmi_device_handle,amdsmi_dev_perf_level_t] -_lib.amdsmi_dev_perf_level_set_v1.restype = amdsmi_status_t -amdsmi_dev_perf_level_set_v1 = _lib.amdsmi_dev_perf_level_set_v1 +_lib. amdsmi_dev_set_perf_level_v1.argtypes = [amdsmi_device_handle,amdsmi_dev_perf_level_t] +_lib. amdsmi_dev_set_perf_level_v1.restype = amdsmi_status_t + amdsmi_dev_set_perf_level_v1 = _lib. amdsmi_dev_set_perf_level_v1 -_lib.amdsmi_dev_overdrive_level_set.argtypes = [amdsmi_device_handle,c_uint32] -_lib.amdsmi_dev_overdrive_level_set.restype = amdsmi_status_t -amdsmi_dev_overdrive_level_set = _lib.amdsmi_dev_overdrive_level_set +_lib. amdsmi_dev_set_overdrive_level.argtypes = [amdsmi_device_handle,c_uint32] +_lib. amdsmi_dev_set_overdrive_level.restype = amdsmi_status_t + amdsmi_dev_set_overdrive_level = _lib. amdsmi_dev_set_overdrive_level -_lib.amdsmi_dev_overdrive_level_set_v1.argtypes = [amdsmi_device_handle,c_uint32] -_lib.amdsmi_dev_overdrive_level_set_v1.restype = amdsmi_status_t -amdsmi_dev_overdrive_level_set_v1 = _lib.amdsmi_dev_overdrive_level_set_v1 +_lib. amdsmi_dev_set_overdrive_level_v1.argtypes = [amdsmi_device_handle,c_uint32] +_lib. amdsmi_dev_set_overdrive_level_v1.restype = amdsmi_status_t + amdsmi_dev_set_overdrive_level_v1 = _lib. amdsmi_dev_set_overdrive_level_v1 -_lib.amdsmi_dev_gpu_clk_freq_set.argtypes = [amdsmi_device_handle,amdsmi_clk_type_t,c_uint64] -_lib.amdsmi_dev_gpu_clk_freq_set.restype = amdsmi_status_t -amdsmi_dev_gpu_clk_freq_set = _lib.amdsmi_dev_gpu_clk_freq_set +_lib. amdsmi_dev_set_clk_freq.argtypes = [amdsmi_device_handle,amdsmi_clk_type_t,c_uint64] +_lib. amdsmi_dev_set_clk_freq.restype = amdsmi_status_t + amdsmi_dev_set_clk_freq = _lib. amdsmi_dev_set_clk_freq -_lib.amdsmi_version_get.argtypes = [POINTER(amdsmi_version_t)] -_lib.amdsmi_version_get.restype = amdsmi_status_t -amdsmi_version_get = _lib.amdsmi_version_get +_lib.amdsmi_get_version.argtypes = [POINTER(amdsmi_version_t)] +_lib.amdsmi_get_version.restype = amdsmi_status_t +amdsmi_get_version = _lib.amdsmi_get_version -_lib.amdsmi_version_str_get.argtypes = [amdsmi_sw_component_t,c_char_p,c_uint32] -_lib.amdsmi_version_str_get.restype = amdsmi_status_t -amdsmi_version_str_get = _lib.amdsmi_version_str_get +_lib.amdsmi_get_version_str.argtypes = [amdsmi_sw_component_t,c_char_p,c_uint32] +_lib.amdsmi_get_version_str.restype = amdsmi_status_t +amdsmi_get_version_str = _lib.amdsmi_get_version_str -_lib.amdsmi_dev_ecc_count_get.argtypes = [amdsmi_device_handle,amdsmi_gpu_block_t,POINTER(amdsmi_error_count_t)] -_lib.amdsmi_dev_ecc_count_get.restype = amdsmi_status_t -amdsmi_dev_ecc_count_get = _lib.amdsmi_dev_ecc_count_get +_lib. amdsmi_dev_get_ecc_count.argtypes = [amdsmi_device_handle,amdsmi_gpu_block_t,POINTER(amdsmi_error_count_t)] +_lib. amdsmi_dev_get_ecc_count.restype = amdsmi_status_t + amdsmi_dev_get_ecc_count = _lib. amdsmi_dev_get_ecc_count -_lib.amdsmi_dev_ecc_enabled_get.argtypes = [amdsmi_device_handle,POINTER(c_uint64)] -_lib.amdsmi_dev_ecc_enabled_get.restype = amdsmi_status_t -amdsmi_dev_ecc_enabled_get = _lib.amdsmi_dev_ecc_enabled_get +_lib. amdsmi_dev_get_ecc_enabled.argtypes = [amdsmi_device_handle,POINTER(c_uint64)] +_lib. amdsmi_dev_get_ecc_enabled.restype = amdsmi_status_t + amdsmi_dev_get_ecc_enabled = _lib. amdsmi_dev_get_ecc_enabled -_lib.amdsmi_dev_ecc_status_get.argtypes = [amdsmi_device_handle,amdsmi_gpu_block_t,POINTER(amdsmi_ras_err_state_t)] -_lib.amdsmi_dev_ecc_status_get.restype = amdsmi_status_t -amdsmi_dev_ecc_status_get = _lib.amdsmi_dev_ecc_status_get +_lib. amdsmi_dev_get_ecc_status.argtypes = [amdsmi_device_handle,amdsmi_gpu_block_t,POINTER(amdsmi_ras_err_state_t)] +_lib. amdsmi_dev_get_ecc_status.restype = amdsmi_status_t + amdsmi_dev_get_ecc_status = _lib. amdsmi_dev_get_ecc_status _lib.amdsmi_status_string.argtypes = [amdsmi_status_t,POINTER(c_char_p)] _lib.amdsmi_status_string.restype = amdsmi_status_t @@ -1993,45 +1993,45 @@ _lib.amdsmi_dev_counter_group_supported.argtypes = [amdsmi_device_handle,amdsmi_ _lib.amdsmi_dev_counter_group_supported.restype = amdsmi_status_t amdsmi_dev_counter_group_supported = _lib.amdsmi_dev_counter_group_supported -_lib.amdsmi_dev_counter_create.argtypes = [amdsmi_device_handle,amdsmi_event_type_t,POINTER(amdsmi_event_handle_t)] -_lib.amdsmi_dev_counter_create.restype = amdsmi_status_t -amdsmi_dev_counter_create = _lib.amdsmi_dev_counter_create +_lib.amdsmi_dev_create_counter.argtypes = [amdsmi_device_handle,amdsmi_event_type_t,POINTER(amdsmi_event_handle_t)] +_lib.amdsmi_dev_create_counter.restype = amdsmi_status_t +amdsmi_dev_create_counter = _lib.amdsmi_dev_create_counter -_lib.amdsmi_dev_counter_destroy.argtypes = [amdsmi_event_handle_t] -_lib.amdsmi_dev_counter_destroy.restype = amdsmi_status_t -amdsmi_dev_counter_destroy = _lib.amdsmi_dev_counter_destroy +_lib.amdsmi_dev_destroy_counter.argtypes = [amdsmi_event_handle_t] +_lib.amdsmi_dev_destroy_counter.restype = amdsmi_status_t +amdsmi_dev_destroy_counter = _lib.amdsmi_dev_destroy_counter -_lib.amdsmi_counter_control.argtypes = [amdsmi_event_handle_t,amdsmi_counter_command_t,c_void_p] -_lib.amdsmi_counter_control.restype = amdsmi_status_t -amdsmi_counter_control = _lib.amdsmi_counter_control +_lib.amdsmi_control_counter.argtypes = [amdsmi_event_handle_t,amdsmi_counter_command_t,c_void_p] +_lib.amdsmi_control_counter.restype = amdsmi_status_t +amdsmi_control_counter = _lib.amdsmi_control_counter -_lib.amdsmi_counter_read.argtypes = [amdsmi_event_handle_t,POINTER(amdsmi_counter_value_t)] -_lib.amdsmi_counter_read.restype = amdsmi_status_t -amdsmi_counter_read = _lib.amdsmi_counter_read +_lib.amdsmi_read_counter.argtypes = [amdsmi_event_handle_t,POINTER(amdsmi_counter_value_t)] +_lib.amdsmi_read_counter.restype = amdsmi_status_t +amdsmi_read_counter = _lib.amdsmi_read_counter -_lib.amdsmi_counter_available_counters_get.argtypes = [amdsmi_device_handle,amdsmi_event_group_t,POINTER(c_uint32)] -_lib.amdsmi_counter_available_counters_get.restype = amdsmi_status_t -amdsmi_counter_available_counters_get = _lib.amdsmi_counter_available_counters_get +_lib. amdsmi_counter_get_available_counters.argtypes = [amdsmi_device_handle,amdsmi_event_group_t,POINTER(c_uint32)] +_lib. amdsmi_counter_get_available_counters.restype = amdsmi_status_t + amdsmi_counter_get_available_counters = _lib. amdsmi_counter_get_available_counters -_lib.amdsmi_compute_process_info_get.argtypes = [POINTER(amdsmi_process_info_t),POINTER(c_uint32)] -_lib.amdsmi_compute_process_info_get.restype = amdsmi_status_t -amdsmi_compute_process_info_get = _lib.amdsmi_compute_process_info_get +_lib.amdsmi_get_compute_process_info.argtypes = [POINTER(amdsmi_process_info_t),POINTER(c_uint32)] +_lib.amdsmi_get_compute_process_info.restype = amdsmi_status_t +amdsmi_get_compute_process_info = _lib.amdsmi_get_compute_process_info -_lib.amdsmi_compute_process_info_by_pid_get.argtypes = [c_uint32,POINTER(amdsmi_process_info_t)] -_lib.amdsmi_compute_process_info_by_pid_get.restype = amdsmi_status_t -amdsmi_compute_process_info_by_pid_get = _lib.amdsmi_compute_process_info_by_pid_get +_lib.amdsmi_get_compute_process_info_by_pid.argtypes = [c_uint32,POINTER(amdsmi_process_info_t)] +_lib.amdsmi_get_compute_process_info_by_pid.restype = amdsmi_status_t +amdsmi_get_compute_process_info_by_pid = _lib.amdsmi_get_compute_process_info_by_pid -_lib.amdsmi_compute_process_gpus_get.argtypes = [c_uint32,POINTER(c_uint32),POINTER(c_uint32)] -_lib.amdsmi_compute_process_gpus_get.restype = amdsmi_status_t -amdsmi_compute_process_gpus_get = _lib.amdsmi_compute_process_gpus_get +_lib.amdsmi_get_compute_process_gpus.argtypes = [c_uint32,POINTER(c_uint32),POINTER(c_uint32)] +_lib.amdsmi_get_compute_process_gpus.restype = amdsmi_status_t +amdsmi_get_compute_process_gpus = _lib.amdsmi_get_compute_process_gpus _lib.amdsmi_dev_xgmi_error_status.argtypes = [amdsmi_device_handle,POINTER(amdsmi_xgmi_status_t)] _lib.amdsmi_dev_xgmi_error_status.restype = amdsmi_status_t amdsmi_dev_xgmi_error_status = _lib.amdsmi_dev_xgmi_error_status -_lib.amdsmi_dev_xgmi_error_reset.argtypes = [amdsmi_device_handle] -_lib.amdsmi_dev_xgmi_error_reset.restype = amdsmi_status_t -amdsmi_dev_xgmi_error_reset = _lib.amdsmi_dev_xgmi_error_reset +_lib.amdsmi_dev_reset_xgmi_error.argtypes = [amdsmi_device_handle] +_lib.amdsmi_dev_reset_xgmi_error.restype = amdsmi_status_t +amdsmi_dev_reset_xgmi_error = _lib.amdsmi_dev_reset_xgmi_error _lib.amdsmi_topo_get_numa_node_number.argtypes = [amdsmi_device_handle,POINTER(c_uint32)] _lib.amdsmi_topo_get_numa_node_number.restype = amdsmi_status_t @@ -2041,9 +2041,9 @@ _lib.amdsmi_topo_get_link_weight.argtypes = [amdsmi_device_handle,amdsmi_device_ _lib.amdsmi_topo_get_link_weight.restype = amdsmi_status_t amdsmi_topo_get_link_weight = _lib.amdsmi_topo_get_link_weight -_lib.amdsmi_minmax_bandwidth_get.argtypes = [amdsmi_device_handle,amdsmi_device_handle,POINTER(c_uint64),POINTER(c_uint64)] -_lib.amdsmi_minmax_bandwidth_get.restype = amdsmi_status_t -amdsmi_minmax_bandwidth_get = _lib.amdsmi_minmax_bandwidth_get +_lib. amdsmi_get_minmax_bandwidth.argtypes = [amdsmi_device_handle,amdsmi_device_handle,POINTER(c_uint64),POINTER(c_uint64)] +_lib. amdsmi_get_minmax_bandwidth.restype = amdsmi_status_t + amdsmi_get_minmax_bandwidth = _lib. amdsmi_get_minmax_bandwidth _lib.amdsmi_topo_get_link_type.argtypes = [amdsmi_device_handle,amdsmi_device_handle,POINTER(c_uint64),POINTER(AMDSMI_IO_LINK_TYPE)] _lib.amdsmi_topo_get_link_type.restype = amdsmi_status_t @@ -2053,41 +2053,41 @@ _lib.amdsmi_is_P2P_accessible.argtypes = [amdsmi_device_handle,amdsmi_device_han _lib.amdsmi_is_P2P_accessible.restype = amdsmi_status_t amdsmi_is_P2P_accessible = _lib.amdsmi_is_P2P_accessible -_lib.amdsmi_dev_supported_func_iterator_open.argtypes = [amdsmi_device_handle,POINTER(amdsmi_func_id_iter_handle_t)] -_lib.amdsmi_dev_supported_func_iterator_open.restype = amdsmi_status_t -amdsmi_dev_supported_func_iterator_open = _lib.amdsmi_dev_supported_func_iterator_open +_lib.amdsmi_dev_open_supported_func_iterator.argtypes = [amdsmi_device_handle,POINTER(amdsmi_func_id_iter_handle_t)] +_lib.amdsmi_dev_open_supported_func_iterator.restype = amdsmi_status_t +amdsmi_dev_open_supported_func_iterator = _lib.amdsmi_dev_open_supported_func_iterator -_lib.amdsmi_dev_supported_variant_iterator_open.argtypes = [amdsmi_func_id_iter_handle_t,POINTER(amdsmi_func_id_iter_handle_t)] -_lib.amdsmi_dev_supported_variant_iterator_open.restype = amdsmi_status_t -amdsmi_dev_supported_variant_iterator_open = _lib.amdsmi_dev_supported_variant_iterator_open +_lib.amdsmi_dev_open_supported_variant_iterator.argtypes = [amdsmi_func_id_iter_handle_t,POINTER(amdsmi_func_id_iter_handle_t)] +_lib.amdsmi_dev_open_supported_variant_iterator.restype = amdsmi_status_t +amdsmi_dev_open_supported_variant_iterator = _lib.amdsmi_dev_open_supported_variant_iterator -_lib.amdsmi_func_iter_next.argtypes = [amdsmi_func_id_iter_handle_t] -_lib.amdsmi_func_iter_next.restype = amdsmi_status_t -amdsmi_func_iter_next = _lib.amdsmi_func_iter_next +_lib.amdsmi_next_func_iter.argtypes = [amdsmi_func_id_iter_handle_t] +_lib.amdsmi_next_func_iter.restype = amdsmi_status_t +amdsmi_next_func_iter = _lib.amdsmi_next_func_iter -_lib.amdsmi_dev_supported_func_iterator_close.argtypes = [POINTER(amdsmi_func_id_iter_handle_t)] -_lib.amdsmi_dev_supported_func_iterator_close.restype = amdsmi_status_t -amdsmi_dev_supported_func_iterator_close = _lib.amdsmi_dev_supported_func_iterator_close +_lib.amdsmi_dev_close_supported_func_iterator.argtypes = [POINTER(amdsmi_func_id_iter_handle_t)] +_lib.amdsmi_dev_close_supported_func_iterator.restype = amdsmi_status_t +amdsmi_dev_close_supported_func_iterator = _lib.amdsmi_dev_close_supported_func_iterator -_lib.amdsmi_func_iter_value_get.argtypes = [amdsmi_func_id_iter_handle_t,POINTER(amdsmi_func_id_value_t)] -_lib.amdsmi_func_iter_value_get.restype = amdsmi_status_t -amdsmi_func_iter_value_get = _lib.amdsmi_func_iter_value_get +_lib.amdsmi_get_func_iter_value.argtypes = [amdsmi_func_id_iter_handle_t,POINTER(amdsmi_func_id_value_t)] +_lib.amdsmi_get_func_iter_value.restype = amdsmi_status_t +amdsmi_get_func_iter_value = _lib.amdsmi_get_func_iter_value -_lib.amdsmi_event_notification_init.argtypes = [amdsmi_device_handle] -_lib.amdsmi_event_notification_init.restype = amdsmi_status_t -amdsmi_event_notification_init = _lib.amdsmi_event_notification_init +_lib.amdsmi_init_event_notification.argtypes = [amdsmi_device_handle] +_lib.amdsmi_init_event_notification.restype = amdsmi_status_t +amdsmi_init_event_notification = _lib.amdsmi_init_event_notification -_lib.amdsmi_event_notification_mask_set.argtypes = [amdsmi_device_handle,c_uint64] -_lib.amdsmi_event_notification_mask_set.restype = amdsmi_status_t -amdsmi_event_notification_mask_set = _lib.amdsmi_event_notification_mask_set +_lib. amdsmi_set_event_notification_mask.argtypes = [amdsmi_device_handle,c_uint64] +_lib. amdsmi_set_event_notification_mask.restype = amdsmi_status_t + amdsmi_set_event_notification_mask = _lib. amdsmi_set_event_notification_mask -_lib.amdsmi_event_notification_get.argtypes = [c_int,POINTER(c_uint32),POINTER(amdsmi_evt_notification_data_t)] -_lib.amdsmi_event_notification_get.restype = amdsmi_status_t -amdsmi_event_notification_get = _lib.amdsmi_event_notification_get +_lib. amdsmi_get_event_notification.argtypes = [c_int,POINTER(c_uint32),POINTER(amdsmi_evt_notification_data_t)] +_lib. amdsmi_get_event_notification.restype = amdsmi_status_t + amdsmi_get_event_notification = _lib. amdsmi_get_event_notification -_lib.amdsmi_event_notification_stop.argtypes = [amdsmi_device_handle] -_lib.amdsmi_event_notification_stop.restype = amdsmi_status_t -amdsmi_event_notification_stop = _lib.amdsmi_event_notification_stop +_lib.amdsmi_stop_event_notification.argtypes = [amdsmi_device_handle] +_lib.amdsmi_stop_event_notification.restype = amdsmi_status_t +amdsmi_stop_event_notification = _lib.amdsmi_stop_event_notification _lib.amdsmi_get_device_bdf.argtypes = [amdsmi_device_handle,POINTER(amdsmi_bdf_t)] _lib.amdsmi_get_device_bdf.restype = amdsmi_status_t diff --git a/py-interface/rocm_smi_tool.py b/py-interface/rocm_smi_tool.py index e2adc6d512..7aad94a9f2 100644 --- a/py-interface/rocm_smi_tool.py +++ b/py-interface/rocm_smi_tool.py @@ -287,85 +287,85 @@ class Formatter: | | | """ + self.style.header("COMMANDS:") + """ | | | - | """ + self.style.text(" 1 Get device vendor name. Api: amdsmi_dev_vendor_name_get ") + """ | - | """ + self.style.text(" 2 Get device id. Api: amdsmi_dev_id_get ") + """ | - | """ + self.style.text(" 3 Get device vram vendor. Api: amdsmi_dev_vram_vendor_get ") + """ | - | """ + self.style.text(" 4 Get device drm render minor. Api: amdsmi_dev_drm_render_minor_get ") + """ | - | """ + self.style.text(" 5 Get device subsystem id. Api: amdsmi_dev_subsystem_id_get ") + """ | - | """ + self.style.text(" 6 Get device subsystem name. Api: amdsmi_dev_subsystem_name_get ") + """ | - | """ + self.style.text(" 7 Get device pci id. Api: amdsmi_dev_pci_id_get ") + """ | - | """ + self.style.text(" 8 Get device pci bandwidth. Api: amdsmi_dev_pci_bandwidth_get ") + """ | - | """ + self.style.text(" 9 Get device pci throughput. Api: amdsmi_dev_pci_throughput_get ") + """ | - | """ + self.style.text("10 Get device pci replay counter. Api: amdsmi_dev_pci_replay_counter_get ") + """ | - | """ + self.style.text("11 Get topo numa affinity. Api: amdsmi_topo_numa_affinity_get ") + """ | - | """ + self.style.text("12 Get device power ave. Api: amdsmi_dev_power_ave_get ") + """ | - | """ + self.style.text("13 Get device energy count. Api: amdsmi_dev_energy_count_get ") + """ | - | """ + self.style.text("14 Get device memory total. Api: amdsmi_dev_memory_total_get ") + """ | - | """ + self.style.text("15 Get device memory usage. Api: amdsmi_dev_memory_usage_get ") + """ | - | """ + self.style.text("16 Get device memory busy percent. Api: amdsmi_dev_memory_busy_percent_get ") + """ | - | """ + self.style.text("17 Get device memory reserved pages. Api: amdsmi_dev_memory_reserved_pages_get ") + """ | - | """ + self.style.text("18 Get device fan rpms. Api: amdsmi_dev_fan_rpms_get ") + """ | - | """ + self.style.text("19 Get device fan speed. Api: amdsmi_dev_fan_speed_get ") + """ | - | """ + self.style.text("20 Get device fan speed max. Api: amdsmi_dev_fan_speed_max_get ") + """ | - | """ + self.style.text("21 Get device temp metric. Api: amdsmi_dev_temp_metric_get ") + """ | - | """ + self.style.text("22 Get device volt metric. Api: amdsmi_dev_volt_metric_get ") + """ | - | """ + self.style.text("23 Get device busy percent. Api: amdsmi_dev_busy_percent_get ") + """ | - | """ + self.style.text("24 Get utilization count. Api: amdsmi_utilization_count_get ") + """ | - | """ + self.style.text("25 Get device perf level. Api: amdsmi_dev_perf_level_get ") + """ | - | """ + self.style.text("26 Set perf determinism mode. Api: amdsmi_perf_determinism_mode_set ") + """ | - | """ + self.style.text("27 Get device overdrive level. Api: amdsmi_dev_overdrive_level_get ") + """ | - | """ + self.style.text("28 Get device gpu clk freq. Api: amdsmi_dev_gpu_clk_freq_get ") + """ | - | """ + self.style.text("29 Get device od volt. Api: amdsmi_dev_od_volt_info_get ") + """ | - | """ + self.style.text("30 Get device gpu metrics. Api: amdsmi_dev_gpu_metrics_info_get ") + """ | - | """ + self.style.text("31 Get device od volt curve regions. Api: amdsmi_dev_od_volt_curve_regions_get ") + """ | - | """ + self.style.text("32 Get device power profile presets. Api: amdsmi_dev_power_profile_presets_get ") + """ | - | """ + self.style.text("33 Get the build version. Api: amdsmi_version_get ") + """ | - | """ + self.style.text("34 Get version string. Api: amdsmi_version_str_get ") + """ | - | """ + self.style.text("35 Get device ecc counter. Api: amdsmi_dev_ecc_count_get ") + """ | - | """ + self.style.text("36 Get device ecc enable. Api: amdsmi_dev_ecc_enabled_get ") + """ | - | """ + self.style.text("37 Get device ecc status. Api: amdsmi_dev_ecc_status_get ") + """ | + | """ + self.style.text(" 1 Get device vendor name. Api: amdsmi_dev_get_vendor_name ") + """ | + | """ + self.style.text(" 2 Get device id. Api: amdsmi_dev_get_id ") + """ | + | """ + self.style.text(" 3 Get device vram vendor. Api: amdsmi_dev_get_vram_vendor ") + """ | + | """ + self.style.text(" 4 Get device drm render minor. Api: amdsmi_dev_get_drm_render_minor ") + """ | + | """ + self.style.text(" 5 Get device subsystem id. Api: amdsmi_dev_get_subsystem_id ") + """ | + | """ + self.style.text(" 6 Get device subsystem name. Api: amdsmi_dev_get_subsystem_name ") + """ | + | """ + self.style.text(" 7 Get device pci id. Api: amdsmi_dev_get_pci_id ") + """ | + | """ + self.style.text(" 8 Get device pci bandwidth. Api: amdsmi_dev_get_pci_bandwidth ") + """ | + | """ + self.style.text(" 9 Get device pci throughput. Api: amdsmi_dev_get_pci_throughput ") + """ | + | """ + self.style.text("10 Get device pci replay counter. Api: amdsmi_dev_get_pci_replay_counter ") + """ | + | """ + self.style.text("11 Get topo numa affinity. Api: amdsmi_topo_get_numa_affinity ") + """ | + | """ + self.style.text("12 Get device power ave. Api: amdsmi_dev_get_power_ave ") + """ | + | """ + self.style.text("13 Get device energy count. Api: amdsmi_dev_get_energy_count ") + """ | + | """ + self.style.text("14 Get device memory total. Api: amdsmi_dev_get_memory_total ") + """ | + | """ + self.style.text("15 Get device memory usage. Api: amdsmi_dev_get_memory_usage ") + """ | + | """ + self.style.text("16 Get device memory busy percent. Api: amdsmi_dev_get_memory_busy_percent ") + """ | + | """ + self.style.text("17 Get device memory reserved pages. Api: amdsmi_dev_get_memory_reserved_pages ") + """ | + | """ + self.style.text("18 Get device fan rpms. Api: amdsmi_dev_get_fan_rpms ") + """ | + | """ + self.style.text("19 Get device fan speed. Api: amdsmi_dev_get_fan_speed ") + """ | + | """ + self.style.text("20 Get device fan speed max. Api: amdsmi_dev_get_fan_speed_max ") + """ | + | """ + self.style.text("21 Get device temp metric. Api: amdsmi_dev_get_temp_metric ") + """ | + | """ + self.style.text("22 Get device volt metric. Api: amdsmi_dev_get_volt_metric ") + """ | + | """ + self.style.text("23 Get device busy percent. Api: amdsmi_dev_get_busy_percent ") + """ | + | """ + self.style.text("24 Get utilization count. Api: amdsmi_get_utilization_count ") + """ | + | """ + self.style.text("25 Get device perf level. Api: amdsmi_dev_get_perf_level ") + """ | + | """ + self.style.text("26 Set perf determinism mode. Api: amdsmi_set_perf_determinism_mode ") + """ | + | """ + self.style.text("27 Get device overdrive level. Api: amdsmi_dev_get_overdrive_level ") + """ | + | """ + self.style.text("28 Get device gpu clk freq. Api: amdsmi_dev_get_gpu_clk_freq ") + """ | + | """ + self.style.text("29 Get device od volt. Api: amdsmi_dev_get_od_volt_info ") + """ | + | """ + self.style.text("30 Get device gpu metrics. Api: amdsmi_dev_get_gpu_metrics_info ") + """ | + | """ + self.style.text("31 Get device od volt curve regions. Api: amdsmi_dev_get_od_volt_curve_regions ") + """ | + | """ + self.style.text("32 Get device power profile presets. Api: amdsmi_dev_get_power_profile_presets ") + """ | + | """ + self.style.text("33 Get the build version. Api: amdsmi_get_version ") + """ | + | """ + self.style.text("34 Get version string. Api: amdsmi_get_version_str ") + """ | + | """ + self.style.text("35 Get device ecc counter. Api: amdsmi_dev_get_ecc_count ") + """ | + | """ + self.style.text("36 Get device ecc enable. Api: amdsmi_dev_get_ecc_enabled ") + """ | + | """ + self.style.text("37 Get device ecc status. Api: amdsmi_dev_get_ecc_status ") + """ | | """ + self.style.text("38 Get status string. Api: amdsmi_status_string ") + """ | - | """ + self.style.text("39 Get compute process info. Api: amdsmi_compute_process_info_get ") + """ | - | """ + self.style.text("40 Get compute process info by pid. Api: amdsmi_compute_process_info_by_pid_get ") + """ | - | """ + self.style.text("41 Get compute process gpus. Api: amdsmi_compute_process_gpus_get ") + """ | + | """ + self.style.text("39 Get compute process info. Api: amdsmi_get_compute_process_info ") + """ | + | """ + self.style.text("40 Get compute process info by pid. Api: amdsmi_get_compute_process_info_by_pid ") + """ | + | """ + self.style.text("41 Get compute process gpus. Api: amdsmi_get_compute_process_gpus ") + """ | | """ + self.style.text("42 Get device xgmi_error_status. Api: amdsmi_dev_xgmi_error_status ") + """ | - | """ + self.style.text("43 Get device xgmi error reset. Api: amdsmi_dev_xgmi_error_reset ") + """ | + | """ + self.style.text("43 Get device xgmi error reset. Api: amdsmi_dev_reset_xgmi_error ") + """ | | """ + self.style.text("44 Get topo get numa node number. Api: amdsmi_topo_get_numa_node_number ") + """ | | """ + self.style.text("45 Get topo get link weight. Api: amdsmi_topo_get_link_weight ") + """ | - | """ + self.style.text("46 Get minmax_bandwidth_get. Api: amdsmi_minmax_bandwidth_get ") + """ | + | """ + self.style.text("46 Get minmax_bandwidth_get. Api: amdsmi_get_minmax_bandwidth ") + """ | | """ + self.style.text("47 Get topo get link type. Api: amdsmi_topo_get_link_type ") + """ | | """ + self.style.text("48 Get is P2P accessible. Api: amdsmi_is_P2P_accessible ") + """ | | """ + self.style.text("49 Get asic info. Api: amdsmi_get_asic_info ") + """ | | """ + self.style.text("50 Get device_handles. Api: amdsmi_get_device_handles ") + """ | - | """ + self.style.text("51 Get event notification. Api: amdsmi_event_notification_get ") + """ | - | """ + self.style.text("52 Init event notification. Api: amdsmi_event_notification_init ") + """ | - | """ + self.style.text("53 Set event notification mask. Api: amdsmi_event_notification_mask_set ") + """ | - | """ + self.style.text("54 Get event notification. Api: amdsmi_event_notification_stop ") + """ | + | """ + self.style.text("51 Get event notification. Api: amdsmi_get_event_notification ") + """ | + | """ + self.style.text("52 Init event notification. Api: amdsmi_init_event_notification ") + """ | + | """ + self.style.text("53 Set event notification mask. Api: amdsmi_set_event_notification_mask ") + """ | + | """ + self.style.text("54 Get event notification. Api: amdsmi_stop_event_notification ") + """ | | """ + self.style.text("55 Init. Api: amdsmi_init ") + """ | | """ + self.style.text("56 Shut down. Api: amdsmi_shut_down ") + """ | | """ + self.style.text("57 Get fw info. Api: amdsmi_get_fw_info ") + """ | | """ + self.style.text("58 Get vbios info. Api: amdsmi_get_vbios_info ") + """ | - | """ + self.style.text("59 Get counter available counters. Api: amdsmi_counter_available_counters_get ") + """ | - | """ + self.style.text("60 Get counter control. Api: amdsmi_counter_control ") + """ | - | """ + self.style.text("61 Get counter read. Api: amdsmi_counter_read ") + """ | - | """ + self.style.text("62 Set dev clk range. Api: amdsmi_dev_clk_range_set ") + """ | + | """ + self.style.text("59 Get counter available counters. Api: amdsmi_counter_get_available_counters ") + """ | + | """ + self.style.text("60 Get counter control. Api: amdsmi_control_counter ") + """ | + | """ + self.style.text("61 Get counter read. Api: amdsmi_read_counter ") + """ | + | """ + self.style.text("62 Set dev clk range. Api: amdsmi_dev_set_clk_range ") + """ | | """ + self.style.text("63 Get dev counter group supported. Api: amdsmi_dev_counter_group_supported ") + """ | - | """ + self.style.text("64 Reset dev fan. Api: amdsmi_dev_fan_reset ") + """ | - | """ + self.style.text("65 Set dev fan speed. Api: amdsmi_dev_fan_speed_set ") + """ | - | """ + self.style.text("66 Set dev gpu clk freq. Api: amdsmi_dev_gpu_clk_freq_set ") + """ | - | """ + self.style.text("67 Reset dev gpu. Api: amdsmi_dev_gpu_reset ") + """ | - | """ + self.style.text("68 Set dev od clk info. Api: amdsmi_dev_od_clk_info_set ") + """ | - | """ + self.style.text("69 Set dev od volt info. Api: amdsmi_dev_od_volt_info_set ") + """| - | """ + self.style.text("70 Set dev overdrive level. Api: amdsmi_dev_overdrive_level_set ") + """ | - | """ + self.style.text("71 Set v1 dev overdrive level. Api: amdsmi_dev_overdrive_level_set_v1 ") + """ | - | """ + self.style.text("72 Set dev pci bandwidth. Api: amdsmi_dev_pci_bandwidth_set ") + """ | - | """ + self.style.text("73 Set dev perf level. Api: amdsmi_dev_perf_level_set ") + """ | - | """ + self.style.text("74 Set dev perf level v1. Api: amdsmi_dev_perf_level_set_v1 ") + """ | - | """ + self.style.text("75 Set dev power cap. Api: amdsmi_dev_power_cap_set ") + """ | - | """ + self.style.text("76 Set dev power profile. Api: amdsmi_dev_power_profile_set ") + """ | - | """ + self.style.text("77 Close dev supported func iterator. Api: amdsmi_dev_supported_func_iterator_close ") + """ | - | """ + self.style.text("78 Pen dev supported func iterator. Api: amdsmi_dev_supported_func_iterator_open ") + """ | - | """ + self.style.text("79 Get func iter next. Api: amdsmi_func_iter_next ") + """ | + | """ + self.style.text("64 Reset dev fan. Api: amdsmi_dev_reset_fan ") + """ | + | """ + self.style.text("65 Set dev fan speed. Api: amdsmi_dev_set_fan_speed ") + """ | + | """ + self.style.text("66 Set dev gpu clk freq. Api: amdsmi_dev_set_clk_freq ") + """ | + | """ + self.style.text("67 Reset dev gpu. Api: amdsmi_dev_reset_gpu ") + """ | + | """ + self.style.text("68 Set dev od clk info. Api: amdsmi_dev_set_od_clk_info ") + """ | + | """ + self.style.text("69 Set dev od volt info. Api: amdsmi_dev_set_od_volt_info ") + """| + | """ + self.style.text("70 Set dev overdrive level. Api: amdsmi_dev_set_overdrive_level ") + """ | + | """ + self.style.text("71 Set v1 dev overdrive level. Api: amdsmi_dev_set_overdrive_level_v1 ") + """ | + | """ + self.style.text("72 Set dev pci bandwidth. Api: amdsmi_dev_set_pci_bandwidth ") + """ | + | """ + self.style.text("73 Set dev perf level. Api: amdsmi_dev_set_perf_level ") + """ | + | """ + self.style.text("74 Set dev perf level v1. Api: amdsmi_dev_set_perf_level_v1 ") + """ | + | """ + self.style.text("75 Set dev power cap. Api: amdsmi_dev_set_power_cap ") + """ | + | """ + self.style.text("76 Set dev power profile. Api: amdsmi_dev_set_power_profile ") + """ | + | """ + self.style.text("77 Close dev supported func iterator. Api: amdsmi_dev_close_supported_func_iterator ") + """ | + | """ + self.style.text("78 Pen dev supported func iterator. Api: amdsmi_dev_open_supported_func_iterator ") + """ | + | """ + self.style.text("79 Get func iter next. Api: amdsmi_next_func_iter ") + """ | | """ + self.style.text("80 Get power cap info. Api: amdsmi_get_power_cap_info ") + """ | | """ + self.style.text("81 Get xgmi info. Api: amdsmi_get_xgmi_info ") + """ | +=========================================================================================================================+""" @@ -377,13 +377,13 @@ class Formatter: ############################################## def amdsmi_tool_dev_power_ave_get(dev, dic): sensor_id = dic["sensor_id"] - return smi_api.amdsmi_dev_power_ave_get(dev, ctypes.c_uint32(sensor_id)) + return smi_api.amdsmi_dev_get_power_ave(dev, ctypes.c_uint32(sensor_id)) def amdsmi_tool_dev_memory_total_get(dev): result = {} for memory_type in smi_api.AmdSmiMemoryType: try: - value = smi_api.amdsmi_dev_memory_total_get(dev, memory_type) + value = smi_api.amdsmi_dev_get_memory_total(dev, memory_type) result.update({memory_type.name: value}) except smi_api.AmdSmiException as e: print("{}:\t{}".format(memory_type.name, e)) @@ -394,7 +394,7 @@ def amdsmi_tool_dev_memory_usage_get(dev): result = {} for memory_type in smi_api.AmdSmiMemoryType: try: - value = smi_api.amdsmi_dev_memory_usage_get(dev, memory_type) + value = smi_api.amdsmi_dev_get_memory_usage(dev, memory_type) result.update({memory_type.name: value}) except smi_api.AmdSmiException as e: print("{}:\t{}".format(memory_type.name, e)) @@ -403,22 +403,22 @@ def amdsmi_tool_dev_memory_usage_get(dev): def amdsmi_tool_dev_fan_rpms_get(dev, dic): sensor_idx = dic["sensor_idx"] - return smi_api.amdsmi_dev_fan_rpms_get(dev, sensor_idx) + return smi_api.amdsmi_dev_get_fan_rpms(dev, sensor_idx) def amdsmi_tool_dev_fan_speed_get(dev, dic): sensor_idx = dic["sensor_idx"] - return smi_api.amdsmi_dev_fan_speed_get(dev, sensor_idx) + return smi_api.amdsmi_dev_get_fan_speed(dev, sensor_idx) def amdsmi_tool_dev_fan_speed_max_get(dev, dic): sensor_idx = dic["sensor_idx"] - return smi_api.amdsmi_dev_fan_speed_max_get(dev, sensor_idx) + return smi_api.amdsmi_dev_get_fan_speed_max(dev, sensor_idx) def amdsmi_tool_dev_temp_metric_get(dev): result = {} for temperature_type in smi_api.AmdSmiTemperatureType: for temperature_metric in smi_api.AmdSmiTemperatureMetric: try: - value = smi_api.amdsmi_dev_temp_metric_get(dev, temperature_type, temperature_metric) + value = smi_api. amdsmi_dev_get_temp_metric(dev, temperature_type, temperature_metric) result.update({"AmdSmiTemperatureType: " + temperature_type.name + ", AmdSmiTemperatureMetric: " + temperature_metric.name: value}) except smi_api.AmdSmiException as e: print("{},{}:\t{}".format(temperature_type.name, temperature_metric.name, e)) @@ -430,7 +430,7 @@ def amdsmi_tool_dev_volt_metric_get(dev): for voltage_type in smi_api.AmdSmiVoltageType: for voltage_metric in smi_api.AmdSmiVoltageMetric: try: - value = smi_api.amdsmi_dev_volt_metric_get(dev, voltage_type, voltage_metric) + value = smi_api. amdsmi_dev_get_volt_metric(dev, voltage_type, voltage_metric) result.update({"AmdSmiVoltageType: " + voltage_type.name + ", AmdSmiVoltageMetric: " + voltage_metric.name: value}) except smi_api.AmdSmiException as e: print("{},{}:\t{}".format(voltage_type.name, voltage_metric.name, e)) @@ -441,7 +441,7 @@ def amdsmi_tool_utilization_count_get(dev): result = {} for counter_type in smi_api.AmdSmiUtilizationCounterType: try: - value = smi_api.amdsmi_utilization_count_get(dev, counter_type) + value = smi_api.amdsmi_get_utilization_count(dev, counter_type) result.update({counter_type.name: value}) except smi_api.AmdSmiException as e: print("{}:\t{}".format(counter_type.name, e)) @@ -450,17 +450,17 @@ def amdsmi_tool_utilization_count_get(dev): def amdsmi_tool_perf_determinism_mode_set(dev, dic): clock_value = dic["clock_value"] - return smi_api.amdsmi_perf_determinism_mode_set(dev, clock_value) + return smi_api.amdsmi_set_perf_determinism_mode(dev, clock_value) def amdsmi_tool_dev_power_profile_presets_get(dev, dic): sensor_idx = dic["sensor_idx"] - return smi_api.amdsmi_dev_power_profile_presets_get(dev, sensor_idx) + return smi_api. amdsmi_dev_get_power_profile_presets(dev, sensor_idx) def amdsmi_tool_version_str_get(): result = {} for sw_component in smi_api.AmdSmiSwComponent: try: - value = smi_api.amdsmi_version_str_get(sw_component) + value = smi_api.amdsmi_get_version_str(sw_component) result.update({sw_component.name: value}) except smi_api.AmdSmiException as e: print("{}:\t{}".format(sw_component.name, e)) @@ -469,31 +469,31 @@ def amdsmi_tool_version_str_get(): def amdsmi_tool_dev_fan_reset(dev, dic): sensor_idx = dic["sensor_idx"] - return smi_api.amdsmi_dev_fan_reset(dev, sensor_idx) + return smi_api.amdsmi_dev_reset_fan(dev, sensor_idx) def amdsmi_tool_dev_fan_speed_set(dev, dic): sensor_idx = dic["sensor_idx"] fan_speed = dic["fan_speed"] - return smi_api.amdsmi_dev_fan_speed_set(dev, sensor_idx, fan_speed) + return smi_api.amdsmi_dev_set_fan_speed(dev, sensor_idx, fan_speed) def amdsmi_tool_dev_overdrive_level_set(dev, dic): overdrive_value = dic["overdrive_value"] - return smi_api.amdsmi_dev_overdrive_level_set(dev, overdrive_value) + return smi_api. amdsmi_dev_set_overdrive_level(dev, overdrive_value) def amdsmi_tool_dev_overdrive_level_set_v1(dev, dic): overdrive_value = dic["overdrive_value"] - return smi_api.amdsmi_dev_overdrive_level_set(dev, overdrive_value) + return smi_api. amdsmi_dev_set_overdrive_level(dev, overdrive_value) def amdsmi_tool_dev_pci_bandwidth_set(dev, dic): bitmask = dic["bitmask"] - return smi_api.amdsmi_dev_pci_bandwidth_set(dev, bitmask) + return smi_api. amdsmi_dev_set_pci_bandwidth(dev, bitmask) def amdsmi_tool_dev_gpu_clk_freq_get(dev): result = {} for clock_type in smi_api.AmdSmiClockType: try: - value = smi_api.amdsmi_dev_gpu_clk_freq_get(dev, clock_type) + value = smi_api. amdsmi_dev_get_gpu_clk_freq(dev, clock_type) result.update({clock_type.name: value}) except smi_api.AmdSmiException as e: print("{}:\t{}".format(clock_type.name, e)) @@ -502,14 +502,14 @@ def amdsmi_tool_dev_gpu_clk_freq_get(dev): def amdsmi_tool_dev_od_volt_curve_regions_get(dev, dic): num_regions = dic["num_regions"] - return smi_api.amdsmi_dev_od_volt_curve_regions_get(dev, num_regions) + return smi_api. amdsmi_dev_get_od_volt_curve_regions(dev, num_regions) def amdsmi_tool_dev_ecc_count_get(dev): result = {} for gpu_block in smi_api.AmdSmiGpuBlock: try: - value = smi_api.amdsmi_dev_ecc_count_get(dev, gpu_block) + value = smi_api. amdsmi_dev_get_ecc_count(dev, gpu_block) result.update({gpu_block.name: value}) except smi_api.AmdSmiException as e: print("{}:\t{}".format(gpu_block.name, e)) @@ -520,7 +520,7 @@ def amdsmi_tool_dev_ecc_status_get(dev): result = {} for gpu_block in smi_api.AmdSmiGpuBlock: try: - value = smi_api.amdsmi_dev_ecc_status_get(dev, gpu_block) + value = smi_api. amdsmi_dev_get_ecc_status(dev, gpu_block) result.update({gpu_block.name: value}) except smi_api.AmdSmiException as e: print("{}:\t{}".format(gpu_block.name, e)) @@ -533,17 +533,17 @@ def amdsmi_tool_status_string(dic): def amdsmi_tool_compute_process_gpus_get(dic): pid = dic["pid"] - return smi_api.amdsmi_compute_process_gpus_get(pid) + return smi_api.amdsmi_get_compute_process_gpus(pid) def amdsmi_tool_compute_process_info_by_pid_get(dic): pid = dic["pid"] - return smi_api.amdsmi_compute_process_info_by_pid_get(pid) + return smi_api.amdsmi_get_compute_process_info_by_pid(pid) def amdsmi_tool_topo_get_link_weight(dev): return smi_api.amdsmi_topo_get_link_weight(dev[0], dev[1]) def amdsmi_tool_minmax_bandwidth_get(dev): - return smi_api.amdsmi_minmax_bandwidth_get(dev[0], dev[1]) + return smi_api. amdsmi_get_minmax_bandwidth(dev[0], dev[1]) def amdsmi_tool_topo_get_link_type(dev): return smi_api.amdsmi_topo_get_link_type(dev[0], dev[1]) @@ -564,14 +564,14 @@ def amdsmi_tool_event_notification_get(dev): return result def amdsmi_tool_event_notification_init(dev): - return smi_api.amdsmi_wrapper.amdsmi_event_notification_init(dev) + return smi_api.amdsmi_wrapper.amdsmi_init_event_notification(dev) def amdsmi_tool_event_notification_mask_set(dev, dic): mask = dic["mask"] - return smi_api.amdsmi_wrapper.amdsmi_event_notification_mask_set(dev, ctypes.c_uint64(mask)) + return smi_api.amdsmi_wrapper. amdsmi_set_event_notification_mask(dev, ctypes.c_uint64(mask)) def amdsmi_tool_event_notification_stop(dev): - return smi_api.amdsmi_wrapper.amdsmi_event_notification_stop(dev) + return smi_api.amdsmi_wrapper.amdsmi_stop_event_notification(dev) def amdsmi_tool_shut_down(): smi_api.amdsmi_init() @@ -582,7 +582,7 @@ def amdsmi_tool_counter_available_counters_get(dev): result = {} for event_group in smi_api.AmdSmiEventGroup: try: - value = smi_api.amdsmi_counter_available_counters_get(dev, event_group) + value = smi_api. amdsmi_counter_get_available_counters(dev, event_group) result.update({event_group.name: value}) except smi_api.AmdSmiException as e: print("{}:\t{}".format(event_group.name, e)) @@ -594,8 +594,8 @@ def amdsmi_tool_counter_control(dev): for event_type in smi_api.AmdSmiEventType: for counter_command in smi_api.AmdSmiCounterCommand: try: - event_handle = smi_api.amdsmi_dev_counter_create(dev, event_type) - value = smi_api.amdsmi_counter_control(event_handle, counter_command) + event_handle = smi_api.amdsmi_dev_create_counter(dev, event_type) + value = smi_api.amdsmi_control_counter(event_handle, counter_command) result.update({event_type.name: value}) except smi_api.AmdSmiException as e: print("{}:\t{}".format(event_type.name, e)) @@ -606,8 +606,8 @@ def amdsmi_tool_counter_read(dev): result = {} for event_type in smi_api.AmdSmiEventType: try: - event_handle = smi_api.amdsmi_dev_counter_create(dev, event_type) - value = smi_api.amdsmi_counter_read(event_handle) + event_handle = smi_api.amdsmi_dev_create_counter(dev, event_type) + value = smi_api.amdsmi_read_counter(event_handle) result.update({event_type.name: value}) except smi_api.AmdSmiException as e: print("{}:\t{}".format(event_type.name, e)) @@ -620,7 +620,7 @@ def amdsmi_tool_dev_clk_range_set(dev, dic): max_clk = dic["max_clk"] for clock_type in smi_api.AmdSmiClockType: try: - value = smi_api.amdsmi_dev_clk_range_set(dev, min_clk, max_clk, clock_type) + value = smi_api.amdsmi_dev_set_clk_range(dev, min_clk, max_clk, clock_type) result.update({clock_type.name: value}) except smi_api.AmdSmiException as e: print("{}:\t{}".format(clock_type.name, e)) @@ -643,7 +643,7 @@ def amdsmi_tool_dev_gpu_clk_freq_set(dev, dic): freq_bitmask = dic["freq_bitmask"] for clock_type in smi_api.AmdSmiClockType: try: - value = smi_api.amdsmi_dev_gpu_clk_freq_set(dev, clock_type, freq_bitmask) + value = smi_api. amdsmi_dev_set_clk_freq(dev, clock_type, freq_bitmask) result.update({clock_type.name: value}) except smi_api.AmdSmiException as e: print("{}:\t{}".format(clock_type.name, e)) @@ -656,7 +656,7 @@ def amdsmi_tool_dev_od_clk_info_set(dev, dic): for freq_ind in smi_api.AmdSmiFreqInd: for clock_type in smi_api.AmdSmiClockType: try: - value = smi_api.amdsmi_dev_od_clk_info_set(dev, freq_ind, value, clock_type) + value = smi_api. amdsmi_dev_set_od_clk_info(dev, freq_ind, value, clock_type) result.update({"AmdSmiFreqInd: " + freq_ind.name + ", AmdSmiClockType: " + clock_type.name: value}) except smi_api.AmdSmiException as e: print("{},{}:\t{}".format(freq_ind.name, clock_type.name, e)) @@ -667,13 +667,13 @@ def amdsmi_tool_dev_od_volt_info_set(dev, dic): vpoint = dic["vpoint"] clk_value = dic["clk_value"] volt_value = dic["volt_value"] - return smi_api.amdsmi_dev_od_volt_info_set(dev, vpoint, clk_value, volt_value) + return smi_api. amdsmi_dev_set_od_volt_info(dev, vpoint, clk_value, volt_value) def amdsmi_tool_dev_perf_level_set(dev): result = {} for dev_perf_level in smi_api.AmdSmiDevPerfLevel: try: - value = smi_api.amdsmi_dev_perf_level_set(dev, dev_perf_level) + value = smi_api. amdsmi_dev_set_perf_level(dev, dev_perf_level) result.update({dev_perf_level.name: value}) except smi_api.AmdSmiException as e: print("{}:\t{}".format(dev_perf_level.name, e)) @@ -684,7 +684,7 @@ def amdsmi_tool_dev_perf_level_set_v1(dev): result = {} for dev_perf_level in smi_api.AmdSmiDevPerfLevel: try: - value = smi_api.amdsmi_dev_perf_level_set_v1(dev, dev_perf_level) + value = smi_api. amdsmi_dev_set_perf_level_v1(dev, dev_perf_level) result.update({dev_perf_level.name: value}) except smi_api.AmdSmiException as e: print("{}:\t{}".format(dev_perf_level.name, e)) @@ -694,14 +694,14 @@ def amdsmi_tool_dev_perf_level_set_v1(dev): def amdsmi_tool_dev_power_cap_set(dev, dic): sensor_ind = dic["sensor_ind"] cap = dic["cap"] - return smi_api.amdsmi_dev_power_cap_set(dev, sensor_ind, cap) + return smi_api. amdsmi_dev_set_power_cap(dev, sensor_ind, cap) def amdsmi_tool_dev_power_profile_set(dev, dic): result = {} reserved = dic["reserved"] for power_profile_preset_maks in smi_api.AmdSmiPowerProfilePresetMasks: try: - value = smi_api.amdsmi_dev_power_profile_set(dev, reserved, power_profile_preset_maks) + value = smi_api. amdsmi_dev_set_power_profile(dev, reserved, power_profile_preset_maks) result.update({power_profile_preset_maks.name: value}) except smi_api.AmdSmiException as e: print("{}:\t{}".format(power_profile_preset_maks.name, e)) @@ -709,12 +709,12 @@ def amdsmi_tool_dev_power_profile_set(dev, dic): return result def amdsmi_tool_dev_supported_func_iterator_close(dev): - obj_handle = smi_api.amdsmi_dev_supported_func_iterator_open(dev) - return smi_api.amdsmi_dev_supported_func_iterator_close(obj_handle) + obj_handle = smi_api.amdsmi_dev_open_supported_func_iterator(dev) + return smi_api.amdsmi_dev_close_supported_func_iterator(obj_handle) def amdsmi_tool_func_iter_next(dev): - obj_handle = smi_api.amdsmi_dev_supported_func_iterator_open(dev) - return smi_api.amdsmi_func_iter_next(obj_handle) + obj_handle = smi_api.amdsmi_dev_open_supported_func_iterator(dev) + return smi_api.amdsmi_next_func_iter(obj_handle) ############################################## # command table @@ -722,44 +722,44 @@ def amdsmi_tool_func_iter_next(dev): commands = { # idx: [func, {arg_name : [arg_type, is_arg_obligatory]}] - 1: [smi_api.amdsmi_dev_vendor_name_get, { + 1: [smi_api.amdsmi_dev_get_vendor_name, { "device_identifier1": [None, True] }], - 2: [smi_api.amdsmi_dev_id_get, { + 2: [smi_api.amdsmi_dev_get_id, { "device_identifier1": [None, True] }], - 3: [smi_api.amdsmi_dev_vram_vendor_get, { + 3: [smi_api.amdsmi_dev_get_vram_vendor, { "device_identifier1": [None, True] }], - 4: [smi_api.amdsmi_dev_drm_render_minor_get, { + 4: [smi_api.amdsmi_dev_get_drm_render_minor, { "device_identifier1": [None, True] }], - 5: [smi_api.amdsmi_dev_subsystem_id_get, { + 5: [smi_api.amdsmi_dev_get_subsystem_id, { "device_identifier1": [None, True] }], - 6: [smi_api.amdsmi_dev_subsystem_name_get, { + 6: [smi_api.amdsmi_dev_get_subsystem_name, { "device_identifier1": [None, True] }], - 7: [smi_api.amdsmi_dev_pci_id_get, { + 7: [smi_api.amdsmi_dev_get_pci_id, { "device_identifier1": [None, True] }], - 8: [smi_api.amdsmi_dev_pci_bandwidth_get, { + 8: [smi_api.amdsmi_dev_get_pci_bandwidth, { "device_identifier1": [None, True] }], - 9: [smi_api.amdsmi_dev_pci_throughput_get, { + 9: [smi_api.amdsmi_dev_get_pci_throughput, { "device_identifier1": [None, True] }], - 10: [smi_api.amdsmi_dev_pci_replay_counter_get, { + 10: [smi_api. amdsmi_dev_get_pci_replay_counter, { "device_identifier1": [None, True] }], - 11: [smi_api.amdsmi_topo_numa_affinity_get, { + 11: [smi_api.amdsmi_topo_get_numa_affinity, { "device_identifier1": [None, True] }], 12: [amdsmi_tool_dev_power_ave_get, { "device_identifier1": [None, True], "sensor_id": [int, True] }], - 13: [smi_api.amdsmi_dev_energy_count_get, { + 13: [smi_api.amdsmi_dev_get_energy_count, { "device_identifier1": [None, True] }], 14: [amdsmi_tool_dev_memory_total_get, { @@ -768,10 +768,10 @@ commands = { 15: [amdsmi_tool_dev_memory_usage_get, { "device_identifier1": [None, True] }], - 16: [smi_api.amdsmi_dev_memory_busy_percent_get, { + 16: [smi_api.amdsmi_dev_get_memory_busy_percent, { "device_identifier1": [None, True] }], - 17: [smi_api.amdsmi_dev_memory_reserved_pages_get, { + 17: [smi_api.amdsmi_dev_get_memory_reserved_pages, { "device_identifier1": [None, True] }], 18: [amdsmi_tool_dev_fan_rpms_get, { @@ -792,29 +792,29 @@ commands = { 22: [amdsmi_tool_dev_volt_metric_get, { "device_identifier1": [None, True], }], - 23: [smi_api.amdsmi_dev_busy_percent_get, { + 23: [smi_api.amdsmi_dev_get_busy_percent, { "device_identifier1": [None, True] }], 24: [amdsmi_tool_utilization_count_get, { "device_identifier1": [None, True], }], - 25: [smi_api.amdsmi_dev_perf_level_get, { + 25: [smi_api.amdsmi_dev_get_perf_level, { "device_identifier1": [None, True] }], 26: [amdsmi_tool_perf_determinism_mode_set, { "device_identifier1": [None, True], "clock_value": [int, True] }], - 27: [smi_api.amdsmi_dev_overdrive_level_get, { + 27: [smi_api.amdsmi_dev_get_overdrive_level, { "device_identifier1": [None, True] }], 28: [amdsmi_tool_dev_gpu_clk_freq_get, { "device_identifier1": [None, True] }], - 29: [smi_api.amdsmi_dev_od_volt_info_get, { + 29: [smi_api. amdsmi_dev_get_od_volt_info, { "device_identifier1": [None, True] }], - 30: [smi_api.amdsmi_dev_gpu_metrics_info_get, { + 30: [smi_api. amdsmi_dev_get_gpu_metrics_info, { "device_identifier1": [None, True] }], 31: [amdsmi_tool_dev_od_volt_curve_regions_get, { @@ -825,12 +825,12 @@ commands = { "device_identifier1": [None, True], "sensor_idx": [int, True] }], - 33: [smi_api.amdsmi_version_get, {}], + 33: [smi_api.amdsmi_get_version, {}], 34: [amdsmi_tool_version_str_get, {}], 35: [amdsmi_tool_dev_ecc_count_get, { "device_identifier1": [None, True] }], - 36: [smi_api.amdsmi_dev_ecc_enabled_get, { + 36: [smi_api. amdsmi_dev_get_ecc_enabled, { "device_identifier1": [None, True] }], 37: [amdsmi_tool_dev_ecc_status_get, { @@ -839,7 +839,7 @@ commands = { 38: [amdsmi_tool_status_string, { "status": [int, True] }], - 39: [smi_api.amdsmi_compute_process_info_get, {}], + 39: [smi_api.amdsmi_get_compute_process_info, {}], 40: [amdsmi_tool_compute_process_info_by_pid_get, { "pid": [int, True] }], @@ -849,7 +849,7 @@ commands = { 42: [smi_api.amdsmi_dev_xgmi_error_status, { "device_identifier1": [None, True] }], - 43: [smi_api.amdsmi_dev_xgmi_error_reset, { + 43: [smi_api.amdsmi_dev_reset_xgmi_error, { "device_identifier1": [None, True] }], 44: [smi_api.amdsmi_topo_get_numa_node_number, { @@ -926,7 +926,7 @@ commands = { "device_identifier1": [None, True], "freq_bitmask": [int, True] }], - 67: [smi_api.amdsmi_dev_gpu_reset, { + 67: [smi_api.amdsmi_dev_reset_gpu, { "device_identifier1": [None, True] }], 68: [amdsmi_tool_dev_od_clk_info_set, { @@ -969,7 +969,7 @@ commands = { 77: [amdsmi_tool_dev_supported_func_iterator_close, { "device_identifier1": [None, True] }], - 78: [smi_api.amdsmi_dev_supported_func_iterator_open, { + 78: [smi_api.amdsmi_dev_open_supported_func_iterator, { "device_identifier1": [None, True] }], 79: [amdsmi_tool_func_iter_next, { diff --git a/src/amd_smi/amd_smi.cc b/src/amd_smi/amd_smi.cc index c49f8520c7..00abc9bc52 100644 --- a/src/amd_smi/amd_smi.cc +++ b/src/amd_smi/amd_smi.cc @@ -306,7 +306,7 @@ amdsmi_status_t amdsmi_get_board_info(amdsmi_device_handle device_handle, amdsmi return AMDSMI_STATUS_SUCCESS; } -amdsmi_status_t amdsmi_dev_temp_metric_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_temp_metric(amdsmi_device_handle device_handle, uint32_t sensor_type, amdsmi_temperature_metric_t metric, int64_t *temperature) { if (temperature == nullptr) { @@ -316,7 +316,7 @@ amdsmi_status_t amdsmi_dev_temp_metric_get(amdsmi_device_handle device_handle, // Get the PLX temperature from the gpu_metrics if (sensor_type == TEMPERATURE_TYPE_PLX) { amdsmi_gpu_metrics_t metric_info; - auto r_status = amdsmi_dev_gpu_metrics_info_get( + auto r_status = amdsmi_dev_get_gpu_metrics_info( device_handle, &metric_info); if (r_status != AMDSMI_STATUS_SUCCESS) return r_status; @@ -450,36 +450,36 @@ amdsmi_status_t amdsmi_get_caps_info(amdsmi_device_handle device_handle, return AMDSMI_STATUS_SUCCESS; } -amdsmi_status_t amdsmi_dev_fan_rpms_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_fan_rpms(amdsmi_device_handle device_handle, uint32_t sensor_ind, int64_t *speed) { return rsmi_wrapper(rsmi_dev_fan_rpms_get, device_handle, sensor_ind, speed); } -amdsmi_status_t amdsmi_dev_fan_speed_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_fan_speed(amdsmi_device_handle device_handle, uint32_t sensor_ind, int64_t *speed) { return rsmi_wrapper(rsmi_dev_fan_speed_get, device_handle, sensor_ind, speed); } -amdsmi_status_t amdsmi_dev_fan_speed_max_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_fan_speed_max(amdsmi_device_handle device_handle, uint32_t sensor_ind, uint64_t *max_speed) { return rsmi_wrapper(rsmi_dev_fan_speed_max_get, device_handle, sensor_ind, max_speed); } -amdsmi_status_t amdsmi_dev_fan_reset(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_reset_fan(amdsmi_device_handle device_handle, uint32_t sensor_ind) { return rsmi_wrapper(rsmi_dev_fan_reset, device_handle, sensor_ind); } -amdsmi_status_t amdsmi_dev_fan_speed_set(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_set_fan_speed(amdsmi_device_handle device_handle, uint32_t sensor_ind, uint64_t speed) { return rsmi_wrapper(rsmi_dev_fan_speed_set, device_handle, sensor_ind, speed); } -amdsmi_status_t amdsmi_dev_id_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_id(amdsmi_device_handle device_handle, uint16_t *id) { return rsmi_wrapper(rsmi_dev_id_get, device_handle, id); } @@ -588,40 +588,40 @@ amdsmi_get_asic_info(amdsmi_device_handle device_handle, amdsmi_asic_info_t *inf } -amdsmi_status_t amdsmi_dev_subsystem_id_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_subsystem_id(amdsmi_device_handle device_handle, uint16_t *id) { return rsmi_wrapper(rsmi_dev_subsystem_id_get, device_handle, id); } -amdsmi_status_t amdsmi_dev_subsystem_name_get( +amdsmi_status_t amdsmi_dev_get_subsystem_name( amdsmi_device_handle device_handle, char *name, size_t len) { return rsmi_wrapper(rsmi_dev_subsystem_name_get, device_handle, name, len); } -amdsmi_status_t amdsmi_dev_vendor_name_get( +amdsmi_status_t amdsmi_dev_get_vendor_name( amdsmi_device_handle device_handle, char *name, size_t len) { return rsmi_wrapper(rsmi_dev_vendor_name_get, device_handle, name, len); } -amdsmi_status_t amdsmi_dev_vram_vendor_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_vram_vendor(amdsmi_device_handle device_handle, char *brand, uint32_t len) { return rsmi_wrapper(rsmi_dev_vram_vendor_get, device_handle, brand, len); } amdsmi_status_t -amdsmi_event_notification_init(amdsmi_device_handle device_handle) { +amdsmi_init_event_notification(amdsmi_device_handle device_handle) { return rsmi_wrapper(rsmi_event_notification_init, device_handle); } amdsmi_status_t -amdsmi_event_notification_mask_set(amdsmi_device_handle device_handle, + amdsmi_set_event_notification_mask(amdsmi_device_handle device_handle, uint64_t mask) { return rsmi_wrapper(rsmi_event_notification_mask_set, device_handle, mask); } amdsmi_status_t -amdsmi_event_notification_get(int timeout_ms, + amdsmi_get_event_notification(int timeout_ms, uint32_t *num_elem, amdsmi_evt_notification_data_t *data) { if (num_elem == nullptr || data == nullptr) { return AMDSMI_STATUS_INVAL; @@ -650,7 +650,7 @@ amdsmi_event_notification_get(int timeout_ms, return AMDSMI_STATUS_SUCCESS; } -amdsmi_status_t amdsmi_event_notification_stop( +amdsmi_status_t amdsmi_stop_event_notification( amdsmi_device_handle device_handle) { return rsmi_wrapper(rsmi_event_notification_stop, device_handle); } @@ -661,20 +661,20 @@ amdsmi_status_t amdsmi_dev_counter_group_supported( static_cast(group)); } -amdsmi_status_t amdsmi_dev_counter_create(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_create_counter(amdsmi_device_handle device_handle, amdsmi_event_type_t type, amdsmi_event_handle_t *evnt_handle) { return rsmi_wrapper(rsmi_dev_counter_create, device_handle, static_cast(type), static_cast(evnt_handle)); } -amdsmi_status_t amdsmi_dev_counter_destroy(amdsmi_event_handle_t evnt_handle) { +amdsmi_status_t amdsmi_dev_destroy_counter(amdsmi_event_handle_t evnt_handle) { rsmi_status_t r = rsmi_dev_counter_destroy( static_cast(evnt_handle)); return rsmi_to_amdsmi_status(r); } -amdsmi_status_t amdsmi_counter_control(amdsmi_event_handle_t evt_handle, +amdsmi_status_t amdsmi_control_counter(amdsmi_event_handle_t evt_handle, amdsmi_counter_command_t cmd, void *cmd_args) { rsmi_status_t r = rsmi_counter_control( static_cast(evt_handle), @@ -683,7 +683,7 @@ amdsmi_status_t amdsmi_counter_control(amdsmi_event_handle_t evt_handle, } amdsmi_status_t -amdsmi_counter_read(amdsmi_event_handle_t evt_handle, +amdsmi_read_counter(amdsmi_event_handle_t evt_handle, amdsmi_counter_value_t *value) { rsmi_status_t r = rsmi_counter_read( static_cast(evt_handle), @@ -692,7 +692,7 @@ amdsmi_counter_read(amdsmi_event_handle_t evt_handle, } amdsmi_status_t -amdsmi_counter_available_counters_get(amdsmi_device_handle device_handle, + amdsmi_counter_get_available_counters(amdsmi_device_handle device_handle, amdsmi_event_group_t grp, uint32_t *available) { return rsmi_wrapper(rsmi_counter_available_counters_get, device_handle, static_cast(grp), @@ -721,7 +721,7 @@ amdsmi_topo_get_link_weight(amdsmi_device_handle device_handle_src, amdsmi_devic } amdsmi_status_t -amdsmi_minmax_bandwidth_get(amdsmi_device_handle device_handle_src, amdsmi_device_handle device_handle_dst, + amdsmi_get_minmax_bandwidth(amdsmi_device_handle device_handle_src, amdsmi_device_handle device_handle_dst, uint64_t *min_bandwidth, uint64_t *max_bandwidth) { amd::smi::AMDSmiGPUDevice* src_device = nullptr; amd::smi::AMDSmiGPUDevice* dst_device = nullptr; @@ -785,12 +785,12 @@ amdsmi_dev_xgmi_error_status(amdsmi_device_handle device_handle, amdsmi_xgmi_sta } amdsmi_status_t -amdsmi_dev_xgmi_error_reset(amdsmi_device_handle device_handle) { +amdsmi_dev_reset_xgmi_error(amdsmi_device_handle device_handle) { return rsmi_wrapper(rsmi_dev_xgmi_error_reset, device_handle); } amdsmi_status_t -amdsmi_dev_supported_func_iterator_open(amdsmi_device_handle device_handle, +amdsmi_dev_open_supported_func_iterator(amdsmi_device_handle device_handle, amdsmi_func_id_iter_handle_t *handle) { if (handle == nullptr) return AMDSMI_STATUS_INVAL; @@ -799,7 +799,7 @@ amdsmi_dev_supported_func_iterator_open(amdsmi_device_handle device_handle, } amdsmi_status_t -amdsmi_dev_supported_variant_iterator_open(amdsmi_func_id_iter_handle_t obj_h, +amdsmi_dev_open_supported_variant_iterator(amdsmi_func_id_iter_handle_t obj_h, amdsmi_func_id_iter_handle_t *var_iter) { if (var_iter == nullptr) return AMDSMI_STATUS_INVAL; @@ -810,14 +810,14 @@ amdsmi_dev_supported_variant_iterator_open(amdsmi_func_id_iter_handle_t obj_h, } amdsmi_status_t -amdsmi_func_iter_next(amdsmi_func_id_iter_handle_t handle) { +amdsmi_next_func_iter(amdsmi_func_id_iter_handle_t handle) { auto r = rsmi_func_iter_next( reinterpret_cast(handle)); return rsmi_to_amdsmi_status(r); } amdsmi_status_t -amdsmi_dev_supported_func_iterator_close(amdsmi_func_id_iter_handle_t *handle) { +amdsmi_dev_close_supported_func_iterator(amdsmi_func_id_iter_handle_t *handle) { if (handle == nullptr) return AMDSMI_STATUS_INVAL; auto r = rsmi_dev_supported_func_iterator_close( @@ -826,74 +826,74 @@ amdsmi_dev_supported_func_iterator_close(amdsmi_func_id_iter_handle_t *handle) { } amdsmi_status_t -amdsmi_func_iter_value_get(amdsmi_func_id_iter_handle_t handle, +amdsmi_get_func_iter_value(amdsmi_func_id_iter_handle_t handle, amdsmi_func_id_value_t *value) { if (value == nullptr) return AMDSMI_STATUS_INVAL; static const std::map rsmi_2_amdsmi = { - {"rsmi_dev_vram_vendor_get", "amdsmi_dev_vram_vendor_get"}, - {"rsmi_dev_id_get", "amdsmi_dev_id_get"}, + {"rsmi_dev_vram_vendor_get", "amdsmi_dev_get_vram_vendor"}, + {"rsmi_dev_id_get", "amdsmi_dev_get_id"}, {"rsmi_dev_vendor_id_get", "amdsmi_get_asic_info"}, {"rsmi_dev_name_get", "amdsmi_get_board_info"}, {"rsmi_dev_sku_get", "amdsmi_get_board_info"}, {"rsmi_dev_brand_get", "amdsmi_get_asic_info"}, - {"rsmi_dev_vendor_name_get", "amdsmi_dev_vendor_name_get"}, + {"rsmi_dev_vendor_name_get", "amdsmi_dev_get_vendor_name"}, {"rsmi_dev_serial_number_get", "amdsmi_get_asic_info"}, - {"rsmi_dev_subsystem_id_get", "amdsmi_dev_subsystem_id_get"}, - {"rsmi_dev_subsystem_name_get", "amdsmi_dev_subsystem_name_get"}, - {"rsmi_dev_drm_render_minor_get", "amdsmi_dev_drm_render_minor_get"}, + {"rsmi_dev_subsystem_id_get", "amdsmi_dev_get_subsystem_id"}, + {"rsmi_dev_subsystem_name_get", "amdsmi_dev_get_subsystem_name"}, + {"rsmi_dev_drm_render_minor_get", "amdsmi_dev_get_drm_render_minor"}, {"rsmi_dev_subsystem_vendor_id_get", "amdsmi_get_asic_info"}, {"rsmi_dev_unique_id_get", "amdsmi_get_board_info"}, - {"rsmi_dev_pci_bandwidth_get", "amdsmi_dev_pci_bandwidth_get"}, - {"rsmi_dev_pci_id_get", "amdsmi_dev_pci_id_get"}, - {"rsmi_dev_pci_throughput_get", "amdsmi_dev_pci_throughput_get"}, - {"rsmi_dev_pci_replay_counter_get", "amdsmi_dev_pci_replay_counter_get"}, - {"rsmi_dev_pci_bandwidth_set", "amdsmi_dev_pci_bandwidth_set"}, - {"rsmi_dev_power_profile_set", "amdsmi_dev_power_profile_set"}, - {"rsmi_dev_memory_busy_percent_get", "amdsmi_dev_memory_busy_percent_get"}, - {"rsmi_dev_busy_percent_get", "amdsmi_dev_busy_percent_get"}, - {"rsmi_dev_memory_reserved_pages_get", "amdsmi_dev_memory_reserved_pages_get"}, - {"rsmi_dev_overdrive_level_get", "amdsmi_dev_overdrive_level_get"}, - {"rsmi_dev_power_profile_presets_get", "amdsmi_dev_power_profile_presets_get"}, - {"rsmi_dev_perf_level_set", "amdsmi_dev_perf_level_set"}, - {"rsmi_dev_perf_level_set_v1", "amdsmi_dev_perf_level_set_v1"}, - {"rsmi_dev_perf_level_get", "amdsmi_dev_perf_level_get"}, - {"rsmi_perf_determinism_mode_set", "amdsmi_perf_determinism_mode_set"}, - {"rsmi_dev_overdrive_level_set", "amdsmi_dev_overdrive_level_set"}, + {"rsmi_dev_pci_bandwidth_get", "amdsmi_dev_get_pci_bandwidth"}, + {"rsmi_dev_pci_id_get", "amdsmi_dev_get_pci_id"}, + {"rsmi_dev_pci_throughput_get", "amdsmi_dev_get_pci_throughput"}, + {"rsmi_dev_pci_replay_counter_get", " amdsmi_dev_get_pci_replay_counter"}, + {"rsmi_dev_pci_bandwidth_set", " amdsmi_dev_set_pci_bandwidth"}, + {"rsmi_dev_power_profile_set", " amdsmi_dev_set_power_profile"}, + {"rsmi_dev_memory_busy_percent_get", "amdsmi_dev_get_memory_busy_percent"}, + {"rsmi_dev_busy_percent_get", "amdsmi_dev_get_busy_percent"}, + {"rsmi_dev_memory_reserved_pages_get", "amdsmi_dev_get_memory_reserved_pages"}, + {"rsmi_dev_overdrive_level_get", "amdsmi_dev_get_overdrive_level"}, + {"rsmi_dev_power_profile_presets_get", " amdsmi_dev_get_power_profile_presets"}, + {"rsmi_dev_perf_level_set", " amdsmi_dev_set_perf_level"}, + {"rsmi_dev_perf_level_set_v1", " amdsmi_dev_set_perf_level_v1"}, + {"rsmi_dev_perf_level_get", "amdsmi_dev_get_perf_level"}, + {"rsmi_perf_determinism_mode_set", "amdsmi_set_perf_determinism_mode"}, + {"rsmi_dev_overdrive_level_set", " amdsmi_dev_set_overdrive_level"}, {"rsmi_dev_vbios_version_get", "amdsmi_get_vbios_info"}, - {"rsmi_dev_od_volt_info_get", "amdsmi_dev_od_volt_info_get"}, - {"rsmi_dev_od_volt_info_set", "amdsmi_dev_od_volt_info_set"}, - {"rsmi_dev_od_volt_curve_regions_get", "amdsmi_dev_od_volt_curve_regions_get"}, - {"rsmi_dev_ecc_enabled_get", "amdsmi_dev_ecc_enabled_get"}, - {"rsmi_dev_ecc_status_get", "amdsmi_dev_ecc_status_get"}, + {"rsmi_dev_od_volt_info_get", " amdsmi_dev_get_od_volt_info"}, + {"rsmi_dev_od_volt_info_set", " amdsmi_dev_set_od_volt_info"}, + {"rsmi_dev_od_volt_curve_regions_get", " amdsmi_dev_get_od_volt_curve_regions"}, + {"rsmi_dev_ecc_enabled_get", " amdsmi_dev_get_ecc_enabled"}, + {"rsmi_dev_ecc_status_get", " amdsmi_dev_get_ecc_status"}, {"rsmi_dev_counter_group_supported", "amdsmi_dev_counter_group_supported"}, - {"rsmi_dev_counter_create", "amdsmi_dev_counter_create"}, + {"rsmi_dev_counter_create", "amdsmi_dev_create_counter"}, {"rsmi_dev_xgmi_error_status", "amdsmi_dev_xgmi_error_status"}, - {"rsmi_dev_xgmi_error_reset", "amdsmi_dev_xgmi_error_reset"}, - {"rsmi_dev_memory_reserved_pages_get", "amdsmi_dev_memory_reserved_pages_get"}, - {"rsmi_topo_numa_affinity_get", "amdsmi_topo_numa_affinity_get"}, - {"rsmi_dev_gpu_metrics_info_get", "amdsmi_dev_gpu_metrics_info_get"}, - {"rsmi_dev_gpu_reset", "amdsmi_dev_gpu_reset"}, - {"rsmi_dev_memory_total_get", "amdsmi_dev_memory_total_get"}, - {"rsmi_dev_memory_usage_get", "amdsmi_dev_memory_usage_get"}, - {"rsmi_dev_gpu_clk_freq_get", "amdsmi_dev_gpu_clk_freq_get"}, - {"rsmi_dev_gpu_clk_freq_set", "amdsmi_dev_gpu_clk_freq_set"}, + {"rsmi_dev_xgmi_error_reset", "amdsmi_dev_reset_xgmi_error"}, + {"rsmi_dev_memory_reserved_pages_get", "amdsmi_dev_get_memory_reserved_pages"}, + {"rsmi_topo_numa_affinity_get", "amdsmi_topo_get_numa_affinity"}, + {"rsmi_dev_gpu_metrics_info_get", " amdsmi_dev_get_gpu_metrics_info"}, + {"rsmi_dev_gpu_reset", "amdsmi_dev_reset_gpu"}, + {"rsmi_dev_memory_total_get", "amdsmi_dev_get_memory_total"}, + {"rsmi_dev_memory_usage_get", "amdsmi_dev_get_memory_usage"}, + {"rsmi_dev_gpu_clk_freq_get", " amdsmi_dev_get_gpu_clk_freq"}, + {"rsmi_dev_gpu_clk_freq_set", " amdsmi_dev_set_clk_freq"}, {"rsmi_dev_firmware_version_get", "amdsmi_get_fw_info"}, - {"rsmi_dev_ecc_count_get", "amdsmi_dev_ecc_count_get"}, - {"rsmi_counter_available_counters_get", "amdsmi_counter_available_counters_get"}, - {"rsmi_dev_power_ave_get", "amdsmi_dev_power_ave_get"}, + {"rsmi_dev_ecc_count_get", " amdsmi_dev_get_ecc_count"}, + {"rsmi_counter_available_counters_get", " amdsmi_counter_get_available_counters"}, + {"rsmi_dev_power_ave_get", "amdsmi_dev_get_power_ave"}, {"rsmi_dev_power_cap_get", "amdsmi_get_power_cap_info"}, {"rsmi_dev_power_cap_default_get", "amdsmi_get_power_cap_info"}, {"rsmi_dev_power_cap_range_get", "amdsmi_get_power_cap_info"}, - {"rsmi_dev_power_cap_set", "amdsmi_dev_power_cap_set"}, - {"rsmi_dev_fan_rpms_get", "amdsmi_dev_fan_rpms_get"}, - {"rsmi_dev_fan_speed_get", "amdsmi_dev_fan_speed_get"}, - {"rsmi_dev_fan_speed_max_get", "amdsmi_dev_fan_speed_max_get"}, - {"rsmi_dev_temp_metric_get", "amdsmi_dev_temp_metric_get"}, - {"rsmi_dev_fan_reset", "amdsmi_dev_fan_reset"}, - {"rsmi_dev_fan_speed_set", "amdsmi_dev_fan_speed_set"}, - {"rsmi_dev_volt_metric_get", "amdsmi_dev_volt_metric_get"} + {"rsmi_dev_power_cap_set", " amdsmi_dev_set_power_cap"}, + {"rsmi_dev_fan_rpms_get", "amdsmi_dev_get_fan_rpms"}, + {"rsmi_dev_fan_speed_get", "amdsmi_dev_get_fan_speed"}, + {"rsmi_dev_fan_speed_max_get", "amdsmi_dev_get_fan_speed_max"}, + {"rsmi_dev_temp_metric_get", " amdsmi_dev_get_temp_metric"}, + {"rsmi_dev_fan_reset", "amdsmi_dev_reset_fan"}, + {"rsmi_dev_fan_speed_set", "amdsmi_dev_set_fan_speed"}, + {"rsmi_dev_volt_metric_get", " amdsmi_dev_get_volt_metric"} }; auto rocm_func_handle = @@ -919,7 +919,7 @@ amdsmi_func_iter_value_get(amdsmi_func_id_iter_handle_t handle, } amdsmi_status_t -amdsmi_compute_process_info_get(amdsmi_process_info_t *procs, uint32_t *num_items) { +amdsmi_get_compute_process_info(amdsmi_process_info_t *procs, uint32_t *num_items) { if (num_items == nullptr) return AMDSMI_STATUS_INVAL; auto r = rsmi_compute_process_info_get( @@ -928,7 +928,7 @@ amdsmi_compute_process_info_get(amdsmi_process_info_t *procs, uint32_t *num_item return rsmi_to_amdsmi_status(r); } -amdsmi_status_t amdsmi_compute_process_info_by_pid_get(uint32_t pid, +amdsmi_status_t amdsmi_get_compute_process_info_by_pid(uint32_t pid, amdsmi_process_info_t *proc) { if (proc == nullptr) return AMDSMI_STATUS_INVAL; @@ -938,7 +938,7 @@ amdsmi_status_t amdsmi_compute_process_info_by_pid_get(uint32_t pid, } amdsmi_status_t -amdsmi_compute_process_gpus_get(uint32_t pid, uint32_t *dv_indices, +amdsmi_get_compute_process_gpus(uint32_t pid, uint32_t *dv_indices, uint32_t *num_devices) { if (dv_indices == nullptr || num_devices == nullptr) return AMDSMI_STATUS_INVAL; @@ -946,7 +946,7 @@ amdsmi_compute_process_gpus_get(uint32_t pid, uint32_t *dv_indices, return rsmi_to_amdsmi_status(r); } -amdsmi_status_t amdsmi_dev_ecc_count_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_ecc_count(amdsmi_device_handle device_handle, amdsmi_gpu_block_t block, amdsmi_error_count_t *ec) { if (ec == nullptr) return AMDSMI_STATUS_INVAL; @@ -954,14 +954,14 @@ amdsmi_status_t amdsmi_dev_ecc_count_get(amdsmi_device_handle device_handle, static_cast(block), reinterpret_cast(ec)); } -amdsmi_status_t amdsmi_dev_ecc_enabled_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_ecc_enabled(amdsmi_device_handle device_handle, uint64_t *enabled_blocks) { if (enabled_blocks == nullptr) return AMDSMI_STATUS_INVAL; return rsmi_wrapper(rsmi_dev_ecc_enabled_get, device_handle, enabled_blocks); } -amdsmi_status_t amdsmi_dev_ecc_status_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_ecc_status(amdsmi_device_handle device_handle, amdsmi_gpu_block_t block, amdsmi_ras_err_state_t *state) { if (state == nullptr) @@ -972,14 +972,14 @@ amdsmi_status_t amdsmi_dev_ecc_status_get(amdsmi_device_handle device_handle, } amdsmi_status_t -amdsmi_dev_busy_percent_get(amdsmi_device_handle device_handle, +amdsmi_dev_get_busy_percent(amdsmi_device_handle device_handle, uint32_t *busy_percent) { if (busy_percent == nullptr) return AMDSMI_STATUS_INVAL; return rsmi_wrapper(rsmi_dev_busy_percent_get, device_handle, busy_percent); } -amdsmi_status_t amdsmi_dev_gpu_metrics_info_get( +amdsmi_status_t amdsmi_dev_get_gpu_metrics_info( amdsmi_device_handle device_handle, amdsmi_gpu_metrics_t *pgpu_metrics) { if (pgpu_metrics == nullptr) @@ -1024,14 +1024,14 @@ amdsmi_get_power_cap_info(amdsmi_device_handle device_handle, } amdsmi_status_t -amdsmi_dev_power_cap_set(amdsmi_device_handle device_handle, + amdsmi_dev_set_power_cap(amdsmi_device_handle device_handle, uint32_t sensor_ind, uint64_t cap) { return rsmi_wrapper(rsmi_dev_power_cap_set, device_handle, sensor_ind, cap); } amdsmi_status_t -amdsmi_dev_power_ave_get(amdsmi_device_handle device_handle, +amdsmi_dev_get_power_ave(amdsmi_device_handle device_handle, uint32_t sensor_ind, uint64_t *power) { if (power == nullptr) return AMDSMI_STATUS_INVAL; @@ -1039,7 +1039,7 @@ amdsmi_dev_power_ave_get(amdsmi_device_handle device_handle, sensor_ind, power); } amdsmi_status_t -amdsmi_dev_power_profile_presets_get(amdsmi_device_handle device_handle, + amdsmi_dev_get_power_profile_presets(amdsmi_device_handle device_handle, uint32_t sensor_ind, amdsmi_power_profile_status_t *status) { if (status == nullptr) @@ -1049,20 +1049,20 @@ amdsmi_dev_power_profile_presets_get(amdsmi_device_handle device_handle, reinterpret_cast(status)); } -amdsmi_status_t amdsmi_perf_determinism_mode_set( +amdsmi_status_t amdsmi_set_perf_determinism_mode( amdsmi_device_handle device_handle, uint64_t clkvalue) { return rsmi_wrapper(rsmi_perf_determinism_mode_set, device_handle, clkvalue); } amdsmi_status_t -amdsmi_dev_power_profile_set(amdsmi_device_handle device_handle, + amdsmi_dev_set_power_profile(amdsmi_device_handle device_handle, uint32_t reserved, amdsmi_power_profile_preset_masks_t profile) { return rsmi_wrapper(rsmi_dev_power_profile_set, device_handle, reserved, static_cast(profile)); } -amdsmi_status_t amdsmi_dev_perf_level_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_perf_level(amdsmi_device_handle device_handle, amdsmi_dev_perf_level_t *perf) { if (perf == nullptr) return AMDSMI_STATUS_INVAL; @@ -1070,33 +1070,33 @@ amdsmi_status_t amdsmi_dev_perf_level_get(amdsmi_device_handle device_handle, reinterpret_cast(perf)); } amdsmi_status_t -amdsmi_dev_perf_level_set(amdsmi_device_handle device_handle, + amdsmi_dev_set_perf_level(amdsmi_device_handle device_handle, amdsmi_dev_perf_level_t perf_lvl) { return rsmi_wrapper(rsmi_dev_perf_level_set, device_handle, static_cast(perf_lvl)); } amdsmi_status_t -amdsmi_dev_perf_level_set_v1(amdsmi_device_handle device_handle, + amdsmi_dev_set_perf_level_v1(amdsmi_device_handle device_handle, amdsmi_dev_perf_level_t perf_lvl) { return rsmi_wrapper(rsmi_dev_perf_level_set_v1, device_handle, static_cast(perf_lvl)); } -amdsmi_status_t amdsmi_dev_pci_bandwidth_set(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_set_pci_bandwidth(amdsmi_device_handle device_handle, uint64_t bw_bitmask) { return rsmi_wrapper(rsmi_dev_pci_bandwidth_set, device_handle, bw_bitmask); } -amdsmi_status_t amdsmi_dev_pci_bandwidth_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_pci_bandwidth(amdsmi_device_handle device_handle, amdsmi_pcie_bandwidth_t *bandwidth) { return rsmi_wrapper(rsmi_dev_pci_bandwidth_get, device_handle, reinterpret_cast(bandwidth)); } // TODO(bliu): other frequencies in amdsmi_clk_type_t -amdsmi_status_t amdsmi_dev_gpu_clk_freq_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_gpu_clk_freq(amdsmi_device_handle device_handle, amdsmi_clk_type_t clk_type, amdsmi_frequencies_t *f) { if (f == nullptr) return AMDSMI_STATUS_INVAL; @@ -1107,7 +1107,7 @@ amdsmi_status_t amdsmi_dev_gpu_clk_freq_get(amdsmi_device_handle device_handle, clk_type == CLK_TYPE_DCLK0 || clk_type == CLK_TYPE_DCLK1 ) { amdsmi_gpu_metrics_t metric_info; - auto r_status = amdsmi_dev_gpu_metrics_info_get( + auto r_status = amdsmi_dev_get_gpu_metrics_info( device_handle, &metric_info); if (r_status != AMDSMI_STATUS_SUCCESS) return r_status; @@ -1138,7 +1138,7 @@ amdsmi_status_t amdsmi_dev_gpu_clk_freq_get(amdsmi_device_handle device_handle, reinterpret_cast(f)); } -amdsmi_status_t amdsmi_dev_gpu_clk_freq_set(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_set_clk_freq(amdsmi_device_handle device_handle, amdsmi_clk_type_t clk_type, uint64_t freq_bitmask) { // Not support the clock type read from gpu_metrics if (clk_type == CLK_TYPE_VCLK0 || @@ -1152,60 +1152,60 @@ amdsmi_status_t amdsmi_dev_gpu_clk_freq_set(amdsmi_device_handle device_handle, static_cast(clk_type), freq_bitmask); } amdsmi_status_t -amdsmi_dev_memory_reserved_pages_get(amdsmi_device_handle device_handle, +amdsmi_dev_get_memory_reserved_pages(amdsmi_device_handle device_handle, uint32_t *num_pages, amdsmi_retired_page_record_t *records) { return rsmi_wrapper(rsmi_dev_memory_reserved_pages_get, device_handle, num_pages, reinterpret_cast(records)); } -amdsmi_status_t amdsmi_dev_memory_total_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_memory_total(amdsmi_device_handle device_handle, amdsmi_memory_type_t mem_type, uint64_t *total) { return rsmi_wrapper(rsmi_dev_memory_total_get, device_handle, static_cast(mem_type), total); } -amdsmi_status_t amdsmi_dev_memory_usage_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_memory_usage(amdsmi_device_handle device_handle, amdsmi_memory_type_t mem_type, uint64_t *used) { return rsmi_wrapper(rsmi_dev_memory_usage_get, device_handle, static_cast(mem_type), used); } -amdsmi_status_t amdsmi_dev_overdrive_level_get( +amdsmi_status_t amdsmi_dev_get_overdrive_level( amdsmi_device_handle device_handle, uint32_t *od) { return rsmi_wrapper(rsmi_dev_overdrive_level_get, device_handle, od); } -amdsmi_status_t amdsmi_dev_overdrive_level_set( +amdsmi_status_t amdsmi_dev_set_overdrive_level( amdsmi_device_handle device_handle, uint32_t od) { return rsmi_wrapper(rsmi_dev_overdrive_level_set, device_handle, od); } -amdsmi_status_t amdsmi_dev_pci_replay_counter_get( +amdsmi_status_t amdsmi_dev_get_pci_replay_counter( amdsmi_device_handle device_handle, uint64_t *counter) { return rsmi_wrapper(rsmi_dev_pci_replay_counter_get, device_handle, counter); } -amdsmi_status_t amdsmi_dev_pci_throughput_get( +amdsmi_status_t amdsmi_dev_get_pci_throughput( amdsmi_device_handle device_handle, uint64_t *sent, uint64_t *received, uint64_t *max_pkt_sz) { return rsmi_wrapper(rsmi_dev_pci_throughput_get, device_handle, sent, received, max_pkt_sz); } -amdsmi_status_t amdsmi_dev_od_volt_info_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_od_volt_info(amdsmi_device_handle device_handle, amdsmi_od_volt_freq_data_t *odv) { return rsmi_wrapper(rsmi_dev_od_volt_info_get, device_handle, reinterpret_cast(odv)); } -amdsmi_status_t amdsmi_dev_od_volt_curve_regions_get( +amdsmi_status_t amdsmi_dev_get_od_volt_curve_regions( amdsmi_device_handle device_handle, uint32_t *num_regions, amdsmi_freq_volt_region_t *buffer) { return rsmi_wrapper(rsmi_dev_od_volt_curve_regions_get, device_handle, num_regions, reinterpret_cast(buffer)); } -amdsmi_status_t amdsmi_dev_volt_metric_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_volt_metric(amdsmi_device_handle device_handle, amdsmi_voltage_type_t sensor_type, amdsmi_voltage_metric_t metric, int64_t *voltage) { return rsmi_wrapper(rsmi_dev_volt_metric_get, device_handle, @@ -1213,7 +1213,7 @@ amdsmi_status_t amdsmi_dev_volt_metric_get(amdsmi_device_handle device_handle, static_cast(metric), voltage); } -amdsmi_status_t amdsmi_dev_od_clk_info_set(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_set_od_clk_info(amdsmi_device_handle device_handle, amdsmi_freq_ind_t level, uint64_t clkvalue, amdsmi_clk_type_t clkType) { @@ -1222,13 +1222,13 @@ amdsmi_status_t amdsmi_dev_od_clk_info_set(amdsmi_device_handle device_handle, static_cast(clkType)); } -amdsmi_status_t amdsmi_dev_od_volt_info_set(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_set_od_volt_info(amdsmi_device_handle device_handle, uint32_t vpoint, uint64_t clkvalue, uint64_t voltvalue) { return rsmi_wrapper(rsmi_dev_od_volt_info_set, device_handle, vpoint, clkvalue, voltvalue); } -amdsmi_status_t amdsmi_dev_clk_range_set(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_set_clk_range(amdsmi_device_handle device_handle, uint64_t minclkvalue, uint64_t maxclkvalue, amdsmi_clk_type_t clkType) { @@ -1237,18 +1237,18 @@ amdsmi_status_t amdsmi_dev_clk_range_set(amdsmi_device_handle device_handle, static_cast(clkType)); } -amdsmi_status_t amdsmi_dev_overdrive_level_set_v1( +amdsmi_status_t amdsmi_dev_set_overdrive_level_v1( amdsmi_device_handle device_handle, uint32_t od) { return rsmi_wrapper(rsmi_dev_overdrive_level_set_v1, device_handle, od); } -amdsmi_status_t amdsmi_dev_gpu_reset(amdsmi_device_handle device_handle) { +amdsmi_status_t amdsmi_dev_reset_gpu(amdsmi_device_handle device_handle) { return rsmi_wrapper(rsmi_dev_gpu_reset, device_handle); } -amdsmi_status_t amdsmi_utilization_count_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_get_utilization_count(amdsmi_device_handle device_handle, amdsmi_utilization_counter_t utilization_counters[], uint32_t count, uint64_t *timestamp) { @@ -1256,38 +1256,38 @@ amdsmi_status_t amdsmi_utilization_count_get(amdsmi_device_handle device_handle, reinterpret_cast(utilization_counters), count, timestamp); } -amdsmi_status_t amdsmi_dev_memory_busy_percent_get( +amdsmi_status_t amdsmi_dev_get_memory_busy_percent( amdsmi_device_handle device_handle, uint32_t *busy_percent) { return rsmi_wrapper(rsmi_dev_memory_busy_percent_get, device_handle, busy_percent); } -amdsmi_status_t amdsmi_dev_energy_count_get(amdsmi_device_handle device_handle, +amdsmi_status_t amdsmi_dev_get_energy_count(amdsmi_device_handle device_handle, uint64_t *power, float *counter_resolution, uint64_t *timestamp) { return rsmi_wrapper(rsmi_dev_energy_count_get, device_handle, power, counter_resolution, timestamp); } -amdsmi_status_t amdsmi_dev_drm_render_minor_get( +amdsmi_status_t amdsmi_dev_get_drm_render_minor( amdsmi_device_handle device_handle, uint32_t *minor) { return rsmi_wrapper(rsmi_dev_drm_render_minor_get, device_handle, minor); } -amdsmi_status_t amdsmi_dev_pci_id_get( +amdsmi_status_t amdsmi_dev_get_pci_id( amdsmi_device_handle device_handle, uint64_t *bdfid) { return rsmi_wrapper(rsmi_dev_pci_id_get, device_handle, bdfid); } -amdsmi_status_t amdsmi_topo_numa_affinity_get( +amdsmi_status_t amdsmi_topo_get_numa_affinity( amdsmi_device_handle device_handle, uint32_t *numa_node) { return rsmi_wrapper(rsmi_topo_numa_affinity_get, device_handle, numa_node); } -amdsmi_status_t amdsmi_version_get(amdsmi_version_t *version) { +amdsmi_status_t amdsmi_get_version(amdsmi_version_t *version) { if (version == nullptr) return AMDSMI_STATUS_INVAL; @@ -1296,7 +1296,7 @@ amdsmi_status_t amdsmi_version_get(amdsmi_version_t *version) { return rsmi_to_amdsmi_status(rstatus); } -amdsmi_status_t amdsmi_version_str_get(amdsmi_sw_component_t component, +amdsmi_status_t amdsmi_get_version_str(amdsmi_sw_component_t component, char *ver_str, uint32_t len) { if (ver_str == nullptr) @@ -1356,7 +1356,7 @@ amdsmi_get_gpu_activity(amdsmi_device_handle device_handle, amdsmi_engine_usage_ amd::smi::AMDSmiGPUDevice* gpu_device = static_cast(device_handle); amdsmi_status_t status; - status = amdsmi_dev_gpu_metrics_info_get(device_handle, &metrics); + status = amdsmi_dev_get_gpu_metrics_info(device_handle, &metrics); if (status != AMDSMI_STATUS_SUCCESS) { return status; } @@ -1401,7 +1401,7 @@ amdsmi_get_clock_measure(amdsmi_device_handle device_handle, amdsmi_clk_type_t c static_cast(device_handle); amdsmi_status_t status; - status = amdsmi_dev_gpu_metrics_info_get(device_handle, &metrics); + status = amdsmi_dev_get_gpu_metrics_info(device_handle, &metrics); if (status != AMDSMI_STATUS_SUCCESS) { return status; } @@ -1512,7 +1512,7 @@ amdsmi_get_temperature_measure(amdsmi_device_handle device_handle, amdsmi_temper amd::smi::AMDSmiGPUDevice* gpu_device = static_cast(device_handle); amdsmi_status_t status; - status = amdsmi_dev_gpu_metrics_info_get(device_handle, &metrics); + status = amdsmi_dev_get_gpu_metrics_info(device_handle, &metrics); if (status != AMDSMI_STATUS_SUCCESS) { return status; } @@ -1673,14 +1673,14 @@ amdsmi_get_power_measure(amdsmi_device_handle device_handle, amdsmi_power_measur static_cast(device_handle); amdsmi_status_t status; - status = amdsmi_dev_gpu_metrics_info_get(device_handle, &metrics); + status = amdsmi_dev_get_gpu_metrics_info(device_handle, &metrics); if (status != AMDSMI_STATUS_SUCCESS) { return status; } int64_t voltage_read = 0; - status = amdsmi_dev_volt_metric_get(device_handle, AMDSMI_VOLT_TYPE_VDDGFX, AMDSMI_VOLT_CURRENT, &voltage_read); + status = amdsmi_dev_get_volt_metric(device_handle, AMDSMI_VOLT_TYPE_VDDGFX, AMDSMI_VOLT_CURRENT, &voltage_read); if (status != AMDSMI_STATUS_SUCCESS) { return status; } @@ -1705,7 +1705,7 @@ amdsmi_get_target_frequency_range(amdsmi_device_handle device_handle, amdsmi_clk amdsmi_status_t status; int min = 0, max = 0; - status = amdsmi_dev_gpu_metrics_info_get(device_handle, &metrics); + status = amdsmi_dev_get_gpu_metrics_info(device_handle, &metrics); if (status != AMDSMI_STATUS_SUCCESS) { return status; } @@ -1802,7 +1802,7 @@ amdsmi_get_pcie_link_status(amdsmi_device_handle device_handle, amdsmi_pcie_info } amdsmi_status_t status = AMDSMI_STATUS_SUCCESS; amdsmi_gpu_metrics_t metric_info = {}; - status = amdsmi_dev_gpu_metrics_info_get( + status = amdsmi_dev_get_gpu_metrics_info( device_handle, &metric_info); if (status != AMDSMI_STATUS_SUCCESS) return status; diff --git a/tests/amd_smi_test/functional/api_support_read.cc b/tests/amd_smi_test/functional/api_support_read.cc index 8b5d686df8..5856ea1b91 100755 --- a/tests/amd_smi_test/functional/api_support_read.cc +++ b/tests/amd_smi_test/functional/api_support_read.cc @@ -106,23 +106,23 @@ void TestAPISupportRead::Run(void) { std::cout << "Supported AMDSMI Functions:" << std::endl; std::cout << "\tVariants (Monitors)" << std::endl; } - err = amdsmi_dev_supported_func_iterator_open(device_handles_[i], &iter_handle); + err = amdsmi_dev_open_supported_func_iterator(device_handles_[i], &iter_handle); CHK_ERR_ASRT(err) while (1) { - err = amdsmi_func_iter_value_get(iter_handle, &value); + err = amdsmi_get_func_iter_value(iter_handle, &value); CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "Function Name: " << value.name << std::endl; } - err = amdsmi_dev_supported_variant_iterator_open(iter_handle, &var_iter); + err = amdsmi_dev_open_supported_variant_iterator(iter_handle, &var_iter); if (err != AMDSMI_STATUS_NO_DATA) { CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\tVariants/Monitors: "; } while (1) { - err = amdsmi_func_iter_value_get(var_iter, &value); + err = amdsmi_get_func_iter_value(var_iter, &value); CHK_ERR_ASRT(err) IF_VERB(STANDARD) { if (value.id == AMDSMI_DEFAULT_VARIANT) { @@ -133,31 +133,31 @@ void TestAPISupportRead::Run(void) { std::cout << " ("; } err = - amdsmi_dev_supported_variant_iterator_open(var_iter, &sub_var_iter); + amdsmi_dev_open_supported_variant_iterator(var_iter, &sub_var_iter); if (err != AMDSMI_STATUS_NO_DATA) { CHK_ERR_ASRT(err) while (1) { - err = amdsmi_func_iter_value_get(sub_var_iter, &value); + err = amdsmi_get_func_iter_value(sub_var_iter, &value); CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << value.id << ", "; } - err = amdsmi_func_iter_next(sub_var_iter); + err = amdsmi_next_func_iter(sub_var_iter); if (err == AMDSMI_STATUS_NO_DATA) { break; } CHK_ERR_ASRT(err) } - err = amdsmi_dev_supported_func_iterator_close(&sub_var_iter); + err = amdsmi_dev_close_supported_func_iterator(&sub_var_iter); CHK_ERR_ASRT(err) } IF_VERB(STANDARD) { std::cout << "), "; } - err = amdsmi_func_iter_next(var_iter); + err = amdsmi_next_func_iter(var_iter); if (err == AMDSMI_STATUS_NO_DATA) { break; @@ -167,21 +167,21 @@ void TestAPISupportRead::Run(void) { IF_VERB(STANDARD) { std::cout << std::endl; } - err = amdsmi_dev_supported_func_iterator_close(&var_iter); + err = amdsmi_dev_close_supported_func_iterator(&var_iter); CHK_ERR_ASRT(err) } - err = amdsmi_func_iter_next(iter_handle); + err = amdsmi_next_func_iter(iter_handle); if (err == AMDSMI_STATUS_NO_DATA) { break; } CHK_ERR_ASRT(err) - // err = amdsmi_dev_supported_variant_iterator_open(iter_handle, &var_iter); + // err = amdsmi_dev_open_supported_variant_iterator(iter_handle, &var_iter); // } - err = amdsmi_dev_supported_func_iterator_close(&iter_handle); + err = amdsmi_dev_close_supported_func_iterator(&iter_handle); CHK_ERR_ASRT(err) } } diff --git a/tests/amd_smi_test/functional/err_cnt_read.cc b/tests/amd_smi_test/functional/err_cnt_read.cc index 5e9d623a34..ca57be0c24 100755 --- a/tests/amd_smi_test/functional/err_cnt_read.cc +++ b/tests/amd_smi_test/functional/err_cnt_read.cc @@ -100,7 +100,7 @@ void TestErrCntRead::Run(void) { for (uint32_t i = 0; i < num_monitor_devs(); ++i) { PrintDeviceHeader(device_handles_[i]); - err = amdsmi_dev_ecc_enabled_get(device_handles_[i], &enabled_mask); + err = amdsmi_dev_get_ecc_enabled(device_handles_[i], &enabled_mask); if (err == AMDSMI_STATUS_NOT_SUPPORTED) { IF_VERB(STANDARD) { std::cout << @@ -108,7 +108,7 @@ void TestErrCntRead::Run(void) { << std::endl; } // Verify api support checking functionality is working - err = amdsmi_dev_ecc_enabled_get(device_handles_[i], nullptr); + err = amdsmi_dev_get_ecc_enabled(device_handles_[i], nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); continue; @@ -116,7 +116,7 @@ void TestErrCntRead::Run(void) { CHK_ERR_ASRT(err) // Verify api support checking functionality is working - err = amdsmi_dev_ecc_enabled_get(device_handles_[i], nullptr); + err = amdsmi_dev_get_ecc_enabled(device_handles_[i], nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); IF_VERB(STANDARD) { @@ -126,7 +126,7 @@ void TestErrCntRead::Run(void) { } for (uint32_t b = AMDSMI_GPU_BLOCK_FIRST; b <= AMDSMI_GPU_BLOCK_LAST; b = b*2) { - err = amdsmi_dev_ecc_status_get(device_handles_[i], static_cast(b), + err = amdsmi_dev_get_ecc_status(device_handles_[i], static_cast(b), &err_state); CHK_ERR_ASRT(err) IF_VERB(STANDARD) { @@ -135,11 +135,11 @@ void TestErrCntRead::Run(void) { " block: " << GetErrStateNameStr(err_state) << std::endl; } // Verify api support checking functionality is working - err = amdsmi_dev_ecc_status_get(device_handles_[i], static_cast(b), + err = amdsmi_dev_get_ecc_status(device_handles_[i], static_cast(b), nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); - err = amdsmi_dev_ecc_count_get(device_handles_[i], static_cast(b), &ec); + err = amdsmi_dev_get_ecc_count(device_handles_[i], static_cast(b), &ec); if (err == AMDSMI_STATUS_NOT_SUPPORTED) { IF_VERB(STANDARD) { @@ -148,7 +148,7 @@ void TestErrCntRead::Run(void) { ": Not supported for this device" << std::endl; } // Verify api support checking functionality is working - err = amdsmi_dev_ecc_count_get(device_handles_[i], static_cast(b), + err = amdsmi_dev_get_ecc_count(device_handles_[i], static_cast(b), nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); @@ -164,7 +164,7 @@ void TestErrCntRead::Run(void) { << std::endl; } // Verify api support checking functionality is working - err = amdsmi_dev_ecc_count_get(device_handles_[i], static_cast(b), + err = amdsmi_dev_get_ecc_count(device_handles_[i], static_cast(b), nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); } diff --git a/tests/amd_smi_test/functional/evt_notif_read_write.cc b/tests/amd_smi_test/functional/evt_notif_read_write.cc index c342ddd8e3..e7f820b1b5 100755 --- a/tests/amd_smi_test/functional/evt_notif_read_write.cc +++ b/tests/amd_smi_test/functional/evt_notif_read_write.cc @@ -109,7 +109,7 @@ void TestEvtNotifReadWrite::Run(void) { } for (dv_ind = 0; dv_ind < num_monitor_devs(); ++dv_ind) { - ret = amdsmi_event_notification_init(device_handles_[dv_ind]); + ret = amdsmi_init_event_notification(device_handles_[dv_ind]); if (ret == AMDSMI_STATUS_NOT_SUPPORTED) { IF_VERB(STANDARD) { std::cout << @@ -119,7 +119,7 @@ void TestEvtNotifReadWrite::Run(void) { return; } ASSERT_EQ(ret, AMDSMI_STATUS_SUCCESS); - ret = amdsmi_event_notification_mask_set(device_handles_[dv_ind], mask); + ret = amdsmi_set_event_notification_mask(device_handles_[dv_ind], mask); ASSERT_EQ(ret, AMDSMI_STATUS_SUCCESS); } @@ -127,7 +127,7 @@ void TestEvtNotifReadWrite::Run(void) { uint32_t num_elem = 10; bool read_again = false; - ret = amdsmi_event_notification_get(10000, &num_elem, data); + ret = amdsmi_get_event_notification(10000, &num_elem, data); if (ret == AMDSMI_STATUS_SUCCESS || ret == AMDSMI_STATUS_INSUFFICIENT_SIZE) { EXPECT_LE(num_elem, 10) << "Expected the number of elements found to be <= buffer size (10)"; @@ -155,13 +155,13 @@ void TestEvtNotifReadWrite::Run(void) { } else { // This should always fail. We want to print out the return code. EXPECT_EQ(ret, AMDSMI_STATUS_SUCCESS) << - "Unexpected return code for amdsmi_event_notification_get()"; + "Unexpected return code for amdsmi_get_event_notification()"; } // In case GPU Pre reset event was collected in the previous read, // read again to get the GPU Post reset event. if (read_again) { - ret = amdsmi_event_notification_get(10000, &num_elem, data); + ret = amdsmi_get_event_notification(10000, &num_elem, data); if (ret == AMDSMI_STATUS_SUCCESS || ret == AMDSMI_STATUS_INSUFFICIENT_SIZE) { EXPECT_LE(num_elem, 10) << "Expected the number of elements found to be <= buffer size (10)"; @@ -186,12 +186,12 @@ void TestEvtNotifReadWrite::Run(void) { } else { // This should always fail. We want to print out the return code. EXPECT_EQ(ret, AMDSMI_STATUS_SUCCESS) << - "Unexpected return code for amdsmi_event_notification_get()"; + "Unexpected return code for amdsmi_get_event_notification()"; } } for (uint32_t dv_ind = 0; dv_ind < num_monitor_devs(); ++dv_ind) { - ret = amdsmi_event_notification_stop(device_handles_[dv_ind]); + ret = amdsmi_stop_event_notification(device_handles_[dv_ind]); ASSERT_EQ(ret, AMDSMI_STATUS_SUCCESS); } } diff --git a/tests/amd_smi_test/functional/fan_read.cc b/tests/amd_smi_test/functional/fan_read.cc index 6571eb1ccd..53ce8322b2 100755 --- a/tests/amd_smi_test/functional/fan_read.cc +++ b/tests/amd_smi_test/functional/fan_read.cc @@ -101,7 +101,7 @@ void TestFanRead::Run(void) { IF_VERB(STANDARD) { std::cout << "\t**Current Fan Speed: "; } - err = amdsmi_dev_fan_speed_get(device_handles_[i], 0, &val_i64); + err = amdsmi_dev_get_fan_speed(device_handles_[i], 0, &val_i64); if (err == AMDSMI_STATUS_NOT_SUPPORTED) { IF_VERB(STANDARD) { std::cout << "\t**" << ": " << @@ -114,30 +114,30 @@ void TestFanRead::Run(void) { // Verify api support checking functionality is working - err = amdsmi_dev_fan_speed_get(device_handles_[i], 0, nullptr); + err = amdsmi_dev_get_fan_speed(device_handles_[i], 0, nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); - err = amdsmi_dev_fan_speed_max_get(device_handles_[i], 0, &val_ui64); + err = amdsmi_dev_get_fan_speed_max(device_handles_[i], 0, &val_ui64); CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << val_i64/static_cast(val_ui64)*100; std::cout << "% ("<< val_i64 << "/" << val_ui64 << ")" << std::endl; } // Verify api support checking functionality is working - err = amdsmi_dev_fan_speed_max_get(device_handles_[i], 0, nullptr); + err = amdsmi_dev_get_fan_speed_max(device_handles_[i], 0, nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); IF_VERB(STANDARD) { std::cout << "\t**Current fan RPMs: "; } - err = amdsmi_dev_fan_rpms_get(device_handles_[i], 0, &val_i64); + err = amdsmi_dev_get_fan_rpms(device_handles_[i], 0, &val_i64); CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << val_i64 << std::endl; } // Verify api support checking functionality is working - err = amdsmi_dev_fan_rpms_get(device_handles_[i], 0, nullptr); + err = amdsmi_dev_get_fan_rpms(device_handles_[i], 0, nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); } } diff --git a/tests/amd_smi_test/functional/fan_read_write.cc b/tests/amd_smi_test/functional/fan_read_write.cc index 33eb5cd3be..ade6fdd04a 100755 --- a/tests/amd_smi_test/functional/fan_read_write.cc +++ b/tests/amd_smi_test/functional/fan_read_write.cc @@ -100,7 +100,7 @@ void TestFanReadWrite::Run(void) { for (uint32_t dv_ind = 0; dv_ind < num_monitor_devs(); ++dv_ind) { PrintDeviceHeader(device_handles_[dv_ind]); - ret = amdsmi_dev_fan_speed_get(device_handles_[dv_ind], 0, &orig_speed); + ret = amdsmi_dev_get_fan_speed(device_handles_[dv_ind], 0, &orig_speed); if (ret == AMDSMI_STATUS_NOT_SUPPORTED) { IF_VERB(STANDARD) { std::cout << "\t**" << ": " << @@ -120,7 +120,7 @@ void TestFanReadWrite::Run(void) { return; } - ret = amdsmi_dev_fan_speed_max_get(device_handles_[dv_ind], 0, &max_speed); + ret = amdsmi_dev_get_fan_speed_max(device_handles_[dv_ind], 0, &max_speed); CHK_ERR_ASRT(ret) new_speed = 1.1 * orig_speed; @@ -136,12 +136,12 @@ void TestFanReadWrite::Run(void) { std::cout << "Setting fan speed to " << new_speed << std::endl; } - ret = amdsmi_dev_fan_speed_set(device_handles_[dv_ind], 0, new_speed); + ret = amdsmi_dev_set_fan_speed(device_handles_[dv_ind], 0, new_speed); CHK_ERR_ASRT(ret) sleep(4); - ret = amdsmi_dev_fan_speed_get(device_handles_[dv_ind], 0, &cur_speed); + ret = amdsmi_dev_get_fan_speed(device_handles_[dv_ind], 0, &cur_speed); CHK_ERR_ASRT(ret) IF_VERB(STANDARD) { @@ -163,12 +163,12 @@ void TestFanReadWrite::Run(void) { std::cout << "Resetting fan control to auto..." << std::endl; } - ret = amdsmi_dev_fan_reset(device_handles_[dv_ind], 0); + ret = amdsmi_dev_reset_fan(device_handles_[dv_ind], 0); CHK_ERR_ASRT(ret) sleep(3); - ret = amdsmi_dev_fan_speed_get(device_handles_[dv_ind], 0, &cur_speed); + ret = amdsmi_dev_get_fan_speed(device_handles_[dv_ind], 0, &cur_speed); CHK_ERR_ASRT(ret) IF_VERB(STANDARD) { diff --git a/tests/amd_smi_test/functional/frequencies_read.cc b/tests/amd_smi_test/functional/frequencies_read.cc index 04988b9073..3f4e7e727f 100755 --- a/tests/amd_smi_test/functional/frequencies_read.cc +++ b/tests/amd_smi_test/functional/frequencies_read.cc @@ -116,12 +116,12 @@ void TestFrequenciesRead::Run(void) { for (uint32_t x = 0; x < num_iterations(); ++x) { for (uint32_t i = 0; i < num_monitor_devs(); ++i) { auto freq_output = [&](amdsmi_clk_type_t t, const char *name) { - err = amdsmi_dev_gpu_clk_freq_get(device_handles_[i], t, &f); + err = amdsmi_dev_get_gpu_clk_freq(device_handles_[i], t, &f); if (err == AMDSMI_STATUS_NOT_SUPPORTED) { std::cout << "\t**Get " << name << ": Not supported on this machine" << std::endl; // Verify api support checking functionality is working - err = amdsmi_dev_gpu_clk_freq_get(device_handles_[i], t, nullptr); + err = amdsmi_dev_get_gpu_clk_freq(device_handles_[i], t, nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); } else if (err == AMDSMI_STATUS_NOT_YET_IMPLEMENTED) { std::cout << "\t**Get " << name << @@ -133,7 +133,7 @@ void TestFrequenciesRead::Run(void) { std::cout << f.num_supported << std::endl; print_frequencies(&f); // Verify api support checking functionality is working - err = amdsmi_dev_gpu_clk_freq_get(device_handles_[i], t, nullptr); + err = amdsmi_dev_get_gpu_clk_freq(device_handles_[i], t, nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); } } @@ -147,12 +147,12 @@ void TestFrequenciesRead::Run(void) { freq_output(CLK_TYPE_DCEF, "Display Controller Engine Clock"); freq_output(CLK_TYPE_SOC, "SOC Clock"); - err = amdsmi_dev_pci_bandwidth_get(device_handles_[i], &b); + err = amdsmi_dev_get_pci_bandwidth(device_handles_[i], &b); if (err == AMDSMI_STATUS_NOT_SUPPORTED) { std::cout << "\t**Get PCIE Bandwidth: Not supported on this machine" << std::endl; // Verify api support checking functionality is working - err = amdsmi_dev_pci_bandwidth_get(device_handles_[i], nullptr); + err = amdsmi_dev_get_pci_bandwidth(device_handles_[i], nullptr); ASSERT_EQ(err, AMDSMI_STATUS_NOT_SUPPORTED); } else if (err == AMDSMI_STATUS_NOT_YET_IMPLEMENTED) { std::cout << "\t**Get PCIE Bandwidth " @@ -164,7 +164,7 @@ void TestFrequenciesRead::Run(void) { std::cout << b.transfer_rate.num_supported << std::endl; print_frequencies(&b.transfer_rate, b.lanes); // Verify api support checking functionality is working - err = amdsmi_dev_pci_bandwidth_get(device_handles_[i], nullptr); + err = amdsmi_dev_get_pci_bandwidth(device_handles_[i], nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); } } diff --git a/tests/amd_smi_test/functional/frequencies_read_write.cc b/tests/amd_smi_test/functional/frequencies_read_write.cc index a034bbaf99..17185486f3 100755 --- a/tests/amd_smi_test/functional/frequencies_read_write.cc +++ b/tests/amd_smi_test/functional/frequencies_read_write.cc @@ -113,7 +113,7 @@ void TestFrequenciesReadWrite::Run(void) { std::cout << amdsmi_clk << std::endl; if (amdsmi_clk == CLK_TYPE_PCIE) return false; - ret = amdsmi_dev_gpu_clk_freq_get(device_handles_[dv_ind], amdsmi_clk, &f); + ret = amdsmi_dev_get_gpu_clk_freq(device_handles_[dv_ind], amdsmi_clk, &f); std::cout << ret << std::endl; if (ret == AMDSMI_STATUS_NOT_SUPPORTED || @@ -151,7 +151,7 @@ void TestFrequenciesReadWrite::Run(void) { FreqEnumToStr(amdsmi_clk) << " to 0b" << freq_bm_str << " ..." << std::endl; } - ret = amdsmi_dev_gpu_clk_freq_set(device_handles_[dv_ind], amdsmi_clk, freq_bitmask); + ret = amdsmi_dev_set_clk_freq(device_handles_[dv_ind], amdsmi_clk, freq_bitmask); //Certain ASICs does not allow to set particular clocks. If set function for a clock returns //permission error despite root access, manually set ret value to success and return if (ret == AMDSMI_STATUS_NO_PERM && geteuid() == 0) { @@ -166,7 +166,7 @@ void TestFrequenciesReadWrite::Run(void) { return; } CHK_ERR_ASRT(ret) - ret = amdsmi_dev_gpu_clk_freq_get(device_handles_[dv_ind], amdsmi_clk, &f); + ret = amdsmi_dev_get_gpu_clk_freq(device_handles_[dv_ind], amdsmi_clk, &f); if (ret != AMDSMI_STATUS_SUCCESS) { return; } @@ -175,12 +175,12 @@ void TestFrequenciesReadWrite::Run(void) { std::cout << "Frequency is now index " << f.current << std::endl; std::cout << "Resetting mask to all frequencies." << std::endl; } - ret = amdsmi_dev_gpu_clk_freq_set(device_handles_[dv_ind], amdsmi_clk, 0xFFFFFFFF); + ret = amdsmi_dev_set_clk_freq(device_handles_[dv_ind], amdsmi_clk, 0xFFFFFFFF); if (ret != AMDSMI_STATUS_SUCCESS) { return; } - ret = amdsmi_dev_perf_level_set(device_handles_[dv_ind], AMDSMI_DEV_PERF_LEVEL_AUTO); + ret = amdsmi_dev_set_perf_level(device_handles_[dv_ind], AMDSMI_DEV_PERF_LEVEL_AUTO); if (ret != AMDSMI_STATUS_SUCCESS) { return; } @@ -194,7 +194,7 @@ void TestFrequenciesReadWrite::Run(void) { freq_write(); CHK_ERR_ASRT(ret) #if 0 - ret = amdsmi_dev_gpu_clk_freq_get(dv_ind, amdsmi_clk, &f); + ret = amdsmi_dev_get_gpu_clk_freq(dv_ind, amdsmi_clk, &f); CHK_ERR_ASRT(ret) IF_VERB(STANDARD) { @@ -215,20 +215,20 @@ void TestFrequenciesReadWrite::Run(void) { std::cout << "Setting frequency mask for clock " << amdsmi_clk << " to 0b" << freq_bm_str << " ..." << std::endl; } - ret = amdsmi_dev_gpu_clk_freq_set(dv_ind, amdsmi_clk, freq_bitmask); + ret = amdsmi_dev_set_clk_freq(dv_ind, amdsmi_clk, freq_bitmask); CHK_ERR_ASRT(ret) - ret = amdsmi_dev_gpu_clk_freq_get(dv_ind, amdsmi_clk, &f); + ret = amdsmi_dev_get_gpu_clk_freq(dv_ind, amdsmi_clk, &f); CHK_ERR_ASRT(ret) IF_VERB(STANDARD) { std::cout << "Frequency is now index " << f.current << std::endl; std::cout << "Resetting mask to all frequencies." << std::endl; } - ret = amdsmi_dev_gpu_clk_freq_set(dv_ind, amdsmi_clk, 0xFFFFFFFF); + ret = amdsmi_dev_set_clk_freq(dv_ind, amdsmi_clk, 0xFFFFFFFF); CHK_ERR_ASRT(ret) - ret = amdsmi_dev_perf_level_set(dv_ind, AMDSMI_DEV_PERF_LEVEL_AUTO); + ret = amdsmi_dev_set_perf_level(dv_ind, AMDSMI_DEV_PERF_LEVEL_AUTO); CHK_ERR_ASRT(ret) #endif } diff --git a/tests/amd_smi_test/functional/gpu_busy_read.cc b/tests/amd_smi_test/functional/gpu_busy_read.cc index 0d6243cc33..66dda12b44 100755 --- a/tests/amd_smi_test/functional/gpu_busy_read.cc +++ b/tests/amd_smi_test/functional/gpu_busy_read.cc @@ -99,7 +99,7 @@ void TestGPUBusyRead::Run(void) { for (uint32_t i = 0; i < num_monitor_devs(); ++i) { PrintDeviceHeader(device_handles_[i]); - err = amdsmi_dev_busy_percent_get(device_handles_[i], &val_ui32); + err = amdsmi_dev_get_busy_percent(device_handles_[i], &val_ui32); if (err != AMDSMI_STATUS_SUCCESS) { if (err == AMDSMI_STATUS_FILE_ERROR) { IF_VERB(STANDARD) { diff --git a/tests/amd_smi_test/functional/gpu_metrics_read.cc b/tests/amd_smi_test/functional/gpu_metrics_read.cc index ce4a77ec55..4f81758626 100644 --- a/tests/amd_smi_test/functional/gpu_metrics_read.cc +++ b/tests/amd_smi_test/functional/gpu_metrics_read.cc @@ -103,7 +103,7 @@ void TestGpuMetricsRead::Run(void) { std::cout << "\t**GPU METRICS:\n"; } amdsmi_gpu_metrics_t smu; - err = amdsmi_dev_gpu_metrics_info_get(device_handles_[i], &smu); + err = amdsmi_dev_get_gpu_metrics_info(device_handles_[i], &smu); if (err != AMDSMI_STATUS_SUCCESS) { if (err == AMDSMI_STATUS_NOT_SUPPORTED) { IF_VERB(STANDARD) { @@ -188,7 +188,7 @@ void TestGpuMetricsRead::Run(void) { } // Verify api support checking functionality is working - err = amdsmi_dev_gpu_metrics_info_get(device_handles_[i], nullptr); + err = amdsmi_dev_get_gpu_metrics_info(device_handles_[i], nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); } } diff --git a/tests/amd_smi_test/functional/id_info_read.cc b/tests/amd_smi_test/functional/id_info_read.cc index 6fe791891c..bcdb428324 100755 --- a/tests/amd_smi_test/functional/id_info_read.cc +++ b/tests/amd_smi_test/functional/id_info_read.cc @@ -105,11 +105,11 @@ void TestIdInfoRead::Run(void) { } // Get the device ID, name, vendor ID and vendor name for the device - err = amdsmi_dev_id_get(device_handles_[i], &id); + err = amdsmi_dev_get_id(device_handles_[i], &id); if (err == AMDSMI_STATUS_NOT_SUPPORTED) { amdsmi_status_t ret; // Verify api support checking functionality is working - ret = amdsmi_dev_id_get(device_handles_[i], nullptr); + ret = amdsmi_dev_get_id(device_handles_[i], nullptr); ASSERT_EQ(ret, AMDSMI_STATUS_NOT_SUPPORTED); } else { CHK_ERR_ASRT(err) @@ -118,7 +118,7 @@ void TestIdInfoRead::Run(void) { std::cout << "\t**Device ID: 0x" << std::hex << id << std::endl; } // Verify api support checking functionality is working - err = amdsmi_dev_id_get(device_handles_[i], nullptr); + err = amdsmi_dev_get_id(device_handles_[i], nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); } @@ -132,11 +132,11 @@ void TestIdInfoRead::Run(void) { err = amdsmi_get_board_info(device_handles_[0], &board_info); CHK_ERR_ASRT(err) - err = amdsmi_dev_vram_vendor_get(device_handles_[i], buffer, kBufferLen); + err = amdsmi_dev_get_vram_vendor(device_handles_[i], buffer, kBufferLen); if (err == AMDSMI_STATUS_NOT_SUPPORTED) { std::cout << "\t**Vram Vendor string not supported on this system." << std::endl; - err = amdsmi_dev_vram_vendor_get(device_handles_[i], nullptr, kBufferLen); + err = amdsmi_dev_get_vram_vendor(device_handles_[i], nullptr, kBufferLen); ASSERT_EQ(err, AMDSMI_STATUS_NOT_SUPPORTED); } else { CHK_ERR_ASRT(err) @@ -145,10 +145,10 @@ void TestIdInfoRead::Run(void) { } } - err = amdsmi_dev_drm_render_minor_get(device_handles_[i], &drm_render_minor); + err = amdsmi_dev_get_drm_render_minor(device_handles_[i], &drm_render_minor); if (err == AMDSMI_STATUS_NOT_SUPPORTED) { // Verify api support checking functionality is working - err = amdsmi_dev_drm_render_minor_get(device_handles_[i], nullptr); + err = amdsmi_dev_get_drm_render_minor(device_handles_[i], nullptr); ASSERT_EQ(err, AMDSMI_STATUS_NOT_SUPPORTED); } else { CHK_ERR_ASRT(err) @@ -156,15 +156,15 @@ void TestIdInfoRead::Run(void) { std::cout << "\t**DRM Render Minor: " << drm_render_minor << std::endl; } // Verify api support checking functionality is working - err = amdsmi_dev_drm_render_minor_get(device_handles_[i], nullptr); + err = amdsmi_dev_get_drm_render_minor(device_handles_[i], nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); } - err = amdsmi_dev_vendor_name_get(device_handles_[i], buffer, kBufferLen); + err = amdsmi_dev_get_vendor_name(device_handles_[i], buffer, kBufferLen); if (err == AMDSMI_STATUS_NOT_SUPPORTED) { std::cout << "\t**Device Vendor name string not found on this system." << std::endl; // Verify api support checking functionality is working - err = amdsmi_dev_vendor_name_get(device_handles_[i], nullptr, kBufferLen); + err = amdsmi_dev_get_vendor_name(device_handles_[i], nullptr, kBufferLen); ASSERT_EQ(err, AMDSMI_STATUS_NOT_SUPPORTED); } else { CHK_ERR_ASRT(err) @@ -172,15 +172,15 @@ void TestIdInfoRead::Run(void) { std::cout << "\t**Device Vendor name: " << buffer << std::endl; } // Verify api support checking functionality is working - err = amdsmi_dev_vendor_name_get(device_handles_[i], nullptr, kBufferLen); + err = amdsmi_dev_get_vendor_name(device_handles_[i], nullptr, kBufferLen); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); } // Get the device ID, name, vendor ID and vendor name for the sub-device - err = amdsmi_dev_subsystem_id_get(device_handles_[i], &id); + err = amdsmi_dev_get_subsystem_id(device_handles_[i], &id); if (err == AMDSMI_STATUS_NOT_SUPPORTED) { // Verify api support checking functionality is working - err = amdsmi_dev_subsystem_id_get(device_handles_[i], nullptr); + err = amdsmi_dev_get_subsystem_id(device_handles_[i], nullptr); ASSERT_EQ(err, AMDSMI_STATUS_NOT_SUPPORTED); } else { CHK_ERR_ASRT(err) @@ -188,15 +188,15 @@ void TestIdInfoRead::Run(void) { std::cout << "\t**Subsystem ID: 0x" << std::hex << id << std::endl; } // Verify api support checking functionality is working - err = amdsmi_dev_subsystem_id_get(device_handles_[i], nullptr); + err = amdsmi_dev_get_subsystem_id(device_handles_[i], nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); } - err = amdsmi_dev_subsystem_name_get(device_handles_[i], buffer, kBufferLen); + err = amdsmi_dev_get_subsystem_name(device_handles_[i], buffer, kBufferLen); if (err == AMDSMI_STATUS_NOT_SUPPORTED) { std::cout << "\t**Subsystem name string not found on this system." << std::endl; // Verify api support checking functionality is working - err = amdsmi_dev_subsystem_name_get(device_handles_[i], nullptr, kBufferLen); + err = amdsmi_dev_get_subsystem_name(device_handles_[i], nullptr, kBufferLen); ASSERT_EQ(err, AMDSMI_STATUS_NOT_SUPPORTED); } else { CHK_ERR_ASRT(err) @@ -204,7 +204,7 @@ void TestIdInfoRead::Run(void) { std::cout << "\t**Subsystem name: " << buffer << std::endl; } // Verify api support checking functionality is working - err = amdsmi_dev_subsystem_name_get(device_handles_[i], nullptr, kBufferLen); + err = amdsmi_dev_get_subsystem_name(device_handles_[i], nullptr, kBufferLen); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); } @@ -213,13 +213,13 @@ void TestIdInfoRead::Run(void) { asci_info.subvendor_id << std::endl; } - err = amdsmi_dev_vendor_name_get(device_handles_[i], buffer, kBufferLen); + err = amdsmi_dev_get_vendor_name(device_handles_[i], buffer, kBufferLen); if (err == AMDSMI_STATUS_NOT_SUPPORTED) { std::cout << "\t**Subsystem Vendor name string not found on this system." << std::endl; // Verify api support checking functionality is working - err = amdsmi_dev_vendor_name_get(device_handles_[i], nullptr, kBufferLen); + err = amdsmi_dev_get_vendor_name(device_handles_[i], nullptr, kBufferLen); ASSERT_EQ(err, AMDSMI_STATUS_NOT_SUPPORTED); } else { CHK_ERR_ASRT(err) @@ -227,11 +227,11 @@ void TestIdInfoRead::Run(void) { std::cout << "\t**Subsystem Vendor name: " << buffer << std::endl; } // Verify api support checking functionality is working - err = amdsmi_dev_vendor_name_get(device_handles_[i], nullptr, kBufferLen); + err = amdsmi_dev_get_vendor_name(device_handles_[i], nullptr, kBufferLen); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); } - err = amdsmi_dev_pci_id_get(device_handles_[i], &val_ui64); + err = amdsmi_dev_get_pci_id(device_handles_[i], &val_ui64); // Don't check for AMDSMI_STATUS_NOT_SUPPORTED since this should always be // supported. It is not based on a sysfs file. CHK_ERR_ASRT(err) @@ -240,7 +240,7 @@ void TestIdInfoRead::Run(void) { std::cout << " (" << std::dec << val_ui64 << ")" << std::endl; } // Verify api support checking functionality is working - err = amdsmi_dev_pci_id_get(device_handles_[i], nullptr); + err = amdsmi_dev_get_pci_id(device_handles_[i], nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); } } diff --git a/tests/amd_smi_test/functional/mem_page_info_read.cc b/tests/amd_smi_test/functional/mem_page_info_read.cc index d4620a8b60..c662726722 100755 --- a/tests/amd_smi_test/functional/mem_page_info_read.cc +++ b/tests/amd_smi_test/functional/mem_page_info_read.cc @@ -96,7 +96,7 @@ void TestMemPageInfoRead::Run(void) { for (uint32_t i = 0; i < num_monitor_devs(); ++i) { PrintDeviceHeader(device_handles_[i]); - err = amdsmi_dev_memory_reserved_pages_get(device_handles_[i], &num_pages, nullptr); + err = amdsmi_dev_get_memory_reserved_pages(device_handles_[i], &num_pages, nullptr); if (err == AMDSMI_STATUS_NOT_SUPPORTED) { std::cout << @@ -104,7 +104,7 @@ void TestMemPageInfoRead::Run(void) { << std::endl; // Verify api support checking functionality is working - err = amdsmi_dev_memory_reserved_pages_get(device_handles_[i], nullptr, nullptr); + err = amdsmi_dev_get_memory_reserved_pages(device_handles_[i], nullptr, nullptr); ASSERT_EQ(err, AMDSMI_STATUS_NOT_SUPPORTED); continue; @@ -115,7 +115,7 @@ void TestMemPageInfoRead::Run(void) { std::endl; } // Verify api support checking functionality is working - err = amdsmi_dev_memory_reserved_pages_get(device_handles_[i], nullptr, nullptr); + err = amdsmi_dev_get_memory_reserved_pages(device_handles_[i], nullptr, nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); } @@ -124,7 +124,7 @@ void TestMemPageInfoRead::Run(void) { assert(records != nullptr); - err = amdsmi_dev_memory_reserved_pages_get(device_handles_[i], &num_pages, records); + err = amdsmi_dev_get_memory_reserved_pages(device_handles_[i], &num_pages, records); if (err == AMDSMI_STATUS_NOT_SUPPORTED) { std::cout << "\t**Getting Memory Page Retirement Status not " "supported for this device" << std::endl; diff --git a/tests/amd_smi_test/functional/mem_util_read.cc b/tests/amd_smi_test/functional/mem_util_read.cc index beeb185e46..f9a1bac7d1 100755 --- a/tests/amd_smi_test/functional/mem_util_read.cc +++ b/tests/amd_smi_test/functional/mem_util_read.cc @@ -119,8 +119,8 @@ void TestMemUtilRead::Run(void) { PrintDeviceHeader(device_handles_[i]); #if 0 - err = amdsmi_dev_memory_busy_percent_get(i, &mem_busy_percent); - err_chk("amdsmi_dev_memory_busy_percent_get()"); + err = amdsmi_dev_get_memory_busy_percent(i, &mem_busy_percent); + err_chk("amdsmi_dev_get_memory_busy_percent()"); if (err != AMDSMI_STATUS_SUCCESS) { return; } @@ -131,16 +131,16 @@ void TestMemUtilRead::Run(void) { #endif for (uint32_t mem_type = AMDSMI_MEM_TYPE_FIRST; mem_type <= AMDSMI_MEM_TYPE_LAST; ++mem_type) { - err = amdsmi_dev_memory_total_get(device_handles_[i], + err = amdsmi_dev_get_memory_total(device_handles_[i], static_cast(mem_type), &total); - err_chk("amdsmi_dev_memory_total_get()"); + err_chk("amdsmi_dev_get_memory_total()"); if (err != AMDSMI_STATUS_SUCCESS) { return; } - err = amdsmi_dev_memory_usage_get(device_handles_[i], + err = amdsmi_dev_get_memory_usage(device_handles_[i], static_cast(mem_type), &usage); - err_chk("amdsmi_dev_memory_usage_get()"); + err_chk("amdsmi_dev_get_memory_usage()"); if (err != AMDSMI_STATUS_SUCCESS) { return; } diff --git a/tests/amd_smi_test/functional/metrics_counter_read.cc b/tests/amd_smi_test/functional/metrics_counter_read.cc index db422aa0c9..0bb6cf4510 100644 --- a/tests/amd_smi_test/functional/metrics_counter_read.cc +++ b/tests/amd_smi_test/functional/metrics_counter_read.cc @@ -106,7 +106,7 @@ void TestMetricsCounterRead::Run(void) { uint64_t power; uint64_t timestamp; float counter_resolution; - err = amdsmi_dev_energy_count_get(device_handles_[i], &power, &counter_resolution, ×tamp); + err = amdsmi_dev_get_energy_count(device_handles_[i], &power, &counter_resolution, ×tamp); if (err != AMDSMI_STATUS_SUCCESS) { if (err == AMDSMI_STATUS_NOT_SUPPORTED) { IF_VERB(STANDARD) { @@ -128,14 +128,14 @@ void TestMetricsCounterRead::Run(void) { } // Verify api support checking functionality is working - err = amdsmi_dev_energy_count_get(device_handles_[i], nullptr, nullptr, nullptr); + err = amdsmi_dev_get_energy_count(device_handles_[i], nullptr, nullptr, nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); // Coarse Grain counters amdsmi_utilization_counter_t utilization_counters[2]; utilization_counters[0].type = AMDSMI_COARSE_GRAIN_GFX_ACTIVITY; utilization_counters[1].type = AMDSMI_COARSE_GRAIN_MEM_ACTIVITY; - err = amdsmi_utilization_count_get(device_handles_[i], utilization_counters, + err = amdsmi_get_utilization_count(device_handles_[i], utilization_counters, 2, ×tamp); if (err != AMDSMI_STATUS_SUCCESS) { if (err == AMDSMI_STATUS_NOT_SUPPORTED) { @@ -158,7 +158,7 @@ void TestMetricsCounterRead::Run(void) { } // Verify api support checking functionality is working - err = amdsmi_utilization_count_get(device_handles_[i], nullptr, + err = amdsmi_get_utilization_count(device_handles_[i], nullptr, 1 , nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); } // end for diff --git a/tests/amd_smi_test/functional/mutual_exclusion.cc b/tests/amd_smi_test/functional/mutual_exclusion.cc index 9ef4a5d827..3f90da2fa8 100755 --- a/tests/amd_smi_test/functional/mutual_exclusion.cc +++ b/tests/amd_smi_test/functional/mutual_exclusion.cc @@ -197,7 +197,7 @@ void TestMutualExclusion::Run(void) { std::cout << "at " << __FILE__ << ":" << __LINE__ << std::endl; \ } \ } - ret = amdsmi_dev_id_get(device_handles_[0], &dmy_ui16); + ret = amdsmi_dev_get_id(device_handles_[0], &dmy_ui16); // vendor_id, unique_id amdsmi_asic_info_t asci_info; @@ -209,105 +209,105 @@ void TestMutualExclusion::Run(void) { ret = amdsmi_get_board_info(device_handles_[0], &board_info); CHECK_RET(ret, AMDSMI_STATUS_BUSY); - ret = amdsmi_dev_vendor_name_get(device_handles_[0], dmy_str, 10); + ret = amdsmi_dev_get_vendor_name(device_handles_[0], dmy_str, 10); CHECK_RET(ret, AMDSMI_STATUS_BUSY); - ret = amdsmi_dev_vram_vendor_get(device_handles_[0], dmy_str, 10); + ret = amdsmi_dev_get_vram_vendor(device_handles_[0], dmy_str, 10); CHECK_RET(ret, AMDSMI_STATUS_BUSY); - ret = amdsmi_dev_subsystem_id_get(device_handles_[0], &dmy_ui16); + ret = amdsmi_dev_get_subsystem_id(device_handles_[0], &dmy_ui16); CHECK_RET(ret, AMDSMI_STATUS_BUSY); - ret = amdsmi_dev_pci_id_get(device_handles_[0], &dmy_ui64); + ret = amdsmi_dev_get_pci_id(device_handles_[0], &dmy_ui64); CHECK_RET(ret, AMDSMI_STATUS_BUSY); - ret = amdsmi_dev_pci_throughput_get(device_handles_[0], &dmy_ui64, &dmy_ui64, &dmy_ui64); + ret = amdsmi_dev_get_pci_throughput(device_handles_[0], &dmy_ui64, &dmy_ui64, &dmy_ui64); CHECK_RET(ret, AMDSMI_STATUS_BUSY); - ret = amdsmi_dev_pci_replay_counter_get(device_handles_[0], &dmy_ui64); + ret = amdsmi_dev_get_pci_replay_counter(device_handles_[0], &dmy_ui64); CHECK_RET(ret, AMDSMI_STATUS_BUSY); - ret = amdsmi_dev_pci_bandwidth_set(device_handles_[0], 0); + ret = amdsmi_dev_set_pci_bandwidth(device_handles_[0], 0); CHECK_RET(ret, AMDSMI_STATUS_BUSY); - ret = amdsmi_dev_fan_rpms_get(device_handles_[0], dmy_ui32, &dmy_i64); + ret = amdsmi_dev_get_fan_rpms(device_handles_[0], dmy_ui32, &dmy_i64); CHECK_RET(ret, AMDSMI_STATUS_BUSY); - ret = amdsmi_dev_fan_speed_get(device_handles_[0], 0, &dmy_i64); + ret = amdsmi_dev_get_fan_speed(device_handles_[0], 0, &dmy_i64); CHECK_RET(ret, AMDSMI_STATUS_BUSY); - ret = amdsmi_dev_fan_speed_max_get(device_handles_[0], 0, &dmy_ui64); + ret = amdsmi_dev_get_fan_speed_max(device_handles_[0], 0, &dmy_ui64); CHECK_RET(ret, AMDSMI_STATUS_BUSY); - ret = amdsmi_dev_temp_metric_get(device_handles_[0], dmy_ui32, AMDSMI_TEMP_CURRENT, &dmy_i64); + ret = amdsmi_dev_get_temp_metric(device_handles_[0], dmy_ui32, AMDSMI_TEMP_CURRENT, &dmy_i64); CHECK_RET(ret, AMDSMI_STATUS_BUSY); - ret = amdsmi_dev_fan_reset(device_handles_[0], 0); + ret = amdsmi_dev_reset_fan(device_handles_[0], 0); CHECK_RET(ret, AMDSMI_STATUS_BUSY); - ret = amdsmi_dev_fan_speed_set(device_handles_[0], dmy_ui32, 0); + ret = amdsmi_dev_set_fan_speed(device_handles_[0], dmy_ui32, 0); CHECK_RET(ret, AMDSMI_STATUS_BUSY); - ret = amdsmi_dev_perf_level_get(device_handles_[0], &dmy_perf_lvl); + ret = amdsmi_dev_get_perf_level(device_handles_[0], &dmy_perf_lvl); CHECK_RET(ret, AMDSMI_STATUS_BUSY); - ret = amdsmi_dev_overdrive_level_get(device_handles_[0], &dmy_ui32); + ret = amdsmi_dev_get_overdrive_level(device_handles_[0], &dmy_ui32); CHECK_RET(ret, AMDSMI_STATUS_BUSY); - ret = amdsmi_dev_gpu_clk_freq_get(device_handles_[0], CLK_TYPE_SYS, &dmy_freqs); + ret = amdsmi_dev_get_gpu_clk_freq(device_handles_[0], CLK_TYPE_SYS, &dmy_freqs); CHECK_RET(ret, AMDSMI_STATUS_BUSY); - ret = amdsmi_dev_od_volt_info_get(device_handles_[0], &dmy_od_volt); + ret = amdsmi_dev_get_od_volt_info(device_handles_[0], &dmy_od_volt); CHECK_RET(ret, AMDSMI_STATUS_BUSY); - ret = amdsmi_dev_od_volt_curve_regions_get(device_handles_[0], &dmy_ui32, &dmy_vlt_reg); + ret = amdsmi_dev_get_od_volt_curve_regions(device_handles_[0], &dmy_ui32, &dmy_vlt_reg); CHECK_RET(ret, AMDSMI_STATUS_BUSY); - ret = amdsmi_dev_overdrive_level_set_v1(device_handles_[0], dmy_i32); + ret = amdsmi_dev_set_overdrive_level_v1(device_handles_[0], dmy_i32); CHECK_RET(ret, AMDSMI_STATUS_BUSY); - ret = amdsmi_dev_gpu_clk_freq_set(device_handles_[0], CLK_TYPE_SYS, 0); + ret = amdsmi_dev_set_clk_freq(device_handles_[0], CLK_TYPE_SYS, 0); CHECK_RET(ret, AMDSMI_STATUS_BUSY); - ret = amdsmi_dev_ecc_count_get(device_handles_[0], AMDSMI_GPU_BLOCK_UMC, &dmy_err_cnt); + ret = amdsmi_dev_get_ecc_count(device_handles_[0], AMDSMI_GPU_BLOCK_UMC, &dmy_err_cnt); CHECK_RET(ret, AMDSMI_STATUS_BUSY); - ret = amdsmi_dev_ecc_enabled_get(device_handles_[0], &dmy_ui64); + ret = amdsmi_dev_get_ecc_enabled(device_handles_[0], &dmy_ui64); CHECK_RET(ret, AMDSMI_STATUS_BUSY); - ret = amdsmi_dev_ecc_status_get(device_handles_[0], AMDSMI_GPU_BLOCK_UMC, &dmy_ras_err_st); + ret = amdsmi_dev_get_ecc_status(device_handles_[0], AMDSMI_GPU_BLOCK_UMC, &dmy_ras_err_st); CHECK_RET(ret, AMDSMI_STATUS_BUSY); /* Other functions holding device mutexes. Listed for reference. amdsmi_dev_sku_get - amdsmi_dev_perf_level_set_v1 - amdsmi_dev_od_clk_info_set - amdsmi_dev_od_volt_info_set + amdsmi_dev_set_perf_level_v1 + amdsmi_dev_set_od_clk_info + amdsmi_dev_set_od_volt_info amdsmi_dev_firmware_version_get amdsmi_dev_firmware_version_get amdsmi_dev_name_get amdsmi_dev_brand_get - amdsmi_dev_vram_vendor_get - amdsmi_dev_subsystem_name_get - amdsmi_dev_drm_render_minor_get - amdsmi_dev_vendor_name_get - amdsmi_dev_pci_bandwidth_get - amdsmi_dev_pci_bandwidth_set - amdsmi_dev_pci_throughput_get - amdsmi_dev_temp_metric_get - amdsmi_dev_volt_metric_get - amdsmi_dev_fan_speed_get - amdsmi_dev_fan_rpms_get - amdsmi_dev_fan_reset - amdsmi_dev_fan_speed_set - amdsmi_dev_fan_speed_max_get - amdsmi_dev_od_volt_info_get - amdsmi_dev_gpu_metrics_info_get - amdsmi_dev_od_volt_curve_regions_get + amdsmi_dev_get_vram_vendor + amdsmi_dev_get_subsystem_name + amdsmi_dev_get_drm_render_minor + amdsmi_dev_get_vendor_name + amdsmi_dev_get_pci_bandwidth + amdsmi_dev_set_pci_bandwidth + amdsmi_dev_get_pci_throughput + amdsmi_dev_get_temp_metric + amdsmi_dev_get_volt_metric + amdsmi_dev_get_fan_speed + amdsmi_dev_get_fan_rpms + amdsmi_dev_reset_fan + amdsmi_dev_set_fan_speed + amdsmi_dev_get_fan_speed_max + amdsmi_dev_get_od_volt_info + amdsmi_dev_get_gpu_metrics_info + amdsmi_dev_get_od_volt_curve_regions amdsmi_dev_power_max_get - amdsmi_dev_power_ave_get + amdsmi_dev_get_power_ave amdsmi_dev_power_cap_get amdsmi_dev_power_cap_range_get - amdsmi_dev_power_cap_set - amdsmi_dev_power_profile_presets_get - amdsmi_dev_power_profile_set - amdsmi_dev_memory_total_get - amdsmi_dev_memory_usage_get - amdsmi_dev_memory_busy_percent_get - amdsmi_dev_busy_percent_get + amdsmi_dev_set_power_cap + amdsmi_dev_get_power_profile_presets + amdsmi_dev_set_power_profile + amdsmi_dev_get_memory_total + amdsmi_dev_get_memory_usage + amdsmi_dev_get_memory_busy_percent + amdsmi_dev_get_busy_percent amdsmi_dev_vbios_version_get amdsmi_dev_serial_number_get - amdsmi_dev_pci_replay_counter_get + amdsmi_dev_get_pci_replay_counter amdsmi_dev_unique_id_get - amdsmi_dev_counter_create - amdsmi_counter_available_counters_get + amdsmi_dev_create_counter + amdsmi_counter_get_available_counters amdsmi_dev_counter_group_supported - amdsmi_dev_memory_reserved_pages_get + amdsmi_dev_get_memory_reserved_pages amdsmi_dev_xgmi_error_status - amdsmi_dev_xgmi_error_reset + amdsmi_dev_reset_xgmi_error amdsmi_dev_xgmi_hive_id_get amdsmi_topo_get_link_weight - amdsmi_event_notification_mask_set - amdsmi_event_notification_init - amdsmi_event_notification_stop + amdsmi_set_event_notification_mask + amdsmi_init_event_notification + amdsmi_stop_event_notification */ IF_VERB(STANDARD) { diff --git a/tests/amd_smi_test/functional/overdrive_read.cc b/tests/amd_smi_test/functional/overdrive_read.cc index df169f266f..025e919a37 100755 --- a/tests/amd_smi_test/functional/overdrive_read.cc +++ b/tests/amd_smi_test/functional/overdrive_read.cc @@ -98,12 +98,12 @@ void TestOverdriveRead::Run(void) { for (uint32_t i = 0; i < num_monitor_devs(); ++i) { PrintDeviceHeader(device_handles_[i]); - err = amdsmi_dev_overdrive_level_get(device_handles_[i], &val_ui32); + err = amdsmi_dev_get_overdrive_level(device_handles_[i], &val_ui32); CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**OverDrive Level:" << val_ui32 << std::endl; // Verify api support checking functionality is working - err = amdsmi_dev_overdrive_level_get(device_handles_[i], nullptr); + err = amdsmi_dev_get_overdrive_level(device_handles_[i], nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); } } diff --git a/tests/amd_smi_test/functional/overdrive_read_write.cc b/tests/amd_smi_test/functional/overdrive_read_write.cc index 2a888b5d9b..030ece5e55 100755 --- a/tests/amd_smi_test/functional/overdrive_read_write.cc +++ b/tests/amd_smi_test/functional/overdrive_read_write.cc @@ -100,22 +100,22 @@ void TestOverdriveReadWrite::Run(void) { IF_VERB(STANDARD) { std::cout << "Set Overdrive level to 0%..." << std::endl; } - ret = amdsmi_dev_overdrive_level_set(device_handles_[dv_ind], 0); + ret = amdsmi_dev_set_overdrive_level(device_handles_[dv_ind], 0); CHK_ERR_ASRT(ret) IF_VERB(STANDARD) { std::cout << "Set Overdrive level to 10%..." << std::endl; } - ret = amdsmi_dev_overdrive_level_set(device_handles_[dv_ind], 10); + ret = amdsmi_dev_set_overdrive_level(device_handles_[dv_ind], 10); CHK_ERR_ASRT(ret) - ret = amdsmi_dev_overdrive_level_get(device_handles_[dv_ind], &val); + ret = amdsmi_dev_get_overdrive_level(device_handles_[dv_ind], &val); CHK_ERR_ASRT(ret) IF_VERB(STANDARD) { std::cout << "\t**New OverDrive Level:" << val << std::endl; std::cout << "Reset Overdrive level to 0%..." << std::endl; } - ret = amdsmi_dev_overdrive_level_set(device_handles_[dv_ind], 0); + ret = amdsmi_dev_set_overdrive_level(device_handles_[dv_ind], 0); CHK_ERR_ASRT(ret) - ret = amdsmi_dev_overdrive_level_get(device_handles_[dv_ind], &val); + ret = amdsmi_dev_get_overdrive_level(device_handles_[dv_ind], &val); CHK_ERR_ASRT(ret) IF_VERB(STANDARD) { std::cout << "\t**New OverDrive Level:" << val << std::endl; diff --git a/tests/amd_smi_test/functional/pci_read_write.cc b/tests/amd_smi_test/functional/pci_read_write.cc index 6f37e54309..e0e5ec663d 100755 --- a/tests/amd_smi_test/functional/pci_read_write.cc +++ b/tests/amd_smi_test/functional/pci_read_write.cc @@ -100,15 +100,15 @@ void TestPciReadWrite::Run(void) { for (uint32_t dv_ind = 0; dv_ind < num_monitor_devs(); ++dv_ind) { PrintDeviceHeader(device_handles_[dv_ind]); - ret = amdsmi_dev_pci_replay_counter_get(device_handles_[dv_ind], &u64int); + ret = amdsmi_dev_get_pci_replay_counter(device_handles_[dv_ind], &u64int); if (ret == AMDSMI_STATUS_NOT_SUPPORTED) { std::cout << - "\t**amdsmi_dev_pci_replay_counter_get() is not supported" + "\t** amdsmi_dev_get_pci_replay_counter() is not supported" " on this machine" << std::endl; // Verify api support checking functionality is working - ret = amdsmi_dev_pci_replay_counter_get(device_handles_[dv_ind], nullptr); + ret = amdsmi_dev_get_pci_replay_counter(device_handles_[dv_ind], nullptr); ASSERT_EQ(ret, AMDSMI_STATUS_NOT_SUPPORTED); } else { CHK_ERR_ASRT(ret) @@ -116,11 +116,11 @@ void TestPciReadWrite::Run(void) { std::cout << "\tPCIe Replay Counter: " << u64int << std::endl; } // Verify api support checking functionality is working - ret = amdsmi_dev_pci_replay_counter_get(device_handles_[dv_ind], nullptr); + ret = amdsmi_dev_get_pci_replay_counter(device_handles_[dv_ind], nullptr); ASSERT_EQ(ret, AMDSMI_STATUS_INVAL); } - ret = amdsmi_dev_pci_throughput_get(device_handles_[dv_ind], &sent, &received, &max_pkt_sz); + ret = amdsmi_dev_get_pci_throughput(device_handles_[dv_ind], &sent, &received, &max_pkt_sz); if (ret == AMDSMI_STATUS_NOT_SUPPORTED) { std::cout << "TEST FAILURE: Current PCIe throughput is not detected. " "This is likely because it is not indicated in the pcie_bw sysfs " @@ -141,14 +141,14 @@ void TestPciReadWrite::Run(void) { std::cout << std::endl; } - ret = amdsmi_dev_pci_bandwidth_get(device_handles_[dv_ind], &bw); + ret = amdsmi_dev_get_pci_bandwidth(device_handles_[dv_ind], &bw); if (ret == AMDSMI_STATUS_NOT_SUPPORTED) { std::cout << "TEST FAILURE: Current PCIe bandwidth is not detected. " "This is likely because it is not indicated in the pp_dpm_pcie sysfs " "file. Aborting test." << std::endl; // Verify api support checking functionality is working - ret = amdsmi_dev_pci_bandwidth_get(device_handles_[dv_ind], nullptr); + ret = amdsmi_dev_get_pci_bandwidth(device_handles_[dv_ind], nullptr); ASSERT_EQ(ret, AMDSMI_STATUS_NOT_SUPPORTED); return; @@ -163,7 +163,7 @@ void TestPciReadWrite::Run(void) { std::endl; } // Verify api support checking functionality is working - ret = amdsmi_dev_pci_bandwidth_get(device_handles_[dv_ind], nullptr); + ret = amdsmi_dev_get_pci_bandwidth(device_handles_[dv_ind], nullptr); ASSERT_EQ(ret, AMDSMI_STATUS_INVAL); // First set the bitmask to all supported bandwidths @@ -182,10 +182,10 @@ void TestPciReadWrite::Run(void) { std::cout << "\tSetting bandwidth mask to " << "0b" << freq_bm_str << " ..." << std::endl; } - ret = amdsmi_dev_pci_bandwidth_set(device_handles_[dv_ind], freq_bitmask); + ret = amdsmi_dev_set_pci_bandwidth(device_handles_[dv_ind], freq_bitmask); CHK_ERR_ASRT(ret) - ret = amdsmi_dev_pci_bandwidth_get(device_handles_[dv_ind], &bw); + ret = amdsmi_dev_get_pci_bandwidth(device_handles_[dv_ind], &bw); CHK_ERR_ASRT(ret) IF_VERB(STANDARD) { @@ -193,10 +193,10 @@ void TestPciReadWrite::Run(void) { std::endl; std::cout << "\tResetting mask to all bandwidths." << std::endl; } - ret = amdsmi_dev_pci_bandwidth_set(device_handles_[dv_ind], 0xFFFFFFFF); + ret = amdsmi_dev_set_pci_bandwidth(device_handles_[dv_ind], 0xFFFFFFFF); CHK_ERR_ASRT(ret) - ret = amdsmi_dev_perf_level_set(device_handles_[dv_ind], AMDSMI_DEV_PERF_LEVEL_AUTO); + ret = amdsmi_dev_set_perf_level(device_handles_[dv_ind], AMDSMI_DEV_PERF_LEVEL_AUTO); CHK_ERR_ASRT(ret) } } diff --git a/tests/amd_smi_test/functional/perf_cntr_read_write.cc b/tests/amd_smi_test/functional/perf_cntr_read_write.cc index 730afbe2cb..e223be4715 100755 --- a/tests/amd_smi_test/functional/perf_cntr_read_write.cc +++ b/tests/amd_smi_test/functional/perf_cntr_read_write.cc @@ -115,20 +115,20 @@ void TestPerfCntrReadWrite::CountEvents(amdsmi_device_handle dv_ind, amdsmi_event_handle_t evt_handle; amdsmi_status_t ret; - ret = amdsmi_dev_counter_create(dv_ind, + ret = amdsmi_dev_create_counter(dv_ind, static_cast(evnt), &evt_handle); CHK_ERR_ASRT(ret) - // Note that amdsmi_dev_counter_create() should never return + // Note that amdsmi_dev_create_counter() should never return // AMDSMI_STATUS_NOT_SUPPORTED. It will return AMDSMI_STATUS_OUT_OF_RESOURCES // if it is unable to create a counter. - ret = amdsmi_dev_counter_create(dv_ind, + ret = amdsmi_dev_create_counter(dv_ind, static_cast(evnt), nullptr); ASSERT_EQ(ret, AMDSMI_STATUS_INVAL); - ret = amdsmi_counter_control(evt_handle, AMDSMI_CNTR_CMD_START, nullptr); + ret = amdsmi_control_counter(evt_handle, AMDSMI_CNTR_CMD_START, nullptr); if (ret == AMDSMI_STATUS_NOT_SUPPORTED) { - std::cout << "amdsmi_counter_control() returned " + std::cout << "amdsmi_control_counter() returned " "AMDSMI_STATUS_NOT_SUPPORTED" << std::endl; throw AMDSMI_STATUS_NOT_SUPPORTED; } else { @@ -136,7 +136,7 @@ void TestPerfCntrReadWrite::CountEvents(amdsmi_device_handle dv_ind, } sleep(sleep_sec); - ret = amdsmi_counter_read(evt_handle, val); + ret = amdsmi_read_counter(evt_handle, val); CHK_ERR_ASRT(ret) IF_VERB(STANDARD) { @@ -146,7 +146,7 @@ void TestPerfCntrReadWrite::CountEvents(amdsmi_device_handle dv_ind, std::cout << "\t\t\tEvents/Second Running: " << val->value/static_cast(val->time_running) << std::endl; } - ret = amdsmi_dev_counter_destroy(evt_handle); + ret = amdsmi_dev_destroy_counter(evt_handle); CHK_ERR_ASRT(ret) } @@ -261,7 +261,7 @@ TestPerfCntrReadWrite::testEventsSimultaneously(amdsmi_device_handle dv_ind) { std::cout << "Testing Event Group " << grp.name() << std::endl; } - ret = amdsmi_counter_available_counters_get(dv_ind, grp.group(), + ret = amdsmi_counter_get_available_counters(dv_ind, grp.group(), &avail_counters); IF_VERB(STANDARD) { std::cout << "Available Counters: " << avail_counters << std::endl; @@ -294,7 +294,7 @@ TestPerfCntrReadWrite::testEventsSimultaneously(amdsmi_device_handle dv_ind) { std::cout << "\tEvent Type " << tmp << std::endl; } - ret = amdsmi_dev_counter_create(dv_ind, + ret = amdsmi_dev_create_counter(dv_ind, static_cast(tmp), &evt_handle.get()[j]); CHK_ERR_ASRT(ret) } @@ -307,11 +307,11 @@ TestPerfCntrReadWrite::testEventsSimultaneously(amdsmi_device_handle dv_ind) { for (j = 0; j < num_created; ++j) { tmp = static_cast(evnt + j); - ret = amdsmi_counter_control(evt_handle.get()[j], AMDSMI_CNTR_CMD_START, + ret = amdsmi_control_counter(evt_handle.get()[j], AMDSMI_CNTR_CMD_START, nullptr); CHK_ERR_ASRT(ret) - ret = amdsmi_counter_available_counters_get(dv_ind, grp.group(), + ret = amdsmi_counter_get_available_counters(dv_ind, grp.group(), &tmp_cntrs); CHK_ERR_ASRT(ret) ASSERT_EQ(tmp_cntrs, (avail_counters - j - 1)); @@ -325,7 +325,7 @@ TestPerfCntrReadWrite::testEventsSimultaneously(amdsmi_device_handle dv_ind) { for (j = 0; j < num_created; ++j) { tmp = static_cast(evnt + j); - ret = amdsmi_counter_read(evt_handle.get()[j], &val); + ret = amdsmi_read_counter(evt_handle.get()[j], &val); CHK_ERR_ASRT(ret) IF_VERB(STANDARD) { @@ -337,7 +337,7 @@ TestPerfCntrReadWrite::testEventsSimultaneously(amdsmi_device_handle dv_ind) { } } for (j = 0; j < num_created; ++j) { - ret = amdsmi_dev_counter_destroy(evt_handle.get()[j]); + ret = amdsmi_dev_destroy_counter(evt_handle.get()[j]); CHK_ERR_ASRT(ret) } } diff --git a/tests/amd_smi_test/functional/perf_determinism.cc b/tests/amd_smi_test/functional/perf_determinism.cc index 2b81f5b65e..c931b61308 100644 --- a/tests/amd_smi_test/functional/perf_determinism.cc +++ b/tests/amd_smi_test/functional/perf_determinism.cc @@ -103,7 +103,7 @@ void TestPerfDeterminism::Run(void) { for (uint32_t i = 0; i < num_monitor_devs(); ++i) { PrintDeviceHeader(device_handles_[i]); - err = amdsmi_dev_od_volt_info_get(device_handles_[i], &odv); + err = amdsmi_dev_get_od_volt_info(device_handles_[i], &odv); if (err == AMDSMI_STATUS_NOT_SUPPORTED) { IF_VERB(STANDARD) { std::cout << "\t** Not supported on this machine" << std::endl; @@ -114,14 +114,14 @@ void TestPerfDeterminism::Run(void) { clkvalue = (odv.curr_sclk_range.lower_bound/1000000) + 50; } - err = amdsmi_perf_determinism_mode_set(device_handles_[i], clkvalue); + err = amdsmi_set_perf_determinism_mode(device_handles_[i], clkvalue); if (err == AMDSMI_STATUS_NOT_SUPPORTED) { IF_VERB(STANDARD) { std::cout << "\t**Not supported on this machine" << std::endl; } return; } else { - ret = amdsmi_dev_perf_level_get(device_handles_[i], &pfl); + ret = amdsmi_dev_get_perf_level(device_handles_[i], &pfl); CHK_ERR_ASRT(ret) IF_VERB(STANDARD) { std::cout << "\t**New Perf Level:" << GetPerfLevelStr(pfl) << @@ -130,9 +130,9 @@ void TestPerfDeterminism::Run(void) { } std::cout << "\t**Resetting performance determinism" << std::endl; - err = amdsmi_dev_perf_level_set(device_handles_[i], AMDSMI_DEV_PERF_LEVEL_AUTO);; + err = amdsmi_dev_set_perf_level(device_handles_[i], AMDSMI_DEV_PERF_LEVEL_AUTO);; CHK_ERR_ASRT(err) - ret = amdsmi_dev_perf_level_get(device_handles_[i], &pfl); + ret = amdsmi_dev_get_perf_level(device_handles_[i], &pfl); CHK_ERR_ASRT(ret) IF_VERB(STANDARD) { std::cout << "\t**New Perf Level:" << GetPerfLevelStr(pfl) << diff --git a/tests/amd_smi_test/functional/perf_level_read.cc b/tests/amd_smi_test/functional/perf_level_read.cc index fb0219a440..490dfc8e4c 100755 --- a/tests/amd_smi_test/functional/perf_level_read.cc +++ b/tests/amd_smi_test/functional/perf_level_read.cc @@ -98,14 +98,14 @@ void TestPerfLevelRead::Run(void) { for (uint32_t i = 0; i < num_monitor_devs(); ++i) { PrintDeviceHeader(device_handles_[i]); - err = amdsmi_dev_perf_level_get(device_handles_[i], &pfl); + err = amdsmi_dev_get_perf_level(device_handles_[i], &pfl); CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**Performance Level:" << std::dec << (uint32_t)pfl << std::endl; } // Verify api support checking functionality is working - err = amdsmi_dev_perf_level_get(device_handles_[i], nullptr); + err = amdsmi_dev_get_perf_level(device_handles_[i], nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); } } diff --git a/tests/amd_smi_test/functional/perf_level_read_write.cc b/tests/amd_smi_test/functional/perf_level_read_write.cc index f7f5e6259a..16d73191ec 100755 --- a/tests/amd_smi_test/functional/perf_level_read_write.cc +++ b/tests/amd_smi_test/functional/perf_level_read_write.cc @@ -101,7 +101,7 @@ void TestPerfLevelReadWrite::Run(void) { for (uint32_t dv_ind = 0; dv_ind < num_monitor_devs(); ++dv_ind) { PrintDeviceHeader(device_handles_[dv_ind]); - ret = amdsmi_dev_perf_level_get(device_handles_[dv_ind], &orig_pfl); + ret = amdsmi_dev_get_perf_level(device_handles_[dv_ind], &orig_pfl); CHK_ERR_ASRT(ret) IF_VERB(STANDARD) { @@ -120,14 +120,14 @@ void TestPerfLevelReadWrite::Run(void) { GetPerfLevelStr(static_cast(pfl_i)) << " ..." << std::endl; } - ret = amdsmi_dev_perf_level_set(device_handles_[dv_ind], + ret = amdsmi_dev_set_perf_level(device_handles_[dv_ind], static_cast(pfl_i)); if (ret == AMDSMI_STATUS_NOT_SUPPORTED) { std::cout << "\t**" << GetPerfLevelStr(static_cast(pfl_i)) << " returned AMDSMI_STATUS_NOT_SUPPORTED" << std::endl; } else { CHK_ERR_ASRT(ret) - ret = amdsmi_dev_perf_level_get(device_handles_[dv_ind], &pfl); + ret = amdsmi_dev_get_perf_level(device_handles_[dv_ind], &pfl); CHK_ERR_ASRT(ret) IF_VERB(STANDARD) { std::cout << "\t**New Perf Level:" << GetPerfLevelStr(pfl) << @@ -139,9 +139,9 @@ void TestPerfLevelReadWrite::Run(void) { std::cout << "Reset Perf level to " << GetPerfLevelStr(orig_pfl) << " ..." << std::endl; } - ret = amdsmi_dev_perf_level_set(device_handles_[dv_ind], orig_pfl); + ret = amdsmi_dev_set_perf_level(device_handles_[dv_ind], orig_pfl); CHK_ERR_ASRT(ret) - ret = amdsmi_dev_perf_level_get(device_handles_[dv_ind], &pfl); + ret = amdsmi_dev_get_perf_level(device_handles_[dv_ind], &pfl); CHK_ERR_ASRT(ret) IF_VERB(STANDARD) { diff --git a/tests/amd_smi_test/functional/power_cap_read_write.cc b/tests/amd_smi_test/functional/power_cap_read_write.cc index 35b8ec2978..9c87cd1b91 100755 --- a/tests/amd_smi_test/functional/power_cap_read_write.cc +++ b/tests/amd_smi_test/functional/power_cap_read_write.cc @@ -121,7 +121,7 @@ void TestPowerCapReadWrite::Run(void) { std::cout << "Setting new cap to " << new_cap << "..." << std::endl; } start = clock(); - ret = amdsmi_dev_power_cap_set(device_handles_[dv_ind], 0, new_cap); + ret = amdsmi_dev_set_power_cap(device_handles_[dv_ind], 0, new_cap); end = clock(); cpu_time_used = ((double) (end - start)) * 1000000UL / CLOCKS_PER_SEC; @@ -139,7 +139,7 @@ void TestPowerCapReadWrite::Run(void) { std::cout << "Resetting cap to " << orig << "..." << std::endl; } - ret = amdsmi_dev_power_cap_set(device_handles_[dv_ind], 0, orig); + ret = amdsmi_dev_set_power_cap(device_handles_[dv_ind], 0, orig); CHK_ERR_ASRT(ret) ret = amdsmi_get_power_cap_info(device_handles_[dv_ind], 0, &info); diff --git a/tests/amd_smi_test/functional/power_read.cc b/tests/amd_smi_test/functional/power_read.cc index da53582ca6..6d69e708bc 100755 --- a/tests/amd_smi_test/functional/power_read.cc +++ b/tests/amd_smi_test/functional/power_read.cc @@ -112,7 +112,7 @@ void TestPowerRead::Run(void) { info.max_power_cap << " uW" << std::endl; } - err = amdsmi_dev_power_ave_get(device_handles_[i], 0, &val_ui64); + err = amdsmi_dev_get_power_ave(device_handles_[i], 0, &val_ui64); IF_VERB(STANDARD) { std::cout << "\t**Averge Power Usage: "; CHK_AMDSMI_PERM_ERR(err) @@ -120,7 +120,7 @@ void TestPowerRead::Run(void) { std::cout << static_cast(val_ui64)/1000 << " mW" << std::endl; } // Verify api support checking functionality is working - err = amdsmi_dev_power_ave_get(device_handles_[i], 0, nullptr); + err = amdsmi_dev_get_power_ave(device_handles_[i], 0, nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); } } diff --git a/tests/amd_smi_test/functional/power_read_write.cc b/tests/amd_smi_test/functional/power_read_write.cc index f4e8261b9b..fa45c9c11f 100755 --- a/tests/amd_smi_test/functional/power_read_write.cc +++ b/tests/amd_smi_test/functional/power_read_write.cc @@ -122,7 +122,7 @@ void TestPowerReadWrite::Run(void) { for (uint32_t dv_ind = 0; dv_ind < num_monitor_devs(); ++dv_ind) { PrintDeviceHeader(device_handles_[dv_ind]); - ret = amdsmi_dev_power_profile_presets_get(device_handles_[dv_ind], 0, &status); + ret = amdsmi_dev_get_power_profile_presets(device_handles_[dv_ind], 0, &status); if (ret == AMDSMI_STATUS_NOT_SUPPORTED) { std::cout << "The power profile presets settings is not supported. " << std::endl; @@ -131,7 +131,7 @@ void TestPowerReadWrite::Run(void) { CHK_ERR_ASRT(ret) // Verify api support checking functionality is working - ret = amdsmi_dev_power_profile_presets_get(device_handles_[dv_ind], 0, nullptr); + ret = amdsmi_dev_get_power_profile_presets(device_handles_[dv_ind], 0, nullptr); ASSERT_EQ(ret, AMDSMI_STATUS_INVAL); IF_VERB(STANDARD) { @@ -172,27 +172,27 @@ void TestPowerReadWrite::Run(void) { return; } - ret = amdsmi_dev_power_profile_set(device_handles_[dv_ind], 0, new_prof); + ret = amdsmi_dev_set_power_profile(device_handles_[dv_ind], 0, new_prof); CHK_ERR_ASRT(ret) amdsmi_dev_perf_level_t pfl; - ret = amdsmi_dev_perf_level_get(device_handles_[dv_ind], &pfl); + ret = amdsmi_dev_get_perf_level(device_handles_[dv_ind], &pfl); CHK_ERR_ASRT(ret) ASSERT_EQ(pfl, AMDSMI_DEV_PERF_LEVEL_MANUAL); - ret = amdsmi_dev_power_profile_presets_get(device_handles_[dv_ind], 0, &status); + ret = amdsmi_dev_get_power_profile_presets(device_handles_[dv_ind], 0, &status); CHK_ERR_ASRT(ret) ASSERT_EQ(status.current, new_prof); - ret = amdsmi_dev_perf_level_set(device_handles_[dv_ind], AMDSMI_DEV_PERF_LEVEL_AUTO); + ret = amdsmi_dev_set_perf_level(device_handles_[dv_ind], AMDSMI_DEV_PERF_LEVEL_AUTO); CHK_ERR_ASRT(ret) - ret = amdsmi_dev_perf_level_get(device_handles_[dv_ind], &pfl); + ret = amdsmi_dev_get_perf_level(device_handles_[dv_ind], &pfl); CHK_ERR_ASRT(ret) ASSERT_EQ(pfl, AMDSMI_DEV_PERF_LEVEL_AUTO); - ret = amdsmi_dev_power_profile_presets_get(device_handles_[dv_ind], 0, &status); + ret = amdsmi_dev_get_power_profile_presets(device_handles_[dv_ind], 0, &status); CHK_ERR_ASRT(ret) ASSERT_EQ(status.current, orig_profile); diff --git a/tests/amd_smi_test/functional/process_info_read.cc b/tests/amd_smi_test/functional/process_info_read.cc index 3e6e7befbe..181b36cb90 100755 --- a/tests/amd_smi_test/functional/process_info_read.cc +++ b/tests/amd_smi_test/functional/process_info_read.cc @@ -104,7 +104,7 @@ void TestProcInfoRead::Run(void) { uint32_t num_devices = num_monitor_devs(); - err = amdsmi_compute_process_info_get(nullptr, &num_proc_found); + err = amdsmi_get_compute_process_info(nullptr, &num_proc_found); if (err != AMDSMI_STATUS_SUCCESS) { if (err == AMDSMI_STATUS_NOT_SUPPORTED) { IF_VERB(STANDARD) { @@ -129,7 +129,7 @@ void TestProcInfoRead::Run(void) { procs = new amdsmi_process_info_t[num_proc_found]; val_ui32 = num_proc_found; - err = amdsmi_compute_process_info_get(procs, &val_ui32); + err = amdsmi_get_compute_process_info(procs, &val_ui32); if (err != AMDSMI_STATUS_SUCCESS) { if (err == AMDSMI_STATUS_INSUFFICIENT_SIZE) { IF_VERB(STANDARD) { @@ -162,7 +162,7 @@ void TestProcInfoRead::Run(void) { uint32_t amt_allocd = num_devices; for (uint32_t j = 0; j < num_proc_found; j++) { - err = amdsmi_compute_process_gpus_get(procs[j].process_id, dev_inds, + err = amdsmi_get_compute_process_gpus(procs[j].process_id, dev_inds, &amt_allocd); if (err == AMDSMI_STATUS_NOT_FOUND) { std::cout << "\t** Process " << procs[j].process_id << @@ -191,13 +191,13 @@ void TestProcInfoRead::Run(void) { amdsmi_process_info_t proc_info; for (uint32_t j = 0; j < num_proc_found; j++) { memset(&proc_info, 0x0, sizeof(amdsmi_process_info_t)); - err = amdsmi_compute_process_info_by_pid_get(procs[j].process_id, + err = amdsmi_get_compute_process_info_by_pid(procs[j].process_id, &proc_info); if (err == AMDSMI_STATUS_NOT_FOUND) { std::cout << - "\t** WARNING: amdsmi_compute_process_info_get() found process " << + "\t** WARNING: amdsmi_get_compute_process_info() found process " << procs[j].process_id << ", but subsequently, " - "amdsmi_compute_process_info_by_pid_get() did not" + "amdsmi_get_compute_process_info_by_pid() did not" " find this same process." << std::endl; } else { CHK_ERR_ASRT(err) @@ -217,10 +217,10 @@ void TestProcInfoRead::Run(void) { if (num_proc_found > 1) { amdsmi_process_info_t tmp_proc; val_ui32 = 1; - err = amdsmi_compute_process_info_get(&tmp_proc, &val_ui32); + err = amdsmi_get_compute_process_info(&tmp_proc, &val_ui32); if (err != AMDSMI_STATUS_INSUFFICIENT_SIZE) { - std::cout << "Expected amdsmi_compute_process_info_get() to tell us" + std::cout << "Expected amdsmi_get_compute_process_info() to tell us" " there are more processes available, but instead go return code " << err << std::endl; } diff --git a/tests/amd_smi_test/functional/sys_info_read.cc b/tests/amd_smi_test/functional/sys_info_read.cc index c567c26745..3bc9be8c7b 100755 --- a/tests/amd_smi_test/functional/sys_info_read.cc +++ b/tests/amd_smi_test/functional/sys_info_read.cc @@ -128,24 +128,24 @@ void TestSysInfoRead::Run(void) { } } - err = amdsmi_dev_pci_id_get(device_handles_[i], &val_ui64); + err = amdsmi_dev_get_pci_id(device_handles_[i], &val_ui64); CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**PCI ID (BDFID): 0x" << std::hex << val_ui64; std::cout << " (" << std::dec << val_ui64 << ")" << std::endl; } // Verify api support checking functionality is working - err = amdsmi_dev_pci_id_get(device_handles_[i], nullptr); + err = amdsmi_dev_get_pci_id(device_handles_[i], nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); - err = amdsmi_topo_numa_affinity_get(device_handles_[i], &val_ui32); + err = amdsmi_topo_get_numa_affinity(device_handles_[i], &val_ui32); CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**NUMA NODE: 0x" << std::hex << val_ui32; std::cout << " (" << std::dec << val_ui32 << ")" << std::endl; } // Verify api support checking functionality is working - err = amdsmi_topo_numa_affinity_get(device_handles_[i], nullptr); + err = amdsmi_topo_get_numa_affinity(device_handles_[i], nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); @@ -177,7 +177,7 @@ void TestSysInfoRead::Run(void) { } } - err = amdsmi_version_get(&ver); + err = amdsmi_get_version(&ver); CHK_ERR_ASRT(err) ASSERT_TRUE(ver.major != 0xFFFFFFFF && ver.minor != 0xFFFFFFFF && diff --git a/tests/amd_smi_test/functional/temp_read.cc b/tests/amd_smi_test/functional/temp_read.cc index 0988783c27..93a3035c8f 100755 --- a/tests/amd_smi_test/functional/temp_read.cc +++ b/tests/amd_smi_test/functional/temp_read.cc @@ -114,7 +114,7 @@ void TestTempRead::Run(void) { auto print_temp_metric = [&](amdsmi_temperature_metric_t met, std::string label) { - err = amdsmi_dev_temp_metric_get(device_handles_[i], type, met, &val_i64); + err = amdsmi_dev_get_temp_metric(device_handles_[i], type, met, &val_i64); if (err != AMDSMI_STATUS_SUCCESS) { if (err == AMDSMI_STATUS_NOT_SUPPORTED) { @@ -124,7 +124,7 @@ void TestTempRead::Run(void) { } // Verify api support checking functionality is working - err = amdsmi_dev_temp_metric_get(device_handles_[i], type, met, nullptr); + err = amdsmi_dev_get_temp_metric(device_handles_[i], type, met, nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); return; } else { @@ -132,7 +132,7 @@ void TestTempRead::Run(void) { } } // Verify api support checking functionality is working - err = amdsmi_dev_temp_metric_get(device_handles_[i], type, met, nullptr); + err = amdsmi_dev_get_temp_metric(device_handles_[i], type, met, nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); IF_VERB(STANDARD) { diff --git a/tests/amd_smi_test/functional/version_read.cc b/tests/amd_smi_test/functional/version_read.cc index 42e00e0c30..7819368e67 100755 --- a/tests/amd_smi_test/functional/version_read.cc +++ b/tests/amd_smi_test/functional/version_read.cc @@ -101,7 +101,7 @@ void TestVersionRead::Run(void) { return; } - err = amdsmi_version_get(&ver); + err = amdsmi_get_version(&ver); CHK_ERR_ASRT(err) ASSERT_TRUE(ver.major != 0xFFFFFFFF && ver.minor != 0xFFFFFFFF && @@ -114,7 +114,7 @@ void TestVersionRead::Run(void) { char ver_str[kVerMaxStrLen]; for (uint32_t cmp = AMDSMI_SW_COMP_FIRST; cmp <= AMDSMI_SW_COMP_LAST; ++cmp) { - err = amdsmi_version_str_get(static_cast(cmp), + err = amdsmi_get_version_str(static_cast(cmp), ver_str, kVerMaxStrLen); CHK_ERR_ASRT(err) diff --git a/tests/amd_smi_test/functional/volt_freq_curv_read.cc b/tests/amd_smi_test/functional/volt_freq_curv_read.cc index ed3d075f50..e2da710dd9 100755 --- a/tests/amd_smi_test/functional/volt_freq_curv_read.cc +++ b/tests/amd_smi_test/functional/volt_freq_curv_read.cc @@ -157,20 +157,20 @@ void TestVoltCurvRead::Run(void) { for (uint32_t i = 0; i < num_monitor_devs(); ++i) { PrintDeviceHeader(device_handles_[i]); - err = amdsmi_dev_od_volt_info_get(device_handles_[i], &odv); + err = amdsmi_dev_get_od_volt_info(device_handles_[i], &odv); if (err == AMDSMI_STATUS_NOT_SUPPORTED) { IF_VERB(STANDARD) { std::cout << - "\t**amdsmi_dev_od_volt_info_get: Not supported on this machine" + "\t** amdsmi_dev_get_od_volt_info: Not supported on this machine" << std::endl; } // Verify api support checking functionality is working - err = amdsmi_dev_od_volt_info_get(device_handles_[i], nullptr); + err = amdsmi_dev_get_od_volt_info(device_handles_[i], nullptr); ASSERT_EQ(err, AMDSMI_STATUS_NOT_SUPPORTED); } else { CHK_ERR_ASRT(err) // Verify api support checking functionality is working - err = amdsmi_dev_od_volt_info_get(device_handles_[i], nullptr); + err = amdsmi_dev_get_od_volt_info(device_handles_[i], nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); } @@ -184,7 +184,7 @@ void TestVoltCurvRead::Run(void) { ASSERT_TRUE(regions != nullptr); num_regions = odv.num_regions; - err = amdsmi_dev_od_volt_curve_regions_get(device_handles_[i], &num_regions, regions); + err = amdsmi_dev_get_od_volt_curve_regions(device_handles_[i], &num_regions, regions); CHK_ERR_ASRT(err) ASSERT_TRUE(num_regions == odv.num_regions); diff --git a/tests/amd_smi_test/functional/volt_read.cc b/tests/amd_smi_test/functional/volt_read.cc index c643fcce38..961115d816 100644 --- a/tests/amd_smi_test/functional/volt_read.cc +++ b/tests/amd_smi_test/functional/volt_read.cc @@ -104,7 +104,7 @@ void TestVoltRead::Run(void) { auto print_volt_metric = [&](amdsmi_voltage_metric_t met, std::string label) { - err = amdsmi_dev_volt_metric_get(device_handles_[i], type, met, &val_i64); + err = amdsmi_dev_get_volt_metric(device_handles_[i], type, met, &val_i64); if (err != AMDSMI_STATUS_SUCCESS) { if (err == AMDSMI_STATUS_NOT_SUPPORTED) { @@ -113,7 +113,7 @@ void TestVoltRead::Run(void) { "Not supported on this machine" << std::endl; // Verify api support checking functionality is working - err = amdsmi_dev_volt_metric_get(device_handles_[i], type, met, nullptr); + err = amdsmi_dev_get_volt_metric(device_handles_[i], type, met, nullptr); ASSERT_EQ(err, AMDSMI_STATUS_NOT_SUPPORTED); return; } @@ -122,7 +122,7 @@ void TestVoltRead::Run(void) { } } // Verify api support checking functionality is working - err = amdsmi_dev_volt_metric_get(device_handles_[i], type, met, nullptr); + err = amdsmi_dev_get_volt_metric(device_handles_[i], type, met, nullptr); ASSERT_EQ(err, AMDSMI_STATUS_INVAL); IF_VERB(STANDARD) { diff --git a/tests/amd_smi_test/functional/xgmi_read_write.cc b/tests/amd_smi_test/functional/xgmi_read_write.cc index 148825f55a..2a8f391e35 100755 --- a/tests/amd_smi_test/functional/xgmi_read_write.cc +++ b/tests/amd_smi_test/functional/xgmi_read_write.cc @@ -140,7 +140,7 @@ void TestXGMIReadWrite::Run(void) { // TODO(cfree) We need to find a way to generate xgmi errors so this // test won't be meaningless - err = amdsmi_dev_xgmi_error_reset(device); + err = amdsmi_dev_reset_xgmi_error(device); CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**Successfully reset XGMI Error Status: " << std::endl; diff --git a/tests/amd_smi_test/test_base.cc b/tests/amd_smi_test/test_base.cc index 539a888835..4131aedb65 100644 --- a/tests/amd_smi_test/test_base.cc +++ b/tests/amd_smi_test/test_base.cc @@ -167,7 +167,7 @@ void TestBase::PrintDeviceHeader(amdsmi_device_handle dv_ind) { IF_VERB(STANDARD) { std::cout << "\t**Device handle: " << dv_ind << std::endl; } - err = amdsmi_dev_id_get(dv_ind, &val_ui16); + err = amdsmi_dev_get_id(dv_ind, &val_ui16); CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**Device ID: 0x" << std::hex << val_ui16 << std::endl; @@ -187,7 +187,7 @@ void TestBase::PrintDeviceHeader(amdsmi_device_handle dv_ind) { } } - err = amdsmi_dev_subsystem_id_get(dv_ind, &val_ui16); + err = amdsmi_dev_get_subsystem_id(dv_ind, &val_ui16); CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**Subsystem ID: 0x" << std::hex << val_ui16 << std::endl; From 4c56e9e3d637fbcd01fc489a8aae2733f55a1f98 Mon Sep 17 00:00:00 2001 From: Dalibor Stanisavljevic Date: Thu, 15 Dec 2022 13:34:38 +0100 Subject: [PATCH 3/5] SWDEV-371199 - Return NOT_INIT when amdsmi initialization fails Change-Id: Ifb40aef3a62885b08164e9aa944bf9b5c375ebfd Signed-off-by: Dalibor Stanisavljevic --- include/amd_smi/impl/amd_smi_common.h | 34 ++++ src/amd_smi/amd_smi.cc | 234 +++++++++++++++++++------- src/amd_smi/amd_smi_common.cc | 15 ++ src/amd_smi/amd_smi_system.cc | 9 +- 4 files changed, 226 insertions(+), 66 deletions(-) diff --git a/include/amd_smi/impl/amd_smi_common.h b/include/amd_smi/impl/amd_smi_common.h index 1874e8f73d..462bdee126 100644 --- a/include/amd_smi/impl/amd_smi_common.h +++ b/include/amd_smi/impl/amd_smi_common.h @@ -44,5 +44,39 @@ #ifndef AMD_SMI_INCLUDE_AMD_SMI_COMMON_H_ #define AMD_SMI_INCLUDE_AMD_SMI_COMMON_H_ +#include +#include "rocm_smi/rocm_smi.h" +#include "amd_smi/amdsmi.h" + +namespace amd { +namespace smi { + +// Define a map of rsmi status codes to amdsmi status codes +const std::map rsmi_status_map = { + {RSMI_STATUS_SUCCESS, AMDSMI_STATUS_SUCCESS}, + {RSMI_STATUS_INVALID_ARGS, AMDSMI_STATUS_INVAL}, + {RSMI_STATUS_NOT_SUPPORTED, AMDSMI_STATUS_NOT_SUPPORTED}, + {RSMI_STATUS_PERMISSION, AMDSMI_STATUS_NO_PERM}, + {RSMI_STATUS_OUT_OF_RESOURCES, AMDSMI_STATUS_OUT_OF_RESOURCES}, + {RSMI_STATUS_INTERNAL_EXCEPTION, AMDSMI_STATUS_INTERNAL_EXCEPTION}, + {RSMI_STATUS_INPUT_OUT_OF_BOUNDS, AMDSMI_STATUS_INPUT_OUT_OF_BOUNDS}, + {RSMI_STATUS_INIT_ERROR, AMDSMI_STATUS_NOT_INIT}, + {RSMI_INITIALIZATION_ERROR, AMDSMI_STATUS_NOT_INIT}, + {RSMI_STATUS_NOT_YET_IMPLEMENTED, AMDSMI_STATUS_NOT_YET_IMPLEMENTED}, + {RSMI_STATUS_NOT_FOUND, AMDSMI_STATUS_NOT_FOUND}, + {RSMI_STATUS_INSUFFICIENT_SIZE, AMDSMI_STATUS_INSUFFICIENT_SIZE}, + {RSMI_STATUS_INTERRUPT, AMDSMI_STATUS_INTERRUPT}, + {RSMI_STATUS_UNEXPECTED_SIZE, AMDSMI_STATUS_UNEXPECTED_SIZE}, + {RSMI_STATUS_NO_DATA, AMDSMI_STATUS_NO_DATA}, + {RSMI_STATUS_UNEXPECTED_DATA, AMDSMI_STATUS_UNEXPECTED_DATA}, + {RSMI_STATUS_BUSY, AMDSMI_STATUS_BUSY}, + {RSMI_STATUS_REFCOUNT_OVERFLOW, AMDSMI_STATUS_REFCOUNT_OVERFLOW}, + {RSMI_STATUS_UNKNOWN_ERROR, AMDSMI_STATUS_UNKNOWN_ERROR}, +}; + +amdsmi_status_t rsmi_to_amdsmi_status(rsmi_status_t status); + +} // namespace smi +} // namespace amd #endif // AMD_SMI_INCLUDE_AMD_SMI_COMMON_H_ diff --git a/src/amd_smi/amd_smi.cc b/src/amd_smi/amd_smi.cc index 00abc9bc52..60b829c64d 100644 --- a/src/amd_smi/amd_smi.cc +++ b/src/amd_smi/amd_smi.cc @@ -68,45 +68,19 @@ #include "amd_smi/impl/amdgpu_drm.h" #include "amd_smi/impl/amd_smi_utils.h" -// Define a map of rsmi status codes to amdsmi status codes -static const std::map rsmi_status_map = { - {RSMI_STATUS_SUCCESS, AMDSMI_STATUS_SUCCESS}, - {RSMI_STATUS_INVALID_ARGS, AMDSMI_STATUS_INVAL}, - {RSMI_STATUS_NOT_SUPPORTED, AMDSMI_STATUS_NOT_SUPPORTED}, - {RSMI_STATUS_PERMISSION, AMDSMI_STATUS_NO_PERM}, - {RSMI_STATUS_OUT_OF_RESOURCES, AMDSMI_STATUS_OUT_OF_RESOURCES}, - {RSMI_STATUS_INTERNAL_EXCEPTION, AMDSMI_STATUS_INTERNAL_EXCEPTION}, - {RSMI_STATUS_INPUT_OUT_OF_BOUNDS, AMDSMI_STATUS_INPUT_OUT_OF_BOUNDS}, - {RSMI_STATUS_INIT_ERROR, AMDSMI_STATUS_INIT_ERROR}, - {RSMI_INITIALIZATION_ERROR, AMDSMI_STATUS_INIT_ERROR}, - {RSMI_STATUS_NOT_YET_IMPLEMENTED, AMDSMI_STATUS_NOT_YET_IMPLEMENTED}, - {RSMI_STATUS_NOT_FOUND, AMDSMI_STATUS_NOT_FOUND}, - {RSMI_STATUS_INSUFFICIENT_SIZE, AMDSMI_STATUS_INSUFFICIENT_SIZE}, - {RSMI_STATUS_INTERRUPT, AMDSMI_STATUS_INTERRUPT}, - {RSMI_STATUS_UNEXPECTED_SIZE, AMDSMI_STATUS_UNEXPECTED_SIZE}, - {RSMI_STATUS_NO_DATA, AMDSMI_STATUS_NO_DATA}, - {RSMI_STATUS_UNEXPECTED_DATA, AMDSMI_STATUS_UNEXPECTED_DATA}, - {RSMI_STATUS_BUSY, AMDSMI_STATUS_BUSY}, - {RSMI_STATUS_REFCOUNT_OVERFLOW, AMDSMI_STATUS_REFCOUNT_OVERFLOW}, - {RSMI_STATUS_UNKNOWN_ERROR, AMDSMI_STATUS_UNKNOWN_ERROR}, -}; +static bool initialized_lib = false; -static amdsmi_status_t rsmi_to_amdsmi_status(rsmi_status_t status) { - amdsmi_status_t amdsmi_status = AMDSMI_STATUS_MAP_ERROR; - - // Look for it in the map - // If found: use the mapped value - // If not found: return the map error established above - auto search = rsmi_status_map.find(status); - if (search != rsmi_status_map.end()) { - amdsmi_status = search->second; - } - - return amdsmi_status; -} +#define AMDSMI_CHECK_INIT() do { \ + if (!initialized_lib) { \ + return AMDSMI_STATUS_NOT_INIT; \ + } \ +} while (0) static amdsmi_status_t get_gpu_device_from_handle(amdsmi_device_handle device_handle, amd::smi::AMDSmiGPUDevice** gpudevice) { + + AMDSMI_CHECK_INIT(); + if (device_handle == nullptr || gpudevice == nullptr) return AMDSMI_STATUS_INVAL; @@ -125,7 +99,10 @@ static amdsmi_status_t get_gpu_device_from_handle(amdsmi_device_handle device_ha template amdsmi_status_t rsmi_wrapper(F && f, - amdsmi_device_handle device_handle, Args &&... args) { + amdsmi_device_handle device_handle, Args &&... args) { + + AMDSMI_CHECK_INIT(); + amd::smi::AMDSmiGPUDevice* gpu_device = nullptr; amdsmi_status_t r = get_gpu_device_from_handle(device_handle, &gpu_device); if (r != AMDSMI_STATUS_SUCCESS) return r; @@ -134,17 +111,30 @@ amdsmi_status_t rsmi_wrapper(F && f, uint32_t gpu_index = gpu_device->get_gpu_id(); auto rstatus = std::forward(f)(gpu_index, std::forward(args)...); - return rsmi_to_amdsmi_status(rstatus); + return amd::smi::rsmi_to_amdsmi_status(rstatus); } amdsmi_status_t amdsmi_init(uint64_t flags) { - return amd::smi::AMDSmiSystem::getInstance().init(flags); + if (initialized_lib) + return AMDSMI_STATUS_SUCCESS; + + amdsmi_status_t status = amd::smi::AMDSmiSystem::getInstance().init(flags); + if (status == AMDSMI_STATUS_SUCCESS) { + initialized_lib = true; + } + return status; } amdsmi_status_t amdsmi_shut_down() { - return amd::smi::AMDSmiSystem::getInstance().cleanup(); + if (!initialized_lib) + return AMDSMI_STATUS_SUCCESS; + amdsmi_status_t status = amd::smi::AMDSmiSystem::getInstance().cleanup(); + if (status == AMDSMI_STATUS_SUCCESS) { + initialized_lib = false; + } + return status; } amdsmi_status_t @@ -162,7 +152,7 @@ amdsmi_status_string(amdsmi_status_t status, const char **status_string) { default: // The case above didn't have a match, so look up the amdsmi status in the rsmi status map // If found, get the rsmi status string. If not, return unknown error string - for (auto& iter : rsmi_status_map) { + for (auto& iter : amd::smi::rsmi_status_map) { if (iter.second == status) { rsmi_status_string(iter.first, status_string); return AMDSMI_STATUS_SUCCESS; @@ -177,6 +167,9 @@ amdsmi_status_string(amdsmi_status_t status, const char **status_string) { amdsmi_status_t amdsmi_get_socket_handles(uint32_t *socket_count, amdsmi_socket_handle* socket_handles) { + + AMDSMI_CHECK_INIT(); + if (socket_count == nullptr) { return AMDSMI_STATUS_INVAL; } @@ -204,6 +197,8 @@ amdsmi_status_t amdsmi_get_socket_handles(uint32_t *socket_count, amdsmi_status_t amdsmi_get_socket_info( amdsmi_socket_handle socket_handle, char *name, size_t len) { + AMDSMI_CHECK_INIT(); + if (socket_handle == nullptr || name == nullptr) { return AMDSMI_STATUS_INVAL; } @@ -222,6 +217,8 @@ amdsmi_status_t amdsmi_get_socket_info( amdsmi_status_t amdsmi_get_device_handles(amdsmi_socket_handle socket_handle, uint32_t* device_count, amdsmi_device_handle* device_handles) { + AMDSMI_CHECK_INIT(); + if (device_count == nullptr) { return AMDSMI_STATUS_INVAL; } @@ -254,6 +251,9 @@ amdsmi_status_t amdsmi_get_device_handles(amdsmi_socket_handle socket_handle, amdsmi_status_t amdsmi_get_device_type(amdsmi_device_handle device_handle , device_type_t* device_type) { + + AMDSMI_CHECK_INIT(); + if (device_type == nullptr) { return AMDSMI_STATUS_INVAL; } @@ -268,6 +268,9 @@ amdsmi_status_t amdsmi_get_device_type(amdsmi_device_handle device_handle , amdsmi_status_t amdsmi_get_device_bdf(amdsmi_device_handle device_handle, amdsmi_bdf_t *bdf) { + + AMDSMI_CHECK_INIT(); + if (bdf == NULL) { return AMDSMI_STATUS_INVAL; } @@ -282,6 +285,9 @@ amdsmi_get_device_bdf(amdsmi_device_handle device_handle, amdsmi_bdf_t *bdf) { } amdsmi_status_t amdsmi_get_board_info(amdsmi_device_handle device_handle, amdsmi_board_info_t *board_info) { + + AMDSMI_CHECK_INIT(); + if (board_info == NULL) { return AMDSMI_STATUS_INVAL; } @@ -309,6 +315,9 @@ amdsmi_status_t amdsmi_get_board_info(amdsmi_device_handle device_handle, amdsmi amdsmi_status_t amdsmi_dev_get_temp_metric(amdsmi_device_handle device_handle, uint32_t sensor_type, amdsmi_temperature_metric_t metric, int64_t *temperature) { + + AMDSMI_CHECK_INIT(); + if (temperature == nullptr) { return AMDSMI_STATUS_INVAL; } @@ -331,6 +340,9 @@ amdsmi_status_t amdsmi_dev_get_temp_metric(amdsmi_device_handle device_handle, amdsmi_status_t amdsmi_get_vram_usage(amdsmi_device_handle device_handle, amdsmi_vram_info_t *vram_info) { + + AMDSMI_CHECK_INIT(); + if (vram_info == NULL) { return AMDSMI_STATUS_INVAL; } @@ -367,6 +379,9 @@ amdsmi_status_t amdsmi_get_vram_usage(amdsmi_device_handle device_handle, amdsmi_status_t amdsmi_get_caps_info(amdsmi_device_handle device_handle, struct amdsmi_gpu_caps *info) { + + AMDSMI_CHECK_INIT(); + if (info == nullptr) { return AMDSMI_STATUS_INVAL; } @@ -511,6 +526,8 @@ amdsmi_status_t amdsmi_get_fw_info(amdsmi_device_handle device_handle, { FW_ID_VCN, RSMI_FW_BLOCK_VCN} }; + AMDSMI_CHECK_INIT(); + if (info == nullptr) return AMDSMI_STATUS_INVAL; memset(info, 0, sizeof(amdsmi_fw_info_t)); @@ -531,6 +548,9 @@ amdsmi_status_t amdsmi_get_fw_info(amdsmi_device_handle device_handle, // TODO(bliu) : add other asic info amdsmi_status_t amdsmi_get_asic_info(amdsmi_device_handle device_handle, amdsmi_asic_info_t *info) { + + AMDSMI_CHECK_INIT(); + if (info == nullptr) { return AMDSMI_STATUS_INVAL; } @@ -623,6 +643,8 @@ amdsmi_status_t amdsmi_status_t amdsmi_get_event_notification(int timeout_ms, uint32_t *num_elem, amdsmi_evt_notification_data_t *data) { + AMDSMI_CHECK_INIT(); + if (num_elem == nullptr || data == nullptr) { return AMDSMI_STATUS_INVAL; } @@ -632,9 +654,8 @@ amdsmi_status_t rsmi_status_t r = rsmi_event_notification_get( timeout_ms, num_elem, &r_data[0]); if (r != RSMI_STATUS_SUCCESS) { - return rsmi_to_amdsmi_status(r); + return amd::smi::rsmi_to_amdsmi_status(r); } - // convert output for (uint32_t i=0; i < *num_elem; i++) { rsmi_evt_notification_data_t rsmi_data = r_data[i]; @@ -671,7 +692,7 @@ amdsmi_status_t amdsmi_dev_create_counter(amdsmi_device_handle device_handle, amdsmi_status_t amdsmi_dev_destroy_counter(amdsmi_event_handle_t evnt_handle) { rsmi_status_t r = rsmi_dev_counter_destroy( static_cast(evnt_handle)); - return rsmi_to_amdsmi_status(r); + return amd::smi::rsmi_to_amdsmi_status(r); } amdsmi_status_t amdsmi_control_counter(amdsmi_event_handle_t evt_handle, @@ -679,7 +700,7 @@ amdsmi_status_t amdsmi_control_counter(amdsmi_event_handle_t evt_handle, rsmi_status_t r = rsmi_counter_control( static_cast(evt_handle), static_cast(cmd), cmd_args); - return rsmi_to_amdsmi_status(r); + return amd::smi::rsmi_to_amdsmi_status(r); } amdsmi_status_t @@ -688,7 +709,7 @@ amdsmi_read_counter(amdsmi_event_handle_t evt_handle, rsmi_status_t r = rsmi_counter_read( static_cast(evt_handle), reinterpret_cast(value)); - return rsmi_to_amdsmi_status(r); + return amd::smi::rsmi_to_amdsmi_status(r); } amdsmi_status_t @@ -707,6 +728,8 @@ amdsmi_topo_get_numa_node_number(amdsmi_device_handle device_handle, uint32_t *n amdsmi_status_t amdsmi_topo_get_link_weight(amdsmi_device_handle device_handle_src, amdsmi_device_handle device_handle_dst, uint64_t *weight) { + AMDSMI_CHECK_INIT(); + amd::smi::AMDSmiGPUDevice* src_device = nullptr; amd::smi::AMDSmiGPUDevice* dst_device = nullptr; amdsmi_status_t r = get_gpu_device_from_handle(device_handle_src, &src_device); @@ -717,12 +740,14 @@ amdsmi_topo_get_link_weight(amdsmi_device_handle device_handle_src, amdsmi_devic return r; auto rstatus = rsmi_topo_get_link_weight(src_device->get_gpu_id(), dst_device->get_gpu_id(), weight); - return rsmi_to_amdsmi_status(rstatus); + return amd::smi::rsmi_to_amdsmi_status(rstatus); } amdsmi_status_t amdsmi_get_minmax_bandwidth(amdsmi_device_handle device_handle_src, amdsmi_device_handle device_handle_dst, uint64_t *min_bandwidth, uint64_t *max_bandwidth) { + AMDSMI_CHECK_INIT(); + amd::smi::AMDSmiGPUDevice* src_device = nullptr; amd::smi::AMDSmiGPUDevice* dst_device = nullptr; amdsmi_status_t r = get_gpu_device_from_handle(device_handle_src, &src_device); @@ -733,12 +758,14 @@ amdsmi_status_t return r; auto rstatus = rsmi_minmax_bandwidth_get(src_device->get_gpu_id(), dst_device->get_gpu_id(), min_bandwidth, max_bandwidth); - return rsmi_to_amdsmi_status(rstatus); + return amd::smi::rsmi_to_amdsmi_status(rstatus); } amdsmi_status_t amdsmi_topo_get_link_type(amdsmi_device_handle device_handle_src, amdsmi_device_handle device_handle_dst, uint64_t *hops, AMDSMI_IO_LINK_TYPE *type) { + AMDSMI_CHECK_INIT(); + amd::smi::AMDSmiGPUDevice* src_device = nullptr; amd::smi::AMDSmiGPUDevice* dst_device = nullptr; amdsmi_status_t r = get_gpu_device_from_handle(device_handle_src, &src_device); @@ -749,13 +776,15 @@ amdsmi_topo_get_link_type(amdsmi_device_handle device_handle_src, amdsmi_device_ return r; auto rstatus = rsmi_topo_get_link_type(src_device->get_gpu_id(), dst_device->get_gpu_id(), hops, reinterpret_cast(type)); - return rsmi_to_amdsmi_status(rstatus); + return amd::smi::rsmi_to_amdsmi_status(rstatus); } amdsmi_status_t amdsmi_is_P2P_accessible(amdsmi_device_handle device_handle_src, amdsmi_device_handle device_handle_dst, bool *accessible) { + AMDSMI_CHECK_INIT(); + amd::smi::AMDSmiGPUDevice* src_device = nullptr; amd::smi::AMDSmiGPUDevice* dst_device = nullptr; amdsmi_status_t r = get_gpu_device_from_handle(device_handle_src, &src_device); @@ -766,12 +795,14 @@ amdsmi_is_P2P_accessible(amdsmi_device_handle device_handle_src, return r; auto rstatus = rsmi_is_P2P_accessible(src_device->get_gpu_id(), dst_device->get_gpu_id(), accessible); - return rsmi_to_amdsmi_status(rstatus); + return amd::smi::rsmi_to_amdsmi_status(rstatus); } // TODO(bliu) : other xgmi related information amdsmi_status_t amdsmi_get_xgmi_info(amdsmi_device_handle device_handle, amdsmi_xgmi_info_t *info) { + AMDSMI_CHECK_INIT(); + if (info == nullptr) return AMDSMI_STATUS_INVAL; return rsmi_wrapper(rsmi_dev_xgmi_hive_id_get, device_handle, @@ -792,6 +823,8 @@ amdsmi_dev_reset_xgmi_error(amdsmi_device_handle device_handle) { amdsmi_status_t amdsmi_dev_open_supported_func_iterator(amdsmi_device_handle device_handle, amdsmi_func_id_iter_handle_t *handle) { + AMDSMI_CHECK_INIT(); + if (handle == nullptr) return AMDSMI_STATUS_INVAL; return rsmi_wrapper(rsmi_dev_supported_func_iterator_open, device_handle, @@ -801,33 +834,42 @@ amdsmi_dev_open_supported_func_iterator(amdsmi_device_handle device_handle, amdsmi_status_t amdsmi_dev_open_supported_variant_iterator(amdsmi_func_id_iter_handle_t obj_h, amdsmi_func_id_iter_handle_t *var_iter) { + AMDSMI_CHECK_INIT(); + if (var_iter == nullptr) return AMDSMI_STATUS_INVAL; auto r = rsmi_dev_supported_variant_iterator_open( reinterpret_cast(obj_h), reinterpret_cast(var_iter)); - return rsmi_to_amdsmi_status(r); + return amd::smi::rsmi_to_amdsmi_status(r); } amdsmi_status_t amdsmi_next_func_iter(amdsmi_func_id_iter_handle_t handle) { + AMDSMI_CHECK_INIT(); + auto r = rsmi_func_iter_next( reinterpret_cast(handle)); - return rsmi_to_amdsmi_status(r); + return amd::smi::rsmi_to_amdsmi_status(r); } amdsmi_status_t amdsmi_dev_close_supported_func_iterator(amdsmi_func_id_iter_handle_t *handle) { + AMDSMI_CHECK_INIT(); + if (handle == nullptr) return AMDSMI_STATUS_INVAL; auto r = rsmi_dev_supported_func_iterator_close( reinterpret_cast(handle)); - return rsmi_to_amdsmi_status(r); + return amd::smi::rsmi_to_amdsmi_status(r); } amdsmi_status_t amdsmi_get_func_iter_value(amdsmi_func_id_iter_handle_t handle, amdsmi_func_id_value_t *value) { + + AMDSMI_CHECK_INIT(); + if (value == nullptr) return AMDSMI_STATUS_INVAL; @@ -904,50 +946,58 @@ amdsmi_get_func_iter_value(amdsmi_func_id_iter_handle_t handle, reinterpret_cast(value)); if ( r != RSMI_STATUS_SUCCESS ) - return rsmi_to_amdsmi_status(r); + return amd::smi::rsmi_to_amdsmi_status(r); // Only change the function name, FUNC_ITER == 0 if (rocm_func_handle->id_type != 0) - return rsmi_to_amdsmi_status(r); + return amd::smi::rsmi_to_amdsmi_status(r); auto iter = rsmi_2_amdsmi.find(value->name); if (iter != rsmi_2_amdsmi.end()) { value->name = (*iter).second; } - return rsmi_to_amdsmi_status(r); + return amd::smi::rsmi_to_amdsmi_status(r); } amdsmi_status_t amdsmi_get_compute_process_info(amdsmi_process_info_t *procs, uint32_t *num_items) { + AMDSMI_CHECK_INIT(); + if (num_items == nullptr) return AMDSMI_STATUS_INVAL; auto r = rsmi_compute_process_info_get( reinterpret_cast(procs), num_items); - return rsmi_to_amdsmi_status(r); + return amd::smi::rsmi_to_amdsmi_status(r); } amdsmi_status_t amdsmi_get_compute_process_info_by_pid(uint32_t pid, amdsmi_process_info_t *proc) { + AMDSMI_CHECK_INIT(); + if (proc == nullptr) return AMDSMI_STATUS_INVAL; auto r = rsmi_compute_process_info_by_pid_get(pid, reinterpret_cast(proc)); - return rsmi_to_amdsmi_status(r); + return amd::smi::rsmi_to_amdsmi_status(r); } amdsmi_status_t amdsmi_get_compute_process_gpus(uint32_t pid, uint32_t *dv_indices, uint32_t *num_devices) { + AMDSMI_CHECK_INIT(); + if (dv_indices == nullptr || num_devices == nullptr) return AMDSMI_STATUS_INVAL; auto r = rsmi_compute_process_gpus_get(pid, dv_indices, num_devices); - return rsmi_to_amdsmi_status(r); + return amd::smi::rsmi_to_amdsmi_status(r); } amdsmi_status_t amdsmi_dev_get_ecc_count(amdsmi_device_handle device_handle, amdsmi_gpu_block_t block, amdsmi_error_count_t *ec) { + AMDSMI_CHECK_INIT(); + if (ec == nullptr) return AMDSMI_STATUS_INVAL; return rsmi_wrapper(rsmi_dev_ecc_count_get, device_handle, @@ -956,6 +1006,8 @@ amdsmi_status_t amdsmi_dev_get_ecc_count(amdsmi_device_handle device_handle, } amdsmi_status_t amdsmi_dev_get_ecc_enabled(amdsmi_device_handle device_handle, uint64_t *enabled_blocks) { + AMDSMI_CHECK_INIT(); + if (enabled_blocks == nullptr) return AMDSMI_STATUS_INVAL; return rsmi_wrapper(rsmi_dev_ecc_enabled_get, device_handle, @@ -964,6 +1016,8 @@ amdsmi_status_t amdsmi_dev_get_ecc_enabled(amdsmi_device_handle device_handle, amdsmi_status_t amdsmi_dev_get_ecc_status(amdsmi_device_handle device_handle, amdsmi_gpu_block_t block, amdsmi_ras_err_state_t *state) { + AMDSMI_CHECK_INIT(); + if (state == nullptr) return AMDSMI_STATUS_INVAL; return rsmi_wrapper(rsmi_dev_ecc_status_get, device_handle, @@ -974,6 +1028,8 @@ amdsmi_status_t amdsmi_dev_get_ecc_status(amdsmi_device_handle device_handle, amdsmi_status_t amdsmi_dev_get_busy_percent(amdsmi_device_handle device_handle, uint32_t *busy_percent) { + AMDSMI_CHECK_INIT(); + if (busy_percent == nullptr) return AMDSMI_STATUS_INVAL; return rsmi_wrapper(rsmi_dev_busy_percent_get, device_handle, @@ -982,6 +1038,8 @@ amdsmi_dev_get_busy_percent(amdsmi_device_handle device_handle, amdsmi_status_t amdsmi_dev_get_gpu_metrics_info( amdsmi_device_handle device_handle, amdsmi_gpu_metrics_t *pgpu_metrics) { + AMDSMI_CHECK_INIT(); + if (pgpu_metrics == nullptr) return AMDSMI_STATUS_INVAL; return rsmi_wrapper(rsmi_dev_gpu_metrics_info_get, device_handle, @@ -992,6 +1050,8 @@ amdsmi_status_t amdsmi_get_power_cap_info(amdsmi_device_handle device_handle, uint32_t sensor_ind, amdsmi_power_cap_info_t *info) { + AMDSMI_CHECK_INIT(); + if (info == nullptr) return AMDSMI_STATUS_INVAL; @@ -1033,6 +1093,8 @@ amdsmi_status_t amdsmi_status_t amdsmi_dev_get_power_ave(amdsmi_device_handle device_handle, uint32_t sensor_ind, uint64_t *power) { + AMDSMI_CHECK_INIT(); + if (power == nullptr) return AMDSMI_STATUS_INVAL; return rsmi_wrapper(rsmi_dev_power_ave_get, device_handle, @@ -1042,6 +1104,8 @@ amdsmi_status_t amdsmi_dev_get_power_profile_presets(amdsmi_device_handle device_handle, uint32_t sensor_ind, amdsmi_power_profile_status_t *status) { + AMDSMI_CHECK_INIT(); + if (status == nullptr) return AMDSMI_STATUS_INVAL; return rsmi_wrapper(rsmi_dev_power_profile_presets_get, device_handle, @@ -1064,6 +1128,8 @@ amdsmi_status_t } amdsmi_status_t amdsmi_dev_get_perf_level(amdsmi_device_handle device_handle, amdsmi_dev_perf_level_t *perf) { + AMDSMI_CHECK_INIT(); + if (perf == nullptr) return AMDSMI_STATUS_INVAL; return rsmi_wrapper(rsmi_dev_perf_level_get, device_handle, @@ -1098,6 +1164,8 @@ amdsmi_status_t amdsmi_dev_get_pci_bandwidth(amdsmi_device_handle device_handle, // TODO(bliu): other frequencies in amdsmi_clk_type_t amdsmi_status_t amdsmi_dev_get_gpu_clk_freq(amdsmi_device_handle device_handle, amdsmi_clk_type_t clk_type, amdsmi_frequencies_t *f) { + AMDSMI_CHECK_INIT(); + if (f == nullptr) return AMDSMI_STATUS_INVAL; @@ -1140,6 +1208,8 @@ amdsmi_status_t amdsmi_dev_get_gpu_clk_freq(amdsmi_device_handle device_handle, amdsmi_status_t amdsmi_dev_set_clk_freq(amdsmi_device_handle device_handle, amdsmi_clk_type_t clk_type, uint64_t freq_bitmask) { + AMDSMI_CHECK_INIT(); + // Not support the clock type read from gpu_metrics if (clk_type == CLK_TYPE_VCLK0 || clk_type == CLK_TYPE_VCLK1 || @@ -1201,8 +1271,8 @@ amdsmi_status_t amdsmi_dev_get_od_volt_info(amdsmi_device_handle device_handle, amdsmi_status_t amdsmi_dev_get_od_volt_curve_regions( amdsmi_device_handle device_handle, uint32_t *num_regions, amdsmi_freq_volt_region_t *buffer) { - return rsmi_wrapper(rsmi_dev_od_volt_curve_regions_get, device_handle, - num_regions, reinterpret_cast(buffer)); + return rsmi_wrapper(rsmi_dev_od_volt_curve_regions_get, device_handle, + num_regions, reinterpret_cast(buffer)); } amdsmi_status_t amdsmi_dev_get_volt_metric(amdsmi_device_handle device_handle, @@ -1288,27 +1358,33 @@ amdsmi_status_t amdsmi_topo_get_numa_affinity( } amdsmi_status_t amdsmi_get_version(amdsmi_version_t *version) { + AMDSMI_CHECK_INIT(); + if (version == nullptr) return AMDSMI_STATUS_INVAL; auto rstatus = rsmi_version_get( reinterpret_cast(version)); - return rsmi_to_amdsmi_status(rstatus); + return amd::smi::rsmi_to_amdsmi_status(rstatus); } amdsmi_status_t amdsmi_get_version_str(amdsmi_sw_component_t component, char *ver_str, uint32_t len) { + AMDSMI_CHECK_INIT(); + if (ver_str == nullptr) return AMDSMI_STATUS_INVAL; auto status = rsmi_version_str_get( static_cast(component), ver_str, len); - return rsmi_to_amdsmi_status(status); + return amd::smi::rsmi_to_amdsmi_status(status); } amdsmi_status_t amdsmi_get_vbios_info(amdsmi_device_handle device_handle, amdsmi_vbios_info_t *info) { + AMDSMI_CHECK_INIT(); + if (info == nullptr) { return AMDSMI_STATUS_INVAL; } @@ -1348,6 +1424,8 @@ amdsmi_get_vbios_info(amdsmi_device_handle device_handle, amdsmi_vbios_info_t *i amdsmi_status_t amdsmi_get_gpu_activity(amdsmi_device_handle device_handle, amdsmi_engine_usage_t *info) { + AMDSMI_CHECK_INIT(); + if (info == nullptr) { return AMDSMI_STATUS_INVAL; } @@ -1369,6 +1447,8 @@ amdsmi_get_gpu_activity(amdsmi_device_handle device_handle, amdsmi_engine_usage_ amdsmi_status_t amdsmi_get_power_limit(amdsmi_device_handle device_handle, amdsmi_power_limit_t *power) { + AMDSMI_CHECK_INIT(); + if (power == nullptr) { return AMDSMI_STATUS_INVAL; } @@ -1388,6 +1468,8 @@ amdsmi_get_power_limit(amdsmi_device_handle device_handle, amdsmi_power_limit_t amdsmi_status_t amdsmi_get_clock_measure(amdsmi_device_handle device_handle, amdsmi_clk_type_t clk_type, amdsmi_clk_measure_t *info) { + AMDSMI_CHECK_INIT(); + if (info == nullptr) { return AMDSMI_STATUS_INVAL; } @@ -1439,6 +1521,8 @@ amdsmi_get_clock_measure(amdsmi_device_handle device_handle, amdsmi_clk_type_t c amdsmi_status_t amdsmi_get_temperature_limit(amdsmi_device_handle device_handle, amdsmi_temperature_type_t temp_type, amdsmi_temperature_limit_t *temp) { + AMDSMI_CHECK_INIT(); + if (temp == nullptr || temp_type > TEMPERATURE_TYPE__MAX) { return AMDSMI_STATUS_INVAL; } @@ -1504,6 +1588,8 @@ amdsmi_get_temperature_limit(amdsmi_device_handle device_handle, amdsmi_temperat } amdsmi_status_t amdsmi_get_temperature_measure(amdsmi_device_handle device_handle, amdsmi_temperature_type_t temp_type, amdsmi_temperature_t *info) { + AMDSMI_CHECK_INIT(); + if (info == nullptr || temp_type > TEMPERATURE_TYPE__MAX) { return AMDSMI_STATUS_INVAL; } @@ -1538,6 +1624,8 @@ amdsmi_get_temperature_measure(amdsmi_device_handle device_handle, amdsmi_temper amdsmi_status_t amdsmi_get_ras_block_features_enabled(amdsmi_device_handle device_handle, amdsmi_gpu_block block, amdsmi_ras_err_state_t *state) { + AMDSMI_CHECK_INIT(); + if (state == nullptr || block > AMDSMI_GPU_BLOCK_LAST) { return AMDSMI_STATUS_INVAL; } @@ -1557,6 +1645,8 @@ amdsmi_get_ras_block_features_enabled(amdsmi_device_handle device_handle, amdsmi amdsmi_status_t amdsmi_get_bad_page_info(amdsmi_device_handle device_handle, uint32_t *num_pages, amdsmi_retired_page_record_t *info) { + AMDSMI_CHECK_INIT(); + if (num_pages == nullptr) { return AMDSMI_STATUS_INVAL; } @@ -1579,6 +1669,8 @@ amdsmi_get_bad_page_info(amdsmi_device_handle device_handle, uint32_t *num_pages amdsmi_status_t amdsmi_get_ecc_error_count(amdsmi_device_handle device_handle, amdsmi_error_count_t *ec) { + AMDSMI_CHECK_INIT(); + if (ec == nullptr) { return AMDSMI_STATUS_INVAL; } @@ -1601,6 +1693,8 @@ amdsmi_get_ecc_error_count(amdsmi_device_handle device_handle, amdsmi_error_coun amdsmi_status_t amdsmi_get_process_list(amdsmi_device_handle device_handle, amdsmi_process_handle *list, uint32_t *max_processes) { + AMDSMI_CHECK_INIT(); + if (max_processes == nullptr) { return AMDSMI_STATUS_INVAL; } @@ -1644,6 +1738,8 @@ amdsmi_get_process_list(amdsmi_device_handle device_handle, amdsmi_process_handl amdsmi_status_t amdsmi_get_process_info(amdsmi_device_handle device_handle, amdsmi_process_handle process, amdsmi_proc_info_t *info) { + AMDSMI_CHECK_INIT(); + if (info == nullptr) { return AMDSMI_STATUS_INVAL; } @@ -1664,6 +1760,8 @@ amdsmi_get_process_info(amdsmi_device_handle device_handle, amdsmi_process_handl amdsmi_status_t amdsmi_get_power_measure(amdsmi_device_handle device_handle, amdsmi_power_measure_t *info) { + AMDSMI_CHECK_INIT(); + if (info == nullptr) { return AMDSMI_STATUS_INVAL; } @@ -1695,6 +1793,8 @@ amdsmi_get_power_measure(amdsmi_device_handle device_handle, amdsmi_power_measur amdsmi_status_t amdsmi_get_target_frequency_range(amdsmi_device_handle device_handle, amdsmi_clk_type_t clk_type, amdsmi_frequency_range_t *range) { + AMDSMI_CHECK_INIT(); + if (range == nullptr || clk_type > CLK_TYPE__MAX) { return AMDSMI_STATUS_INVAL; } @@ -1741,6 +1841,8 @@ amdsmi_get_target_frequency_range(amdsmi_device_handle device_handle, amdsmi_clk amdsmi_status_t amdsmi_get_driver_version(amdsmi_device_handle device_handle, int *length, char *version) { + AMDSMI_CHECK_INIT(); + if (length == nullptr || version == nullptr) { return AMDSMI_STATUS_INVAL; } @@ -1754,6 +1856,8 @@ amdsmi_get_driver_version(amdsmi_device_handle device_handle, int *length, char amdsmi_status_t amdsmi_get_device_uuid(amdsmi_device_handle device_handle, unsigned int *uuid_length, char *uuid) { + AMDSMI_CHECK_INIT(); + if (uuid_length == nullptr || uuid == nullptr) { return AMDSMI_STATUS_INVAL; } @@ -1797,6 +1901,8 @@ amdsmi_get_device_uuid(amdsmi_device_handle device_handle, unsigned int *uuid_le amdsmi_status_t amdsmi_get_pcie_link_status(amdsmi_device_handle device_handle, amdsmi_pcie_info_t *info){ + AMDSMI_CHECK_INIT(); + if (info == nullptr) { return AMDSMI_STATUS_INVAL; } @@ -1814,6 +1920,8 @@ amdsmi_get_pcie_link_status(amdsmi_device_handle device_handle, amdsmi_pcie_info } amdsmi_status_t amdsmi_get_pcie_link_caps(amdsmi_device_handle device_handle, amdsmi_pcie_info_t *info) { + AMDSMI_CHECK_INIT(); + if (info == nullptr) { return AMDSMI_STATUS_INVAL; } @@ -1876,6 +1984,8 @@ amdsmi_status_t amdsmi_get_device_handle_from_bdf(amdsmi_bdf_t bdf, uint32_t device_count = AMDSMI_MAX_DEVICES; amdsmi_device_handle devs[AMDSMI_MAX_DEVICES]; + AMDSMI_CHECK_INIT(); + if (device_handle == nullptr) { return AMDSMI_STATUS_INVAL; } diff --git a/src/amd_smi/amd_smi_common.cc b/src/amd_smi/amd_smi_common.cc index f2bacb54ee..b6b153a513 100644 --- a/src/amd_smi/amd_smi_common.cc +++ b/src/amd_smi/amd_smi_common.cc @@ -42,11 +42,26 @@ */ #include +#include "amd_smi/amdsmi.h" #include "amd_smi/impl/amd_smi_common.h" namespace amd { namespace smi { +amdsmi_status_t rsmi_to_amdsmi_status(rsmi_status_t status) { + amdsmi_status_t amdsmi_status = AMDSMI_STATUS_MAP_ERROR; + + // Look for it in the map + // If found: use the mapped value + // If not found: return the map error established above + auto search = amd::smi::rsmi_status_map.find(status); + if (search != amd::smi::rsmi_status_map.end()) { + amdsmi_status = search->second; + } + + return amdsmi_status; +} + } // namespace smi } // namespace amd diff --git a/src/amd_smi/amd_smi_system.cc b/src/amd_smi/amd_smi_system.cc index 7f3c48eff7..282b883123 100644 --- a/src/amd_smi/amd_smi_system.cc +++ b/src/amd_smi/amd_smi_system.cc @@ -44,6 +44,7 @@ #include #include "amd_smi/impl/amd_smi_system.h" #include "amd_smi/impl/amd_smi_gpu_device.h" +#include "amd_smi/impl/amd_smi_common.h" #include "rocm_smi/rocm_smi.h" #include "rocm_smi/rocm_smi_main.h" @@ -73,13 +74,13 @@ amdsmi_status_t AMDSmiSystem::populate_amd_gpu_devices() { // init rsmi rsmi_status_t ret = rsmi_init(0); if (ret != RSMI_STATUS_SUCCESS) { - return static_cast(ret); + return amd::smi::rsmi_to_amdsmi_status(ret); } uint32_t device_count = 0; ret = rsmi_num_monitor_devices(&device_count); if (ret != RSMI_STATUS_SUCCESS) { - return static_cast(ret); + return amd::smi::rsmi_to_amdsmi_status(ret); } for (uint32_t i=0; i < device_count; i++) { @@ -115,7 +116,7 @@ amdsmi_status_t AMDSmiSystem::get_gpu_bdf_by_index(uint32_t index, uint64_t bdfid = 0; rsmi_status_t ret = rsmi_dev_pci_id_get(index, &bdfid); if (ret != RSMI_STATUS_SUCCESS) { - return static_cast(ret); + return amd::smi::rsmi_to_amdsmi_status(ret); } uint64_t domain = (bdfid >> 32) & 0xffffffff; @@ -140,7 +141,7 @@ amdsmi_status_t AMDSmiSystem::cleanup() { init_flag_ = AMDSMI_INIT_ALL_DEVICES; rsmi_status_t ret = rsmi_shut_down(); if (ret != RSMI_STATUS_SUCCESS) { - return static_cast(ret); + return amd::smi::rsmi_to_amdsmi_status(ret); } drm_.cleanup(); From e22e72d4c33f85af5b725d2081166decdedc6ecd Mon Sep 17 00:00:00 2001 From: Dalibor Stanisavljevic Date: Tue, 20 Dec 2022 14:01:53 +0100 Subject: [PATCH 4/5] SWDEV-371492 - Added check that device_handle is valid Change-Id: Ic1b593fd5f781650528c860c372fa9864624255d Signed-off-by: Dalibor Stanisavljevic --- src/amd_smi/amd_smi.cc | 158 +++++++++++++++++++++++----------- src/amd_smi/amd_smi_system.cc | 2 +- 2 files changed, 110 insertions(+), 50 deletions(-) diff --git a/src/amd_smi/amd_smi.cc b/src/amd_smi/amd_smi.cc index 60b829c64d..ce7d41d7fc 100644 --- a/src/amd_smi/amd_smi.cc +++ b/src/amd_smi/amd_smi.cc @@ -275,8 +275,10 @@ amdsmi_get_device_bdf(amdsmi_device_handle device_handle, amdsmi_bdf_t *bdf) { return AMDSMI_STATUS_INVAL; } - amd::smi::AMDSmiGPUDevice* gpu_device = - static_cast(device_handle); + amd::smi::AMDSmiGPUDevice* gpu_device = nullptr; + amdsmi_status_t r = get_gpu_device_from_handle(device_handle, &gpu_device); + if (r != AMDSMI_STATUS_SUCCESS) + return r; // get bdf from sysfs file *bdf = gpu_device->get_bdf(); @@ -293,8 +295,10 @@ amdsmi_status_t amdsmi_get_board_info(amdsmi_device_handle device_handle, amdsmi } amdsmi_status_t status; - amd::smi::AMDSmiGPUDevice* gpu_device = - static_cast(device_handle); + amd::smi::AMDSmiGPUDevice* gpu_device = nullptr; + amdsmi_status_t r = get_gpu_device_from_handle(device_handle, &gpu_device); + if (r != AMDSMI_STATUS_SUCCESS) + return r; // Get from sys file status = smi_amdgpu_get_board_info(gpu_device, board_info); @@ -348,15 +352,18 @@ amdsmi_status_t amdsmi_get_vram_usage(amdsmi_device_handle device_handle, } amd::smi::AMDSmiDevice* device = nullptr; - amdsmi_status_t r = amd::smi::AMDSmiSystem::getInstance() + amdsmi_status_t ret = amd::smi::AMDSmiSystem::getInstance() .handle_to_device(device_handle, &device); - if (r != AMDSMI_STATUS_SUCCESS) return r; + if (ret != AMDSMI_STATUS_SUCCESS) return ret; if (device->get_device_type() != AMD_GPU) { return AMDSMI_STATUS_NOT_SUPPORTED; } - amd::smi::AMDSmiGPUDevice* gpu_device = - static_cast(device_handle); + + amd::smi::AMDSmiGPUDevice* gpu_device = nullptr; + amdsmi_status_t r = get_gpu_device_from_handle(device_handle, &gpu_device); + if (r != AMDSMI_STATUS_SUCCESS) + return r; struct drm_amdgpu_info_vram_gtt gtt; uint64_t vram_used = 0; @@ -387,15 +394,17 @@ amdsmi_status_t amdsmi_get_caps_info(amdsmi_device_handle device_handle, } amd::smi::AMDSmiDevice* amd_device = nullptr; - amdsmi_status_t r = amd::smi::AMDSmiSystem::getInstance() + amdsmi_status_t ret = amd::smi::AMDSmiSystem::getInstance() .handle_to_device(device_handle, &amd_device); - if (r != AMDSMI_STATUS_SUCCESS) return r; + if (ret != AMDSMI_STATUS_SUCCESS) return ret; if (amd_device->get_device_type() != AMD_GPU) { return AMDSMI_STATUS_NOT_SUPPORTED; } - amd::smi::AMDSmiGPUDevice* gpu_device = - static_cast(device_handle); + amd::smi::AMDSmiGPUDevice* gpu_device = nullptr; + amdsmi_status_t r = get_gpu_device_from_handle(device_handle, &gpu_device); + if (r != AMDSMI_STATUS_SUCCESS) + return r; unsigned uvd, vce, uvd_enc, vcn_enc; struct drm_amdgpu_info_hw_ip ip; @@ -560,8 +569,11 @@ amdsmi_get_asic_info(amdsmi_device_handle device_handle, amdsmi_asic_info_t *inf char* name; char *tmp; - amd::smi::AMDSmiGPUDevice* gpu_device = - static_cast(device_handle); + amd::smi::AMDSmiGPUDevice* gpu_device = nullptr; + amdsmi_status_t r = get_gpu_device_from_handle(device_handle, &gpu_device); + if (r != AMDSMI_STATUS_SUCCESS) + return r; + amdsmi_status_t status; if (gpu_device->check_if_drm_is_supported()){ status = gpu_device->amdgpu_query_info(AMDGPU_INFO_DEV_INFO, sizeof(struct drm_amdgpu_info_device), &dev_info); @@ -1055,8 +1067,11 @@ amdsmi_get_power_cap_info(amdsmi_device_handle device_handle, if (info == nullptr) return AMDSMI_STATUS_INVAL; - amd::smi::AMDSmiGPUDevice* gpudevice = - static_cast(device_handle); + amd::smi::AMDSmiGPUDevice* gpudevice = nullptr; + amdsmi_status_t r = get_gpu_device_from_handle(device_handle, &gpudevice); + if (r != AMDSMI_STATUS_SUCCESS) + return r; + amdsmi_status_t status; // Ignore errors to get as much as possible info. @@ -1388,12 +1403,16 @@ amdsmi_get_vbios_info(amdsmi_device_handle device_handle, amdsmi_vbios_info_t *i if (info == nullptr) { return AMDSMI_STATUS_INVAL; } - struct drm_amdgpu_info_vbios vbios = {}; - amd::smi::AMDSmiGPUDevice* gpu_device = - static_cast(device_handle); + struct drm_amdgpu_info_vbios vbios = {}; amdsmi_status_t status; + amd::smi::AMDSmiGPUDevice* gpu_device = nullptr; + amdsmi_status_t r = get_gpu_device_from_handle(device_handle, &gpu_device); + if (r != AMDSMI_STATUS_SUCCESS) + return r; + + if (gpu_device->check_if_drm_is_supported()) { status = gpu_device->amdgpu_query_vbios(&vbios); if (status != AMDSMI_STATUS_SUCCESS) { @@ -1431,8 +1450,10 @@ amdsmi_get_gpu_activity(amdsmi_device_handle device_handle, amdsmi_engine_usage_ } amdsmi_gpu_metrics_t metrics = {}; - amd::smi::AMDSmiGPUDevice* gpu_device = - static_cast(device_handle); + amd::smi::AMDSmiGPUDevice* gpu_device = nullptr; + amdsmi_status_t r = get_gpu_device_from_handle(device_handle, &gpu_device); + if (r != AMDSMI_STATUS_SUCCESS) + return r; amdsmi_status_t status; status = amdsmi_dev_get_gpu_metrics_info(device_handle, &metrics); if (status != AMDSMI_STATUS_SUCCESS) { @@ -1453,8 +1474,10 @@ amdsmi_get_power_limit(amdsmi_device_handle device_handle, amdsmi_power_limit_t return AMDSMI_STATUS_INVAL; } - amd::smi::AMDSmiGPUDevice* gpu_device = - static_cast(device_handle); + amd::smi::AMDSmiGPUDevice* gpu_device = nullptr; + amdsmi_status_t r = get_gpu_device_from_handle(device_handle, &gpu_device); + if (r != AMDSMI_STATUS_SUCCESS) + return r; amdsmi_status_t status; int power_limit; status = smi_amdgpu_get_power_cap(gpu_device, &power_limit); @@ -1479,8 +1502,10 @@ amdsmi_get_clock_measure(amdsmi_device_handle device_handle, amdsmi_clk_type_t c } amdsmi_gpu_metrics_t metrics = {}; - amd::smi::AMDSmiGPUDevice* gpu_device = - static_cast(device_handle); + amd::smi::AMDSmiGPUDevice* gpu_device = nullptr; + amdsmi_status_t r = get_gpu_device_from_handle(device_handle, &gpu_device); + if (r != AMDSMI_STATUS_SUCCESS) + return r; amdsmi_status_t status; status = amdsmi_dev_get_gpu_metrics_info(device_handle, &metrics); @@ -1526,8 +1551,11 @@ amdsmi_get_temperature_limit(amdsmi_device_handle device_handle, amdsmi_temperat if (temp == nullptr || temp_type > TEMPERATURE_TYPE__MAX) { return AMDSMI_STATUS_INVAL; } - amd::smi::AMDSmiGPUDevice* gpu_device = - static_cast(device_handle); + amd::smi::AMDSmiGPUDevice* gpu_device = nullptr; + amdsmi_status_t r = get_gpu_device_from_handle(device_handle, &gpu_device); + if (r != AMDSMI_STATUS_SUCCESS) + return r; + amdsmi_status_t status; std::string name; std::string path; @@ -1595,8 +1623,11 @@ amdsmi_get_temperature_measure(amdsmi_device_handle device_handle, amdsmi_temper } amdsmi_gpu_metrics_t metrics; - amd::smi::AMDSmiGPUDevice* gpu_device = - static_cast(device_handle); + amd::smi::AMDSmiGPUDevice* gpu_device = nullptr; + amdsmi_status_t r = get_gpu_device_from_handle(device_handle, &gpu_device); + if (r != AMDSMI_STATUS_SUCCESS) + return r; + amdsmi_status_t status; status = amdsmi_dev_get_gpu_metrics_info(device_handle, &metrics); if (status != AMDSMI_STATUS_SUCCESS) { @@ -1631,8 +1662,11 @@ amdsmi_get_ras_block_features_enabled(amdsmi_device_handle device_handle, amdsmi } uint64_t features_mask = 0; - amd::smi::AMDSmiGPUDevice* gpu_device = - static_cast(device_handle); + amd::smi::AMDSmiGPUDevice* gpu_device = nullptr; + amdsmi_status_t r = get_gpu_device_from_handle(device_handle, &gpu_device); + if (r != AMDSMI_STATUS_SUCCESS) + return r; + amdsmi_status_t status; status = smi_amdgpu_get_enabled_blocks(gpu_device, &features_mask); if (status != AMDSMI_STATUS_SUCCESS) { @@ -1651,8 +1685,11 @@ amdsmi_get_bad_page_info(amdsmi_device_handle device_handle, uint32_t *num_pages return AMDSMI_STATUS_INVAL; } - amd::smi::AMDSmiGPUDevice* gpu_device = - static_cast(device_handle); + amd::smi::AMDSmiGPUDevice* gpu_device = nullptr; + amdsmi_status_t r = get_gpu_device_from_handle(device_handle, &gpu_device); + if (r != AMDSMI_STATUS_SUCCESS) + return r; + amdsmi_status_t status; if (gpu_device->check_if_drm_is_supported()){ status = smi_amdgpu_get_bad_page_info(gpu_device, num_pages, info); @@ -1675,8 +1712,11 @@ amdsmi_get_ecc_error_count(amdsmi_device_handle device_handle, amdsmi_error_coun return AMDSMI_STATUS_INVAL; } - amd::smi::AMDSmiGPUDevice* gpu_device = - static_cast(device_handle); + amd::smi::AMDSmiGPUDevice* gpu_device = nullptr; + amdsmi_status_t r = get_gpu_device_from_handle(device_handle, &gpu_device); + if (r != AMDSMI_STATUS_SUCCESS) + return r; + amdsmi_status_t status; if (gpu_device->check_if_drm_is_supported()){ status = smi_amdgpu_get_ecc_error_count(gpu_device, ec); @@ -1703,8 +1743,11 @@ amdsmi_get_process_list(amdsmi_device_handle device_handle, amdsmi_process_handl uint32_t i = 0; uint64_t size = 0; amdsmi_status_t status; - amd::smi::AMDSmiGPUDevice* gpu_device = - static_cast(device_handle); + amd::smi::AMDSmiGPUDevice* gpu_device = nullptr; + amdsmi_status_t r = get_gpu_device_from_handle(device_handle, &gpu_device); + if (r != AMDSMI_STATUS_SUCCESS) + return r; + if (gpu_device->check_if_drm_is_supported()){ amdsmi_bdf_t bdf = gpu_device->get_bdf(); status = gpuvsmi_get_pids(bdf, pids, &size); @@ -1744,8 +1787,11 @@ amdsmi_get_process_info(amdsmi_device_handle device_handle, amdsmi_process_handl return AMDSMI_STATUS_INVAL; } - amd::smi::AMDSmiGPUDevice* gpu_device = - static_cast(device_handle); + amd::smi::AMDSmiGPUDevice* gpu_device = nullptr; + amdsmi_status_t r = get_gpu_device_from_handle(device_handle, &gpu_device); + if (r != AMDSMI_STATUS_SUCCESS) + return r; + amdsmi_status_t status; if (gpu_device->check_if_drm_is_supported()) { status = gpuvsmi_get_pid_info(gpu_device->get_bdf(), process, *info); @@ -1767,8 +1813,11 @@ amdsmi_get_power_measure(amdsmi_device_handle device_handle, amdsmi_power_measur } amdsmi_gpu_metrics_t metrics = {}; - amd::smi::AMDSmiGPUDevice* gpu_device = - static_cast(device_handle); + amd::smi::AMDSmiGPUDevice* gpu_device = nullptr; + amdsmi_status_t r = get_gpu_device_from_handle(device_handle, &gpu_device); + if (r != AMDSMI_STATUS_SUCCESS) + return r; + amdsmi_status_t status; status = amdsmi_dev_get_gpu_metrics_info(device_handle, &metrics); @@ -1800,8 +1849,11 @@ amdsmi_get_target_frequency_range(amdsmi_device_handle device_handle, amdsmi_clk } amdsmi_gpu_metrics_t metrics = {}; - amd::smi::AMDSmiGPUDevice* gpu_device = - static_cast(device_handle); + amd::smi::AMDSmiGPUDevice* gpu_device = nullptr; + amdsmi_status_t r = get_gpu_device_from_handle(device_handle, &gpu_device); + if (r != AMDSMI_STATUS_SUCCESS) + return r; + amdsmi_status_t status; int min = 0, max = 0; @@ -1847,8 +1899,11 @@ amdsmi_get_driver_version(amdsmi_device_handle device_handle, int *length, char return AMDSMI_STATUS_INVAL; } amdsmi_status_t status = AMDSMI_STATUS_SUCCESS; - amd::smi::AMDSmiGPUDevice* gpu_device = - static_cast(device_handle); + amd::smi::AMDSmiGPUDevice* gpu_device = nullptr; + amdsmi_status_t r = get_gpu_device_from_handle(device_handle, &gpu_device); + if (r != AMDSMI_STATUS_SUCCESS) + return r; + status = smi_amdgpu_get_driver_version(gpu_device, length, version); return status; @@ -1862,8 +1917,11 @@ amdsmi_get_device_uuid(amdsmi_device_handle device_handle, unsigned int *uuid_le return AMDSMI_STATUS_INVAL; } - amd::smi::AMDSmiGPUDevice* gpu_device = - static_cast(device_handle); + amd::smi::AMDSmiGPUDevice* gpu_device = nullptr; + amdsmi_status_t r = get_gpu_device_from_handle(device_handle, &gpu_device); + if (r != AMDSMI_STATUS_SUCCESS) + return r; + amdsmi_status_t status = AMDSMI_STATUS_SUCCESS; SMIGPUDEVICE_MUTEX(gpu_device->get_mutex()) @@ -1927,8 +1985,10 @@ amdsmi_status_t amdsmi_get_pcie_link_caps(amdsmi_device_handle device_handle, am } amdsmi_status_t status = AMDSMI_STATUS_SUCCESS; - amd::smi::AMDSmiGPUDevice* gpu_device = - static_cast(device_handle); + amd::smi::AMDSmiGPUDevice* gpu_device = nullptr; + amdsmi_status_t r = get_gpu_device_from_handle(device_handle, &gpu_device); + if (r != AMDSMI_STATUS_SUCCESS) + return r; SMIGPUDEVICE_MUTEX(gpu_device->get_mutex()) diff --git a/src/amd_smi/amd_smi_system.cc b/src/amd_smi/amd_smi_system.cc index 282b883123..b104294a06 100644 --- a/src/amd_smi/amd_smi_system.cc +++ b/src/amd_smi/amd_smi_system.cc @@ -177,7 +177,7 @@ amdsmi_status_t AMDSmiSystem::handle_to_device( != devices_.end()) { return AMDSMI_STATUS_SUCCESS; } - return AMDSMI_STATUS_INVAL; + return AMDSMI_STATUS_NOT_FOUND; } amdsmi_status_t AMDSmiSystem::gpu_index_to_handle(uint32_t gpu_index, From 0bdd45e93558fd6055e277e9bc4e1ef96e428934 Mon Sep 17 00:00:00 2001 From: Dalibor Stanisavljevic Date: Fri, 23 Dec 2022 14:09:28 +0100 Subject: [PATCH 5/5] SWDEV-371492 - Updated python wrapper Change-Id: I04f9f825ecdbe06de9ca95cf19e3f5bca972ec95 Signed-off-by: Dalibor Stanisavljevic --- py-interface/amdsmi_wrapper.py | 269 ++++++++++++++++----------------- 1 file changed, 134 insertions(+), 135 deletions(-) diff --git a/py-interface/amdsmi_wrapper.py b/py-interface/amdsmi_wrapper.py index d0d1e32e8f..35b4c4d972 100644 --- a/py-interface/amdsmi_wrapper.py +++ b/py-interface/amdsmi_wrapper.py @@ -1639,80 +1639,79 @@ amdsmi_status_t__enumvalues = { 0: 'AMDSMI_STATUS_SUCCESS', 1: 'AMDSMI_STATUS_INVAL', 2: 'AMDSMI_STATUS_NOT_SUPPORTED', - 3: 'AMDSMI_STATUS_FILE_ERROR', - 4: 'AMDSMI_STATUS_NO_PERM', - 5: 'AMDSMI_STATUS_OUT_OF_RESOURCES', - 6: 'AMDSMI_STATUS_INTERNAL_EXCEPTION', - 7: 'AMDSMI_STATUS_INPUT_OUT_OF_BOUNDS', - 8: 'AMDSMI_STATUS_INIT_ERROR', - 9: 'AMDSMI_STATUS_NOT_YET_IMPLEMENTED', - 10: 'AMDSMI_STATUS_NOT_FOUND', - 11: 'AMDSMI_STATUS_INSUFFICIENT_SIZE', - 12: 'AMDSMI_STATUS_INTERRUPT', - 13: 'AMDSMI_STATUS_UNEXPECTED_SIZE', - 14: 'AMDSMI_STATUS_NO_DATA', - 15: 'AMDSMI_STATUS_UNEXPECTED_DATA', - 16: 'AMDSMI_STATUS_BUSY', - 17: 'AMDSMI_STATUS_REFCOUNT_OVERFLOW', - 1000: 'AMDSMI_LIB_START', - 1000: 'AMDSMI_STATUS_FAIL_LOAD_MODULE', - 1001: 'AMDSMI_STATUS_FAIL_LOAD_SYMBOL', - 1002: 'AMDSMI_STATUS_DRM_ERROR', - 1003: 'AMDSMI_STATUS_IO', - 1004: 'AMDSMI_STATUS_FAULT', - 1005: 'AMDSMI_STATUS_API_FAILED', - 1006: 'AMDSMI_STATUS_TIMEOUT', - 1007: 'AMDSMI_STATUS_NO_SLOT', - 1008: 'AMDSMI_STATUS_RETRY', - 1009: 'AMDSMI_STATUS_NOT_INIT', + 3: 'AMDSMI_STATUS_NOT_YET_IMPLEMENTED', + 4: 'AMDSMI_STATUS_FAIL_LOAD_MODULE', + 5: 'AMDSMI_STATUS_FAIL_LOAD_SYMBOL', + 6: 'AMDSMI_STATUS_DRM_ERROR', + 7: 'AMDSMI_STATUS_API_FAILED', + 8: 'AMDSMI_STATUS_TIMEOUT', + 9: 'AMDSMI_STATUS_RETRY', + 10: 'AMDSMI_STATUS_NO_PERM', + 11: 'AMDSMI_STATUS_INTERRUPT', + 12: 'AMDSMI_STATUS_IO', + 13: 'AMDSMI_STATUS_ADDRESS_FAULT', + 14: 'AMDSMI_STATUS_FILE_ERROR', + 15: 'AMDSMI_STATUS_OUT_OF_RESOURCES', + 16: 'AMDSMI_STATUS_INTERNAL_EXCEPTION', + 17: 'AMDSMI_STATUS_INPUT_OUT_OF_BOUNDS', + 18: 'AMDSMI_STATUS_INIT_ERROR', + 19: 'AMDSMI_STATUS_REFCOUNT_OVERFLOW', + 30: 'AMDSMI_STATUS_BUSY', + 31: 'AMDSMI_STATUS_NOT_FOUND', + 32: 'AMDSMI_STATUS_NOT_INIT', + 33: 'AMDSMI_STATUS_NO_SLOT', + 40: 'AMDSMI_STATUS_NO_DATA', + 41: 'AMDSMI_STATUS_INSUFFICIENT_SIZE', + 42: 'AMDSMI_STATUS_UNEXPECTED_SIZE', + 43: 'AMDSMI_STATUS_UNEXPECTED_DATA', + 4294967294: 'AMDSMI_STATUS_MAP_ERROR', 4294967295: 'AMDSMI_STATUS_UNKNOWN_ERROR', } AMDSMI_STATUS_SUCCESS = 0 AMDSMI_STATUS_INVAL = 1 AMDSMI_STATUS_NOT_SUPPORTED = 2 -AMDSMI_STATUS_FILE_ERROR = 3 -AMDSMI_STATUS_NO_PERM = 4 -AMDSMI_STATUS_OUT_OF_RESOURCES = 5 -AMDSMI_STATUS_INTERNAL_EXCEPTION = 6 -AMDSMI_STATUS_INPUT_OUT_OF_BOUNDS = 7 -AMDSMI_STATUS_INIT_ERROR = 8 -AMDSMI_STATUS_NOT_YET_IMPLEMENTED = 9 -AMDSMI_STATUS_NOT_FOUND = 10 -AMDSMI_STATUS_INSUFFICIENT_SIZE = 11 -AMDSMI_STATUS_INTERRUPT = 12 -AMDSMI_STATUS_UNEXPECTED_SIZE = 13 -AMDSMI_STATUS_NO_DATA = 14 -AMDSMI_STATUS_UNEXPECTED_DATA = 15 -AMDSMI_STATUS_BUSY = 16 -AMDSMI_STATUS_REFCOUNT_OVERFLOW = 17 -AMDSMI_LIB_START = 1000 -AMDSMI_STATUS_FAIL_LOAD_MODULE = 1000 -AMDSMI_STATUS_FAIL_LOAD_SYMBOL = 1001 -AMDSMI_STATUS_DRM_ERROR = 1002 -AMDSMI_STATUS_IO = 1003 -AMDSMI_STATUS_FAULT = 1004 -AMDSMI_STATUS_API_FAILED = 1005 -AMDSMI_STATUS_TIMEOUT = 1006 -AMDSMI_STATUS_NO_SLOT = 1007 -AMDSMI_STATUS_RETRY = 1008 -AMDSMI_STATUS_NOT_INIT = 1009 +AMDSMI_STATUS_NOT_YET_IMPLEMENTED = 3 +AMDSMI_STATUS_FAIL_LOAD_MODULE = 4 +AMDSMI_STATUS_FAIL_LOAD_SYMBOL = 5 +AMDSMI_STATUS_DRM_ERROR = 6 +AMDSMI_STATUS_API_FAILED = 7 +AMDSMI_STATUS_TIMEOUT = 8 +AMDSMI_STATUS_RETRY = 9 +AMDSMI_STATUS_NO_PERM = 10 +AMDSMI_STATUS_INTERRUPT = 11 +AMDSMI_STATUS_IO = 12 +AMDSMI_STATUS_ADDRESS_FAULT = 13 +AMDSMI_STATUS_FILE_ERROR = 14 +AMDSMI_STATUS_OUT_OF_RESOURCES = 15 +AMDSMI_STATUS_INTERNAL_EXCEPTION = 16 +AMDSMI_STATUS_INPUT_OUT_OF_BOUNDS = 17 +AMDSMI_STATUS_INIT_ERROR = 18 +AMDSMI_STATUS_REFCOUNT_OVERFLOW = 19 +AMDSMI_STATUS_BUSY = 30 +AMDSMI_STATUS_NOT_FOUND = 31 +AMDSMI_STATUS_NOT_INIT = 32 +AMDSMI_STATUS_NO_SLOT = 33 +AMDSMI_STATUS_NO_DATA = 40 +AMDSMI_STATUS_INSUFFICIENT_SIZE = 41 +AMDSMI_STATUS_UNEXPECTED_SIZE = 42 +AMDSMI_STATUS_UNEXPECTED_DATA = 43 +AMDSMI_STATUS_MAP_ERROR = 4294967294 AMDSMI_STATUS_UNKNOWN_ERROR = 4294967295 amdsmi_status_t = ctypes.c_uint32 # enum __all__ += \ ['AMDSMI_INIT_ALL_DEVICES', 'AMDSMI_INIT_AMD_CPUS', 'AMDSMI_INIT_AMD_GPUS', 'AMDSMI_INIT_NON_AMD_CPUS', - 'AMDSMI_INIT_NON_AMD_GPUS', 'AMDSMI_LIB_START', 'AMDSMI_MM_UVD', - 'AMDSMI_MM_VCE', 'AMDSMI_MM_VCN', 'AMDSMI_MM__MAX', + 'AMDSMI_INIT_NON_AMD_GPUS', 'AMDSMI_MM_UVD', 'AMDSMI_MM_VCE', + 'AMDSMI_MM_VCN', 'AMDSMI_MM__MAX', 'AMDSMI_STATUS_ADDRESS_FAULT', 'AMDSMI_STATUS_API_FAILED', 'AMDSMI_STATUS_BUSY', 'AMDSMI_STATUS_DRM_ERROR', 'AMDSMI_STATUS_FAIL_LOAD_MODULE', - 'AMDSMI_STATUS_FAIL_LOAD_SYMBOL', 'AMDSMI_STATUS_FAULT', - 'AMDSMI_STATUS_FILE_ERROR', 'AMDSMI_STATUS_INIT_ERROR', - 'AMDSMI_STATUS_INPUT_OUT_OF_BOUNDS', + 'AMDSMI_STATUS_FAIL_LOAD_SYMBOL', 'AMDSMI_STATUS_FILE_ERROR', + 'AMDSMI_STATUS_INIT_ERROR', 'AMDSMI_STATUS_INPUT_OUT_OF_BOUNDS', 'AMDSMI_STATUS_INSUFFICIENT_SIZE', 'AMDSMI_STATUS_INTERNAL_EXCEPTION', 'AMDSMI_STATUS_INTERRUPT', 'AMDSMI_STATUS_INVAL', 'AMDSMI_STATUS_IO', - 'AMDSMI_STATUS_NOT_FOUND', 'AMDSMI_STATUS_NOT_INIT', - 'AMDSMI_STATUS_NOT_SUPPORTED', + 'AMDSMI_STATUS_MAP_ERROR', 'AMDSMI_STATUS_NOT_FOUND', + 'AMDSMI_STATUS_NOT_INIT', 'AMDSMI_STATUS_NOT_SUPPORTED', 'AMDSMI_STATUS_NOT_YET_IMPLEMENTED', 'AMDSMI_STATUS_NO_DATA', 'AMDSMI_STATUS_NO_PERM', 'AMDSMI_STATUS_NO_SLOT', 'AMDSMI_STATUS_OUT_OF_RESOURCES', @@ -1731,7 +1730,7 @@ __all__ += \ -__all__ += ['amdsmi_init', 'amdsmi_shut_down', 'amdsmi_get_socket_handles', 'amdsmi_get_socket_info', 'amdsmi_get_device_handles', 'amdsmi_get_device_type', 'amdsmi_get_device_handle_from_bdf', 'amdsmi_dev_get_id', 'amdsmi_dev_get_vendor_name', 'amdsmi_dev_get_vram_vendor', 'amdsmi_dev_get_subsystem_id', 'amdsmi_dev_get_subsystem_name', 'amdsmi_dev_get_drm_render_minor', 'amdsmi_dev_get_pci_bandwidth', 'amdsmi_dev_get_pci_id', 'amdsmi_topo_get_numa_affinity', 'amdsmi_dev_get_pci_throughput', ' amdsmi_dev_get_pci_replay_counter', ' amdsmi_dev_set_pci_bandwidth', 'amdsmi_dev_get_power_ave', 'amdsmi_dev_get_energy_count', ' amdsmi_dev_set_power_cap', ' amdsmi_dev_set_power_profile', 'amdsmi_dev_get_memory_total', 'amdsmi_dev_get_memory_usage', 'amdsmi_get_bad_page_info', 'amdsmi_get_ras_block_features_enabled', 'amdsmi_dev_get_memory_busy_percent', 'amdsmi_dev_get_memory_reserved_pages', 'amdsmi_dev_get_fan_rpms', 'amdsmi_dev_get_fan_speed', 'amdsmi_dev_get_fan_speed_max', ' amdsmi_dev_get_temp_metric', ' amdsmi_dev_get_volt_metric', 'amdsmi_dev_reset_fan', 'amdsmi_dev_set_fan_speed', 'amdsmi_dev_get_busy_percent', 'amdsmi_get_utilization_count', 'amdsmi_get_pcie_link_status', 'amdsmi_get_pcie_link_caps', 'amdsmi_dev_get_perf_level', 'amdsmi_set_perf_determinism_mode', 'amdsmi_dev_get_overdrive_level', ' amdsmi_dev_get_gpu_clk_freq', 'amdsmi_dev_reset_gpu', ' amdsmi_dev_get_od_volt_info', ' amdsmi_dev_get_gpu_metrics_info', 'amdsmi_dev_set_clk_range', ' amdsmi_dev_set_od_clk_info', ' amdsmi_dev_set_od_volt_info', ' amdsmi_dev_get_od_volt_curve_regions', ' amdsmi_dev_get_power_profile_presets', ' amdsmi_dev_set_perf_level', ' amdsmi_dev_set_perf_level_v1', ' amdsmi_dev_set_overdrive_level', ' amdsmi_dev_set_overdrive_level_v1', ' amdsmi_dev_set_clk_freq', 'amdsmi_get_version', 'amdsmi_get_version_str', ' amdsmi_dev_get_ecc_count', ' amdsmi_dev_get_ecc_enabled', ' amdsmi_dev_get_ecc_status', 'amdsmi_status_string', 'amdsmi_dev_counter_group_supported', 'amdsmi_dev_create_counter', 'amdsmi_dev_destroy_counter', 'amdsmi_control_counter', 'amdsmi_read_counter', ' amdsmi_counter_get_available_counters', 'amdsmi_get_compute_process_info', 'amdsmi_get_compute_process_info_by_pid', 'amdsmi_get_compute_process_gpus', 'amdsmi_dev_xgmi_error_status', 'amdsmi_dev_reset_xgmi_error', 'amdsmi_topo_get_numa_node_number', 'amdsmi_topo_get_link_weight', ' amdsmi_get_minmax_bandwidth', 'amdsmi_topo_get_link_type', 'amdsmi_is_P2P_accessible', 'amdsmi_dev_open_supported_func_iterator', 'amdsmi_dev_open_supported_variant_iterator', 'amdsmi_next_func_iter', 'amdsmi_dev_close_supported_func_iterator', 'amdsmi_get_func_iter_value', 'amdsmi_init_event_notification', ' amdsmi_set_event_notification_mask', ' amdsmi_get_event_notification', 'amdsmi_stop_event_notification', 'amdsmi_get_device_bdf', 'amdsmi_get_device_uuid', 'amdsmi_get_driver_version', 'amdsmi_get_asic_info', 'amdsmi_get_board_info', 'amdsmi_get_power_cap_info', 'amdsmi_get_xgmi_info', 'amdsmi_get_caps_info', 'amdsmi_get_fw_info', 'amdsmi_get_vbios_info', 'amdsmi_get_gpu_activity', 'amdsmi_get_power_measure', 'amdsmi_get_clock_measure', 'amdsmi_get_temperature_measure', 'amdsmi_get_temperature_limit', 'amdsmi_get_power_limit', 'amdsmi_get_vram_usage', 'amdsmi_get_target_frequency_range', 'amdsmi_get_process_list', 'amdsmi_get_process_info', 'amdsmi_get_ecc_error_count'] +__all__ += ['amdsmi_init', 'amdsmi_shut_down', 'amdsmi_get_socket_handles', 'amdsmi_get_socket_info', 'amdsmi_get_device_handles', 'amdsmi_get_device_type', 'amdsmi_get_device_handle_from_bdf', 'amdsmi_dev_get_id', 'amdsmi_dev_get_vendor_name', 'amdsmi_dev_get_vram_vendor', 'amdsmi_dev_get_subsystem_id', 'amdsmi_dev_get_subsystem_name', 'amdsmi_dev_get_drm_render_minor', 'amdsmi_dev_get_pci_bandwidth', 'amdsmi_dev_get_pci_id', 'amdsmi_topo_get_numa_affinity', 'amdsmi_dev_get_pci_throughput', 'amdsmi_dev_get_pci_replay_counter', 'amdsmi_dev_set_pci_bandwidth', 'amdsmi_dev_get_power_ave', 'amdsmi_dev_get_energy_count', 'amdsmi_dev_set_power_cap', 'amdsmi_dev_set_power_profile', 'amdsmi_dev_get_memory_total', 'amdsmi_dev_get_memory_usage', 'amdsmi_get_bad_page_info', 'amdsmi_get_ras_block_features_enabled', 'amdsmi_dev_get_memory_busy_percent', 'amdsmi_dev_get_memory_reserved_pages', 'amdsmi_dev_get_fan_rpms', 'amdsmi_dev_get_fan_speed', 'amdsmi_dev_get_fan_speed_max', 'amdsmi_dev_get_temp_metric', 'amdsmi_dev_get_volt_metric', 'amdsmi_dev_reset_fan', 'amdsmi_dev_set_fan_speed', 'amdsmi_dev_get_busy_percent', 'amdsmi_get_utilization_count', 'amdsmi_get_pcie_link_status', 'amdsmi_get_pcie_link_caps', 'amdsmi_dev_get_perf_level', 'amdsmi_set_perf_determinism_mode', 'amdsmi_dev_get_overdrive_level', 'amdsmi_dev_get_gpu_clk_freq', 'amdsmi_dev_reset_gpu', 'amdsmi_dev_get_od_volt_info', 'amdsmi_dev_get_gpu_metrics_info', 'amdsmi_dev_set_clk_range', 'amdsmi_dev_set_od_clk_info', 'amdsmi_dev_set_od_volt_info', 'amdsmi_dev_get_od_volt_curve_regions', 'amdsmi_dev_get_power_profile_presets', 'amdsmi_dev_set_perf_level', 'amdsmi_dev_set_perf_level_v1', 'amdsmi_dev_set_overdrive_level', 'amdsmi_dev_set_overdrive_level_v1', 'amdsmi_dev_set_clk_freq', 'amdsmi_get_version', 'amdsmi_get_version_str', 'amdsmi_dev_get_ecc_count', 'amdsmi_dev_get_ecc_enabled', 'amdsmi_dev_get_ecc_status', 'amdsmi_status_string', 'amdsmi_dev_counter_group_supported', 'amdsmi_dev_create_counter', 'amdsmi_dev_destroy_counter', 'amdsmi_control_counter', 'amdsmi_read_counter', 'amdsmi_counter_get_available_counters', 'amdsmi_get_compute_process_info', 'amdsmi_get_compute_process_info_by_pid', 'amdsmi_get_compute_process_gpus', 'amdsmi_dev_xgmi_error_status', 'amdsmi_dev_reset_xgmi_error', 'amdsmi_topo_get_numa_node_number', 'amdsmi_topo_get_link_weight', 'amdsmi_get_minmax_bandwidth', 'amdsmi_topo_get_link_type', 'amdsmi_is_P2P_accessible', 'amdsmi_dev_open_supported_func_iterator', 'amdsmi_dev_open_supported_variant_iterator', 'amdsmi_next_func_iter', 'amdsmi_dev_close_supported_func_iterator', 'amdsmi_get_func_iter_value', 'amdsmi_init_event_notification', 'amdsmi_set_event_notification_mask', 'amdsmi_get_event_notification', 'amdsmi_stop_event_notification', 'amdsmi_get_device_bdf', 'amdsmi_get_device_uuid', 'amdsmi_get_driver_version', 'amdsmi_get_asic_info', 'amdsmi_get_board_info', 'amdsmi_get_power_cap_info', 'amdsmi_get_xgmi_info', 'amdsmi_get_caps_info', 'amdsmi_get_fw_info', 'amdsmi_get_vbios_info', 'amdsmi_get_gpu_activity', 'amdsmi_get_power_measure', 'amdsmi_get_clock_measure', 'amdsmi_get_temperature_measure', 'amdsmi_get_temperature_limit', 'amdsmi_get_power_limit', 'amdsmi_get_vram_usage', 'amdsmi_get_target_frequency_range', 'amdsmi_get_process_list', 'amdsmi_get_process_info', 'amdsmi_get_ecc_error_count'] __all__ += [] _lib = CDLL(os.path.join(os.path.dirname(__file__), "libamd_smi.so")) @@ -1805,13 +1804,13 @@ _lib.amdsmi_dev_get_pci_throughput.argtypes = [amdsmi_device_handle,POINTER(c_ui _lib.amdsmi_dev_get_pci_throughput.restype = amdsmi_status_t amdsmi_dev_get_pci_throughput = _lib.amdsmi_dev_get_pci_throughput -_lib. amdsmi_dev_get_pci_replay_counter.argtypes = [amdsmi_device_handle,POINTER(c_uint64)] -_lib. amdsmi_dev_get_pci_replay_counter.restype = amdsmi_status_t - amdsmi_dev_get_pci_replay_counter = _lib. amdsmi_dev_get_pci_replay_counter +_lib.amdsmi_dev_get_pci_replay_counter.argtypes = [amdsmi_device_handle,POINTER(c_uint64)] +_lib.amdsmi_dev_get_pci_replay_counter.restype = amdsmi_status_t +amdsmi_dev_get_pci_replay_counter = _lib.amdsmi_dev_get_pci_replay_counter -_lib. amdsmi_dev_set_pci_bandwidth.argtypes = [amdsmi_device_handle,c_uint64] -_lib. amdsmi_dev_set_pci_bandwidth.restype = amdsmi_status_t - amdsmi_dev_set_pci_bandwidth = _lib. amdsmi_dev_set_pci_bandwidth +_lib.amdsmi_dev_set_pci_bandwidth.argtypes = [amdsmi_device_handle,c_uint64] +_lib.amdsmi_dev_set_pci_bandwidth.restype = amdsmi_status_t +amdsmi_dev_set_pci_bandwidth = _lib.amdsmi_dev_set_pci_bandwidth _lib.amdsmi_dev_get_power_ave.argtypes = [amdsmi_device_handle,c_uint32,POINTER(c_uint64)] _lib.amdsmi_dev_get_power_ave.restype = amdsmi_status_t @@ -1821,13 +1820,13 @@ _lib.amdsmi_dev_get_energy_count.argtypes = [amdsmi_device_handle,POINTER(c_uint _lib.amdsmi_dev_get_energy_count.restype = amdsmi_status_t amdsmi_dev_get_energy_count = _lib.amdsmi_dev_get_energy_count -_lib. amdsmi_dev_set_power_cap.argtypes = [amdsmi_device_handle,c_uint32,c_uint64] -_lib. amdsmi_dev_set_power_cap.restype = amdsmi_status_t - amdsmi_dev_set_power_cap = _lib. amdsmi_dev_set_power_cap +_lib.amdsmi_dev_set_power_cap.argtypes = [amdsmi_device_handle,c_uint32,c_uint64] +_lib.amdsmi_dev_set_power_cap.restype = amdsmi_status_t +amdsmi_dev_set_power_cap = _lib.amdsmi_dev_set_power_cap -_lib. amdsmi_dev_set_power_profile.argtypes = [amdsmi_device_handle,c_uint32,amdsmi_power_profile_preset_masks_t] -_lib. amdsmi_dev_set_power_profile.restype = amdsmi_status_t - amdsmi_dev_set_power_profile = _lib. amdsmi_dev_set_power_profile +_lib.amdsmi_dev_set_power_profile.argtypes = [amdsmi_device_handle,c_uint32,amdsmi_power_profile_preset_masks_t] +_lib.amdsmi_dev_set_power_profile.restype = amdsmi_status_t +amdsmi_dev_set_power_profile = _lib.amdsmi_dev_set_power_profile _lib.amdsmi_dev_get_memory_total.argtypes = [amdsmi_device_handle,amdsmi_memory_type_t,POINTER(c_uint64)] _lib.amdsmi_dev_get_memory_total.restype = amdsmi_status_t @@ -1865,13 +1864,13 @@ _lib.amdsmi_dev_get_fan_speed_max.argtypes = [amdsmi_device_handle,c_uint32,POIN _lib.amdsmi_dev_get_fan_speed_max.restype = amdsmi_status_t amdsmi_dev_get_fan_speed_max = _lib.amdsmi_dev_get_fan_speed_max -_lib. amdsmi_dev_get_temp_metric.argtypes = [amdsmi_device_handle,c_uint32,amdsmi_temperature_metric_t,POINTER(c_int64)] -_lib. amdsmi_dev_get_temp_metric.restype = amdsmi_status_t - amdsmi_dev_get_temp_metric = _lib. amdsmi_dev_get_temp_metric +_lib.amdsmi_dev_get_temp_metric.argtypes = [amdsmi_device_handle,c_uint32,amdsmi_temperature_metric_t,POINTER(c_int64)] +_lib.amdsmi_dev_get_temp_metric.restype = amdsmi_status_t +amdsmi_dev_get_temp_metric = _lib.amdsmi_dev_get_temp_metric -_lib. amdsmi_dev_get_volt_metric.argtypes = [amdsmi_device_handle,amdsmi_voltage_type_t,amdsmi_voltage_metric_t,POINTER(c_int64)] -_lib. amdsmi_dev_get_volt_metric.restype = amdsmi_status_t - amdsmi_dev_get_volt_metric = _lib. amdsmi_dev_get_volt_metric +_lib.amdsmi_dev_get_volt_metric.argtypes = [amdsmi_device_handle,amdsmi_voltage_type_t,amdsmi_voltage_metric_t,POINTER(c_int64)] +_lib.amdsmi_dev_get_volt_metric.restype = amdsmi_status_t +amdsmi_dev_get_volt_metric = _lib.amdsmi_dev_get_volt_metric _lib.amdsmi_dev_reset_fan.argtypes = [amdsmi_device_handle,c_uint32] _lib.amdsmi_dev_reset_fan.restype = amdsmi_status_t @@ -1909,61 +1908,61 @@ _lib.amdsmi_dev_get_overdrive_level.argtypes = [amdsmi_device_handle,POINTER(c_u _lib.amdsmi_dev_get_overdrive_level.restype = amdsmi_status_t amdsmi_dev_get_overdrive_level = _lib.amdsmi_dev_get_overdrive_level -_lib. amdsmi_dev_get_gpu_clk_freq.argtypes = [amdsmi_device_handle,amdsmi_clk_type_t,POINTER(amdsmi_frequencies_t)] -_lib. amdsmi_dev_get_gpu_clk_freq.restype = amdsmi_status_t - amdsmi_dev_get_gpu_clk_freq = _lib. amdsmi_dev_get_gpu_clk_freq +_lib.amdsmi_dev_get_gpu_clk_freq.argtypes = [amdsmi_device_handle,amdsmi_clk_type_t,POINTER(amdsmi_frequencies_t)] +_lib.amdsmi_dev_get_gpu_clk_freq.restype = amdsmi_status_t +amdsmi_dev_get_gpu_clk_freq = _lib.amdsmi_dev_get_gpu_clk_freq _lib.amdsmi_dev_reset_gpu.argtypes = [amdsmi_device_handle] _lib.amdsmi_dev_reset_gpu.restype = amdsmi_status_t amdsmi_dev_reset_gpu = _lib.amdsmi_dev_reset_gpu -_lib. amdsmi_dev_get_od_volt_info.argtypes = [amdsmi_device_handle,POINTER(amdsmi_od_volt_freq_data_t)] -_lib. amdsmi_dev_get_od_volt_info.restype = amdsmi_status_t - amdsmi_dev_get_od_volt_info = _lib. amdsmi_dev_get_od_volt_info +_lib.amdsmi_dev_get_od_volt_info.argtypes = [amdsmi_device_handle,POINTER(amdsmi_od_volt_freq_data_t)] +_lib.amdsmi_dev_get_od_volt_info.restype = amdsmi_status_t +amdsmi_dev_get_od_volt_info = _lib.amdsmi_dev_get_od_volt_info -_lib. amdsmi_dev_get_gpu_metrics_info.argtypes = [amdsmi_device_handle,POINTER(amdsmi_gpu_metrics_t)] -_lib. amdsmi_dev_get_gpu_metrics_info.restype = amdsmi_status_t - amdsmi_dev_get_gpu_metrics_info = _lib. amdsmi_dev_get_gpu_metrics_info +_lib.amdsmi_dev_get_gpu_metrics_info.argtypes = [amdsmi_device_handle,POINTER(amdsmi_gpu_metrics_t)] +_lib.amdsmi_dev_get_gpu_metrics_info.restype = amdsmi_status_t +amdsmi_dev_get_gpu_metrics_info = _lib.amdsmi_dev_get_gpu_metrics_info _lib.amdsmi_dev_set_clk_range.argtypes = [amdsmi_device_handle,c_uint64,c_uint64,amdsmi_clk_type_t] _lib.amdsmi_dev_set_clk_range.restype = amdsmi_status_t amdsmi_dev_set_clk_range = _lib.amdsmi_dev_set_clk_range -_lib. amdsmi_dev_set_od_clk_info.argtypes = [amdsmi_device_handle,amdsmi_freq_ind_t,c_uint64,amdsmi_clk_type_t] -_lib. amdsmi_dev_set_od_clk_info.restype = amdsmi_status_t - amdsmi_dev_set_od_clk_info = _lib. amdsmi_dev_set_od_clk_info +_lib.amdsmi_dev_set_od_clk_info.argtypes = [amdsmi_device_handle,amdsmi_freq_ind_t,c_uint64,amdsmi_clk_type_t] +_lib.amdsmi_dev_set_od_clk_info.restype = amdsmi_status_t +amdsmi_dev_set_od_clk_info = _lib.amdsmi_dev_set_od_clk_info -_lib. amdsmi_dev_set_od_volt_info.argtypes = [amdsmi_device_handle,c_uint32,c_uint64,c_uint64] -_lib. amdsmi_dev_set_od_volt_info.restype = amdsmi_status_t - amdsmi_dev_set_od_volt_info = _lib. amdsmi_dev_set_od_volt_info +_lib.amdsmi_dev_set_od_volt_info.argtypes = [amdsmi_device_handle,c_uint32,c_uint64,c_uint64] +_lib.amdsmi_dev_set_od_volt_info.restype = amdsmi_status_t +amdsmi_dev_set_od_volt_info = _lib.amdsmi_dev_set_od_volt_info -_lib. amdsmi_dev_get_od_volt_curve_regions.argtypes = [amdsmi_device_handle,POINTER(c_uint32),POINTER(amdsmi_freq_volt_region_t)] -_lib. amdsmi_dev_get_od_volt_curve_regions.restype = amdsmi_status_t - amdsmi_dev_get_od_volt_curve_regions = _lib. amdsmi_dev_get_od_volt_curve_regions +_lib.amdsmi_dev_get_od_volt_curve_regions.argtypes = [amdsmi_device_handle,POINTER(c_uint32),POINTER(amdsmi_freq_volt_region_t)] +_lib.amdsmi_dev_get_od_volt_curve_regions.restype = amdsmi_status_t +amdsmi_dev_get_od_volt_curve_regions = _lib.amdsmi_dev_get_od_volt_curve_regions -_lib. amdsmi_dev_get_power_profile_presets.argtypes = [amdsmi_device_handle,c_uint32,POINTER(amdsmi_power_profile_status_t)] -_lib. amdsmi_dev_get_power_profile_presets.restype = amdsmi_status_t - amdsmi_dev_get_power_profile_presets = _lib. amdsmi_dev_get_power_profile_presets +_lib.amdsmi_dev_get_power_profile_presets.argtypes = [amdsmi_device_handle,c_uint32,POINTER(amdsmi_power_profile_status_t)] +_lib.amdsmi_dev_get_power_profile_presets.restype = amdsmi_status_t +amdsmi_dev_get_power_profile_presets = _lib.amdsmi_dev_get_power_profile_presets -_lib. amdsmi_dev_set_perf_level.argtypes = [amdsmi_device_handle,amdsmi_dev_perf_level_t] -_lib. amdsmi_dev_set_perf_level.restype = amdsmi_status_t - amdsmi_dev_set_perf_level = _lib. amdsmi_dev_set_perf_level +_lib.amdsmi_dev_set_perf_level.argtypes = [amdsmi_device_handle,amdsmi_dev_perf_level_t] +_lib.amdsmi_dev_set_perf_level.restype = amdsmi_status_t +amdsmi_dev_set_perf_level = _lib.amdsmi_dev_set_perf_level -_lib. amdsmi_dev_set_perf_level_v1.argtypes = [amdsmi_device_handle,amdsmi_dev_perf_level_t] -_lib. amdsmi_dev_set_perf_level_v1.restype = amdsmi_status_t - amdsmi_dev_set_perf_level_v1 = _lib. amdsmi_dev_set_perf_level_v1 +_lib.amdsmi_dev_set_perf_level_v1.argtypes = [amdsmi_device_handle,amdsmi_dev_perf_level_t] +_lib.amdsmi_dev_set_perf_level_v1.restype = amdsmi_status_t +amdsmi_dev_set_perf_level_v1 = _lib.amdsmi_dev_set_perf_level_v1 -_lib. amdsmi_dev_set_overdrive_level.argtypes = [amdsmi_device_handle,c_uint32] -_lib. amdsmi_dev_set_overdrive_level.restype = amdsmi_status_t - amdsmi_dev_set_overdrive_level = _lib. amdsmi_dev_set_overdrive_level +_lib.amdsmi_dev_set_overdrive_level.argtypes = [amdsmi_device_handle,c_uint32] +_lib.amdsmi_dev_set_overdrive_level.restype = amdsmi_status_t +amdsmi_dev_set_overdrive_level = _lib.amdsmi_dev_set_overdrive_level -_lib. amdsmi_dev_set_overdrive_level_v1.argtypes = [amdsmi_device_handle,c_uint32] -_lib. amdsmi_dev_set_overdrive_level_v1.restype = amdsmi_status_t - amdsmi_dev_set_overdrive_level_v1 = _lib. amdsmi_dev_set_overdrive_level_v1 +_lib.amdsmi_dev_set_overdrive_level_v1.argtypes = [amdsmi_device_handle,c_uint32] +_lib.amdsmi_dev_set_overdrive_level_v1.restype = amdsmi_status_t +amdsmi_dev_set_overdrive_level_v1 = _lib.amdsmi_dev_set_overdrive_level_v1 -_lib. amdsmi_dev_set_clk_freq.argtypes = [amdsmi_device_handle,amdsmi_clk_type_t,c_uint64] -_lib. amdsmi_dev_set_clk_freq.restype = amdsmi_status_t - amdsmi_dev_set_clk_freq = _lib. amdsmi_dev_set_clk_freq +_lib.amdsmi_dev_set_clk_freq.argtypes = [amdsmi_device_handle,amdsmi_clk_type_t,c_uint64] +_lib.amdsmi_dev_set_clk_freq.restype = amdsmi_status_t +amdsmi_dev_set_clk_freq = _lib.amdsmi_dev_set_clk_freq _lib.amdsmi_get_version.argtypes = [POINTER(amdsmi_version_t)] _lib.amdsmi_get_version.restype = amdsmi_status_t @@ -1973,17 +1972,17 @@ _lib.amdsmi_get_version_str.argtypes = [amdsmi_sw_component_t,c_char_p,c_uint32] _lib.amdsmi_get_version_str.restype = amdsmi_status_t amdsmi_get_version_str = _lib.amdsmi_get_version_str -_lib. amdsmi_dev_get_ecc_count.argtypes = [amdsmi_device_handle,amdsmi_gpu_block_t,POINTER(amdsmi_error_count_t)] -_lib. amdsmi_dev_get_ecc_count.restype = amdsmi_status_t - amdsmi_dev_get_ecc_count = _lib. amdsmi_dev_get_ecc_count +_lib.amdsmi_dev_get_ecc_count.argtypes = [amdsmi_device_handle,amdsmi_gpu_block_t,POINTER(amdsmi_error_count_t)] +_lib.amdsmi_dev_get_ecc_count.restype = amdsmi_status_t +amdsmi_dev_get_ecc_count = _lib.amdsmi_dev_get_ecc_count -_lib. amdsmi_dev_get_ecc_enabled.argtypes = [amdsmi_device_handle,POINTER(c_uint64)] -_lib. amdsmi_dev_get_ecc_enabled.restype = amdsmi_status_t - amdsmi_dev_get_ecc_enabled = _lib. amdsmi_dev_get_ecc_enabled +_lib.amdsmi_dev_get_ecc_enabled.argtypes = [amdsmi_device_handle,POINTER(c_uint64)] +_lib.amdsmi_dev_get_ecc_enabled.restype = amdsmi_status_t +amdsmi_dev_get_ecc_enabled = _lib.amdsmi_dev_get_ecc_enabled -_lib. amdsmi_dev_get_ecc_status.argtypes = [amdsmi_device_handle,amdsmi_gpu_block_t,POINTER(amdsmi_ras_err_state_t)] -_lib. amdsmi_dev_get_ecc_status.restype = amdsmi_status_t - amdsmi_dev_get_ecc_status = _lib. amdsmi_dev_get_ecc_status +_lib.amdsmi_dev_get_ecc_status.argtypes = [amdsmi_device_handle,amdsmi_gpu_block_t,POINTER(amdsmi_ras_err_state_t)] +_lib.amdsmi_dev_get_ecc_status.restype = amdsmi_status_t +amdsmi_dev_get_ecc_status = _lib.amdsmi_dev_get_ecc_status _lib.amdsmi_status_string.argtypes = [amdsmi_status_t,POINTER(c_char_p)] _lib.amdsmi_status_string.restype = amdsmi_status_t @@ -2009,9 +2008,9 @@ _lib.amdsmi_read_counter.argtypes = [amdsmi_event_handle_t,POINTER(amdsmi_counte _lib.amdsmi_read_counter.restype = amdsmi_status_t amdsmi_read_counter = _lib.amdsmi_read_counter -_lib. amdsmi_counter_get_available_counters.argtypes = [amdsmi_device_handle,amdsmi_event_group_t,POINTER(c_uint32)] -_lib. amdsmi_counter_get_available_counters.restype = amdsmi_status_t - amdsmi_counter_get_available_counters = _lib. amdsmi_counter_get_available_counters +_lib.amdsmi_counter_get_available_counters.argtypes = [amdsmi_device_handle,amdsmi_event_group_t,POINTER(c_uint32)] +_lib.amdsmi_counter_get_available_counters.restype = amdsmi_status_t +amdsmi_counter_get_available_counters = _lib.amdsmi_counter_get_available_counters _lib.amdsmi_get_compute_process_info.argtypes = [POINTER(amdsmi_process_info_t),POINTER(c_uint32)] _lib.amdsmi_get_compute_process_info.restype = amdsmi_status_t @@ -2041,9 +2040,9 @@ _lib.amdsmi_topo_get_link_weight.argtypes = [amdsmi_device_handle,amdsmi_device_ _lib.amdsmi_topo_get_link_weight.restype = amdsmi_status_t amdsmi_topo_get_link_weight = _lib.amdsmi_topo_get_link_weight -_lib. amdsmi_get_minmax_bandwidth.argtypes = [amdsmi_device_handle,amdsmi_device_handle,POINTER(c_uint64),POINTER(c_uint64)] -_lib. amdsmi_get_minmax_bandwidth.restype = amdsmi_status_t - amdsmi_get_minmax_bandwidth = _lib. amdsmi_get_minmax_bandwidth +_lib.amdsmi_get_minmax_bandwidth.argtypes = [amdsmi_device_handle,amdsmi_device_handle,POINTER(c_uint64),POINTER(c_uint64)] +_lib.amdsmi_get_minmax_bandwidth.restype = amdsmi_status_t +amdsmi_get_minmax_bandwidth = _lib.amdsmi_get_minmax_bandwidth _lib.amdsmi_topo_get_link_type.argtypes = [amdsmi_device_handle,amdsmi_device_handle,POINTER(c_uint64),POINTER(AMDSMI_IO_LINK_TYPE)] _lib.amdsmi_topo_get_link_type.restype = amdsmi_status_t @@ -2077,13 +2076,13 @@ _lib.amdsmi_init_event_notification.argtypes = [amdsmi_device_handle] _lib.amdsmi_init_event_notification.restype = amdsmi_status_t amdsmi_init_event_notification = _lib.amdsmi_init_event_notification -_lib. amdsmi_set_event_notification_mask.argtypes = [amdsmi_device_handle,c_uint64] -_lib. amdsmi_set_event_notification_mask.restype = amdsmi_status_t - amdsmi_set_event_notification_mask = _lib. amdsmi_set_event_notification_mask +_lib.amdsmi_set_event_notification_mask.argtypes = [amdsmi_device_handle,c_uint64] +_lib.amdsmi_set_event_notification_mask.restype = amdsmi_status_t +amdsmi_set_event_notification_mask = _lib.amdsmi_set_event_notification_mask -_lib. amdsmi_get_event_notification.argtypes = [c_int,POINTER(c_uint32),POINTER(amdsmi_evt_notification_data_t)] -_lib. amdsmi_get_event_notification.restype = amdsmi_status_t - amdsmi_get_event_notification = _lib. amdsmi_get_event_notification +_lib.amdsmi_get_event_notification.argtypes = [c_int,POINTER(c_uint32),POINTER(amdsmi_evt_notification_data_t)] +_lib.amdsmi_get_event_notification.restype = amdsmi_status_t +amdsmi_get_event_notification = _lib.amdsmi_get_event_notification _lib.amdsmi_stop_event_notification.argtypes = [amdsmi_device_handle] _lib.amdsmi_stop_event_notification.restype = amdsmi_status_t