From 8ea758a1f73f09acd0c0ccc0abaf379a403dc719 Mon Sep 17 00:00:00 2001 From: gabrpham_amdeng Date: Fri, 5 Dec 2025 13:26:56 -0600 Subject: [PATCH 1/4] Version bump and Changelog update for ROCm version 7.2 Signed-off-by: gabrpham_amdeng --- projects/amdsmi/CHANGELOG.md | 17 +++++++++++++++-- projects/amdsmi/docs/how-to/amdsmi-cli-tool.md | 2 +- projects/amdsmi/include/amd_smi/amdsmi.h | 4 ++-- .../amdsmi/rust-interface/src/amdsmi_wrapper.rs | 4 ++-- 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/projects/amdsmi/CHANGELOG.md b/projects/amdsmi/CHANGELOG.md index 74e35c842d44..b3962521b8f8 100644 --- a/projects/amdsmi/CHANGELOG.md +++ b/projects/amdsmi/CHANGELOG.md @@ -14,9 +14,12 @@ Full documentation for amd_smi_lib is available at [https://rocm.docs.amd.com/pr - **Added Node Power Management (NPM) support**. - Added new Node Power Management APIs and CLI for node monitoring - - Added C API functions: + - Added C++ API functions: - `amdsmi_get_node_handle()`: Get handle for node devices - `amdsmi_get_npm_info()`: Retrieve Node Power Management information + - Added C++ types to support NPM API: + - `amdsmi_npm_status_t`: whether NPM is enabled or disabled + - `amdsmi_npm_status_t`: a struct containing the status and the Node-level power limit in Watts - Added Python API wrappers for new node device functions - Added `amd-smi node` CLI command for Node Power Management operations - Currently supported for OAM_ID 0 only. @@ -71,14 +74,24 @@ Full documentation for amd_smi_lib is available at [https://rocm.docs.amd.com/pr - **Added support for PPT1 power limit information**. - Support has been added for querying and setting the PPT (Package Power Tracking) limits - There are two PPT limits, PPT0 has lower limit and tracks a filtered version of the input power and PPT1 has higher limit but tracks the raw input power. This is to catch spikes in the raw data. - - New API added: + - New C++ API added: - amdsmi_get_supported_power_cap(): Returns which power cap types are supported on the device (PPT0, PPT1). This will allow users to know which power cap types they can get/set. - Original APIs remain the same but now can get/set both PPT0 and PPT1 limits (on supported hardware): - amdsmi_get_power_cap_info() - amdsmi_set_power_cap() + - New C++ type added: + - `amdsmi_power_cap_type_t`: The power cap type, either PPT0 or PPT1 - See the Changed section for changes made to the `set` and `static` commands regarding support for PPT1. - **Added PTL Support to `amd-smi static` and `amd-smi set`** + - Performance TOPS Limiter (PTL) is a control system that, when in place, constrains the product to never deliver more than a specified TOPS / second. + - New C++ API added: + - `amdsmi_get_gpu_ptl_state()`: retrieves whether PTL (Peak Tops Limiter) is currently enabled or disabled for the specified processor + - `amdsmi_set_gpu_ptl_state()`: enables or disables PTL (Peak Tops Limiter) operation + - `amdsmi_get_gpu_ptl_formats()`: retrieves the current PTL fromats for the specified processor + - `amdsmi_set_gpu_ptl_formats()`: Set PTL with specified preferred data formats + - New C++ type added: + - `amdsmi_ptl_data_format_t`: Valid PTL data formats: I8, F16, BF16, F32, F64 - `amd-smi set` now support --ptl-status 0|1 and --ptl-format FORMAT1,FORMAT2 - `amd-smi static -l` shows current state and format of PTL diff --git a/projects/amdsmi/docs/how-to/amdsmi-cli-tool.md b/projects/amdsmi/docs/how-to/amdsmi-cli-tool.md index 6edc7260a192..bb79f185ce38 100644 --- a/projects/amdsmi/docs/how-to/amdsmi-cli-tool.md +++ b/projects/amdsmi/docs/how-to/amdsmi-cli-tool.md @@ -35,7 +35,7 @@ detected: ~$ amd-smi usage: amd-smi [-h] ... -AMD System Management Interface | Version: 26.1.0 | ROCm version: 7.1.0 | Platform: Linux Baremetal +AMD System Management Interface | Version: 27.0.0 | ROCm version: 7.2.0 | Platform: Linux Baremetal options: -h, --help show this help message and exit diff --git a/projects/amdsmi/include/amd_smi/amdsmi.h b/projects/amdsmi/include/amd_smi/amdsmi.h index 8061f12b6825..ad4eb3047350 100644 --- a/projects/amdsmi/include/amd_smi/amdsmi.h +++ b/projects/amdsmi/include/amd_smi/amdsmi.h @@ -203,10 +203,10 @@ typedef enum { //! Major version should be changed for every header change that breaks ABI //! Such as adding/deleting APIs, changing names, fields of structures, etc. -#define AMDSMI_LIB_VERSION_MAJOR 26 +#define AMDSMI_LIB_VERSION_MAJOR 27 //! Minor version should be updated for each API change, but without changing headers -#define AMDSMI_LIB_VERSION_MINOR 1 +#define AMDSMI_LIB_VERSION_MINOR 0 //! Release version should be set to 0 as default and can be updated by the PMs for each CSP point release #define AMDSMI_LIB_VERSION_RELEASE 0 diff --git a/projects/amdsmi/rust-interface/src/amdsmi_wrapper.rs b/projects/amdsmi/rust-interface/src/amdsmi_wrapper.rs index f8a69dc1efff..df30b74d5617 100644 --- a/projects/amdsmi/rust-interface/src/amdsmi_wrapper.rs +++ b/projects/amdsmi/rust-interface/src/amdsmi_wrapper.rs @@ -125,8 +125,8 @@ pub const AMDSMI_MAX_NUM_XCC: u32 = 8; pub const AMDSMI_MAX_NUM_XCP: u32 = 8; pub const AMDSMI_TIME_FORMAT: &[u8; 20] = b"%02d:%02d:%02d.%03d\0"; pub const AMDSMI_DATE_FORMAT: &[u8; 35] = b"%04d-%02d-%02d:%02d:%02d:%02d.%03d\0"; -pub const AMDSMI_LIB_VERSION_MAJOR: u32 = 26; -pub const AMDSMI_LIB_VERSION_MINOR: u32 = 1; +pub const AMDSMI_LIB_VERSION_MAJOR: u32 = 27; +pub const AMDSMI_LIB_VERSION_MINOR: u32 = 0; pub const AMDSMI_LIB_VERSION_RELEASE: u32 = 0; pub const AMDSMI_MAX_NUM_FREQUENCIES: u32 = 33; pub const AMDSMI_MAX_FAN_SPEED: u32 = 255; From c8fc68b4dd6af92313c15088ff4d515ea84c61b6 Mon Sep 17 00:00:00 2001 From: gabrpham Date: Fri, 5 Dec 2025 18:42:50 -0600 Subject: [PATCH 2/4] Update projects/amdsmi/CHANGELOG.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- projects/amdsmi/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/amdsmi/CHANGELOG.md b/projects/amdsmi/CHANGELOG.md index b3962521b8f8..203c19666fa8 100644 --- a/projects/amdsmi/CHANGELOG.md +++ b/projects/amdsmi/CHANGELOG.md @@ -19,7 +19,7 @@ Full documentation for amd_smi_lib is available at [https://rocm.docs.amd.com/pr - `amdsmi_get_npm_info()`: Retrieve Node Power Management information - Added C++ types to support NPM API: - `amdsmi_npm_status_t`: whether NPM is enabled or disabled - - `amdsmi_npm_status_t`: a struct containing the status and the Node-level power limit in Watts + - `amdsmi_npm_info_t`: a struct containing the status and the Node-level power limit in Watts - Added Python API wrappers for new node device functions - Added `amd-smi node` CLI command for Node Power Management operations - Currently supported for OAM_ID 0 only. From 88a821643b1c2804b297183f5dc624aec084a4ee Mon Sep 17 00:00:00 2001 From: gabrpham Date: Fri, 5 Dec 2025 18:43:01 -0600 Subject: [PATCH 3/4] Update projects/amdsmi/CHANGELOG.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- projects/amdsmi/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/amdsmi/CHANGELOG.md b/projects/amdsmi/CHANGELOG.md index 203c19666fa8..5ad93063fb90 100644 --- a/projects/amdsmi/CHANGELOG.md +++ b/projects/amdsmi/CHANGELOG.md @@ -88,7 +88,7 @@ Full documentation for amd_smi_lib is available at [https://rocm.docs.amd.com/pr - New C++ API added: - `amdsmi_get_gpu_ptl_state()`: retrieves whether PTL (Peak Tops Limiter) is currently enabled or disabled for the specified processor - `amdsmi_set_gpu_ptl_state()`: enables or disables PTL (Peak Tops Limiter) operation - - `amdsmi_get_gpu_ptl_formats()`: retrieves the current PTL fromats for the specified processor + - `amdsmi_get_gpu_ptl_formats()`: retrieves the current PTL formats for the specified processor - `amdsmi_set_gpu_ptl_formats()`: Set PTL with specified preferred data formats - New C++ type added: - `amdsmi_ptl_data_format_t`: Valid PTL data formats: I8, F16, BF16, F32, F64 From b39ae1e0a586994609cc394bc3910ab08df12344 Mon Sep 17 00:00:00 2001 From: gabrpham_amdeng Date: Mon, 8 Dec 2025 16:06:21 -0600 Subject: [PATCH 4/4] Corrected Version Number --- projects/amdsmi/docs/how-to/amdsmi-cli-tool.md | 2 +- projects/amdsmi/include/amd_smi/amdsmi.h | 6 +++--- projects/amdsmi/rust-interface/src/amdsmi_wrapper.rs | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/projects/amdsmi/docs/how-to/amdsmi-cli-tool.md b/projects/amdsmi/docs/how-to/amdsmi-cli-tool.md index bb79f185ce38..71b327258fb2 100644 --- a/projects/amdsmi/docs/how-to/amdsmi-cli-tool.md +++ b/projects/amdsmi/docs/how-to/amdsmi-cli-tool.md @@ -35,7 +35,7 @@ detected: ~$ amd-smi usage: amd-smi [-h] ... -AMD System Management Interface | Version: 27.0.0 | ROCm version: 7.2.0 | Platform: Linux Baremetal +AMD System Management Interface | Version: 26.2.1 | ROCm version: 7.2.0 | Platform: Linux Baremetal options: -h, --help show this help message and exit diff --git a/projects/amdsmi/include/amd_smi/amdsmi.h b/projects/amdsmi/include/amd_smi/amdsmi.h index ad4eb3047350..20de86dd05fa 100644 --- a/projects/amdsmi/include/amd_smi/amdsmi.h +++ b/projects/amdsmi/include/amd_smi/amdsmi.h @@ -203,13 +203,13 @@ typedef enum { //! Major version should be changed for every header change that breaks ABI //! Such as adding/deleting APIs, changing names, fields of structures, etc. -#define AMDSMI_LIB_VERSION_MAJOR 27 +#define AMDSMI_LIB_VERSION_MAJOR 26 //! Minor version should be updated for each API change, but without changing headers -#define AMDSMI_LIB_VERSION_MINOR 0 +#define AMDSMI_LIB_VERSION_MINOR 2 //! Release version should be set to 0 as default and can be updated by the PMs for each CSP point release -#define AMDSMI_LIB_VERSION_RELEASE 0 +#define AMDSMI_LIB_VERSION_RELEASE 1 #define AMDSMI_LIB_VERSION_CREATE_STRING(MAJOR, MINOR, RELEASE) (#MAJOR "." #MINOR "." #RELEASE) #define AMDSMI_LIB_VERSION_EXPAND_PARTS(MAJOR_STR, MINOR_STR, RELEASE_STR) AMDSMI_LIB_VERSION_CREATE_STRING(MAJOR_STR, MINOR_STR, RELEASE_STR) diff --git a/projects/amdsmi/rust-interface/src/amdsmi_wrapper.rs b/projects/amdsmi/rust-interface/src/amdsmi_wrapper.rs index df30b74d5617..9dbcc5450636 100644 --- a/projects/amdsmi/rust-interface/src/amdsmi_wrapper.rs +++ b/projects/amdsmi/rust-interface/src/amdsmi_wrapper.rs @@ -125,9 +125,9 @@ pub const AMDSMI_MAX_NUM_XCC: u32 = 8; pub const AMDSMI_MAX_NUM_XCP: u32 = 8; pub const AMDSMI_TIME_FORMAT: &[u8; 20] = b"%02d:%02d:%02d.%03d\0"; pub const AMDSMI_DATE_FORMAT: &[u8; 35] = b"%04d-%02d-%02d:%02d:%02d:%02d.%03d\0"; -pub const AMDSMI_LIB_VERSION_MAJOR: u32 = 27; -pub const AMDSMI_LIB_VERSION_MINOR: u32 = 0; -pub const AMDSMI_LIB_VERSION_RELEASE: u32 = 0; +pub const AMDSMI_LIB_VERSION_MAJOR: u32 = 26; +pub const AMDSMI_LIB_VERSION_MINOR: u32 = 2; +pub const AMDSMI_LIB_VERSION_RELEASE: u32 = 1; pub const AMDSMI_MAX_NUM_FREQUENCIES: u32 = 33; pub const AMDSMI_MAX_FAN_SPEED: u32 = 255; pub const AMDSMI_NUM_VOLTAGE_CURVE_POINTS: u32 = 3;