Commit Graph

239 Commits

Author SHA1 Message Date
Maisam Arif cabbdf44cb [SWDEV-482412] Optimized PCIe Bandwidth gpu_metrics calls
Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
Change-Id: Ib37d232b94a080e9b490dd065628d2567aaf4642


[ROCm/amdsmi commit: 787d4462fa]
2024-09-11 23:26:30 -05:00
Charis Poag df9d5d3ee5 [SWDEV-483526] Fix MI3x partitions not showing all logical nodes
Changes:
- Updates to amdsmi_asic_info_t structure to include:
  target_graphics_version, kfd_id, node_id, partition_id
- Updates to amd-smi static --asic to display new
  samdsmi_asic_info_t fields
- Updates to gpu enumeration during amdsmi_init()
  to discover all logical GPUs when in a non-SPX mode
  (ex. DPX, TPX, QPX, or CPX)
 - Updates to amdsmi_get_gpu_bdf_id(..) to include
   partition_id details when in BDF or optional bits.
     - bits [63:32] = domain
     - bits [31:28] or bits [2:0] = partition id
     - bits [27:16] = reserved
     - bits [15:8]  = Bus
     - bits [7:3] = Device
     - bits [2:0] = Function (partition id maybe in bits [2:0]) <-- Fallback for non SPX modes

- C++/Python tests updated to reflect these outputs

Change-Id: I4be0ea35bb98f3109ae2ca9e82f6b21baa38de29
Signed-off-by: Charis Poag <Charis.Poag@amd.com>


[ROCm/amdsmi commit: a33e4c9e14]
2024-09-11 16:35:17 -05:00
Tim Huang 202ddc01aa [SWDEV-463402] - Support retrieving connection type and P2P capabilities between two GPUs
1. Add a API interface amdsmi_topo_get_p2p_status to retrieve
connection type and P2P capabilities between 2 GPUs.

2. Add getting p2p status test in hw_topology_read
to print P2P capability information.

3. Add below tables for cli topology sub commands:
  - CACHE COHERANCY TABLE
  - ATOMICS TABLE
  - DMA TABLE
  - BI-DIRECTIONAL TABLE

Change-Id: I199173030d4170115cea27c472958a4826e4e1bf
Signed-off-by: Tim Huang <tim.huang@amd.com>


[ROCm/amdsmi commit: 260edaa752]
2024-09-06 09:42:34 -04:00
Maisam Arif c343efc353 [SWDEV-450553] Added Subsystem Device ID to amd-smi static --asic
Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
Change-Id: I428b4993cca027a6eb1bb9c617fe715118a59407


[ROCm/amdsmi commit: bc4ca45862]
2024-09-04 12:51:02 -05:00
gabrpham 614c89889c [SWDEV-450553] Added gpu memory overdrive to metric function
Signed-off-by: gabrpham <Gabriel.Pham@amd.com>
Change-Id: If7bd6865d641a5a83c594a4d3c57938b1b6dc18e


[ROCm/amdsmi commit: 7d8e54d0e1]
2024-09-04 12:54:14 -04:00
Maisam Arif 53964b5b4a Fix C Library call in amdsmi_get_gpu_reg_table_info
Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
Change-Id: Ib732ade8c0e48fdc7d09d920bca8b4fe4e773cac


[ROCm/amdsmi commit: e5569ee925]
2024-09-04 11:42:45 -05:00
gabrpham 62d3348c9e Changed power parameter in amdsmi_get_energy_count() to energy_accumulator
Issue linked here: https://github.com/ROCm/amdsmi/issues/38

Signed-off-by: gabrpham <Gabriel.Pham@amd.com>
Change-Id: I622236eb3f0144aefeb6c82d2713b4822bfeeb11


[ROCm/amdsmi commit: 95ca2b83a1]
2024-09-04 09:38:08 -04:00
Charis Poag 31a2921b62 [SWDEV-451960] [WIP] Add Pytest
Updates:
- Added pytest to shared/pytest folder
- User can execute tests:

[pytest]
python3 -m pytest -p no:cacheprovider /opt/rocm/share/amd_smi/tests/pytest/unit_tests.py -s -v
python3 -m pytest -p no:cacheprovider /opt/rocm/share/amd_smi/tests/pytest/integration_test.py -s -v

[unittest]
/opt/rocm/share/amd_smi/tests/pytest/unit_tests.py -v
/opt/rocm/share/amd_smi/tests/pytest/integration_test.py -v

- Automatically installs pytest

Change-Id: Ia3281a9608aeeb803b91f8b83f87ff84b01037f4
Signed-off-by: Charis Poag <Charis.Poag@amd.com>


[ROCm/amdsmi commit: d9d6637cb7]
2024-08-29 10:09:29 -04:00
Oliveira, Daniel 55b88706e1 SWDEV-463401: amdsmi_get_gpu_asic_info() adds num_of_compute_units
number of compute units `amdgpu_gpu_info.num_of_compute_units` is exposed through amdsmi_get_gpu_asic_info().

Code changes related to the following:
  * API
  * CLI
  * Unit tests
  * Examples

Change-Id: Ibeb612d079ed87437a0e56124b8504098fc2dcfd
Signed-off-by: Oliveira, Daniel <daniel.oliveira@amd.com>


[ROCm/amdsmi commit: b05849dad0]
2024-08-28 10:15:07 -04:00
Oliveira, Daniel e2e63055a6 SWDEV-463399: amdsmi_get_gpu_vram_info() adds bit-width
Driver info `amdgpu_gpu_info.vram_bit_width` is exposed through amdsmi_get_gpu_vram_info().

Code changes related to the following:
  * API
  * CLI
  * Unit tests
  * Examples

Change-Id: I8abd8db7a603078b2b1c008b2685cecf35caf3d2
Signed-off-by: Oliveira, Daniel <daniel.oliveira@amd.com>


[ROCm/amdsmi commit: 893f13ab98]
2024-08-27 18:22:50 -04:00
Oliveira, Daniel ec14fe6ac7 SWDEV-463372: amdsmi_get_utilization_count() adds decoder_activity
GPU Metrics info `gpu_metrics.vcn_activity` is exposed through amdsmi_get_utilization_count().

Code changes related to the following:
  * API
  * CLI
  * Unit tests

Change-Id: I831b2a81bdc0e090a6698dcb689d10f91ed87dd9
Signed-off-by: Oliveira, Daniel <daniel.oliveira@amd.com>


[ROCm/amdsmi commit: af3670d758]
2024-08-27 16:58:34 -05:00
Maisam Arif 2e92791192 Removed extra print statement
Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
Change-Id: I0043567f4cc17d69860b0c77f42fa77fd41e354d


[ROCm/amdsmi commit: 7ac0a49470]
2024-08-23 19:22:05 -05:00
Charis Poag ee66b03dc8 [SWDEV-478807] Fix incorrect firmware versions and names
- Fix updates API to have correct enum names (PM->SMU)
 - Python API/CLI now reports correct versions and names for
    SMC/TA_XGMI/TA_RAS

Change-Id: Icbe115b3070b9f252ef15b09b781b9b3f5861e50
Signed-off-by: Charis Poag <Charis.Poag@amd.com>


[ROCm/amdsmi commit: d7c583d422]
2024-08-23 18:03:13 -05:00
Charis Poag 4b308c8d48 Fix amdsmi_reg_type_t not defined
Latest updates need to use a wrapper defined value. Breaks basic CLI
functionality.

$ /opt/rocm/bin/amd-smi list
Traceback (most recent call last):
  File "/opt/rocm/bin/amd-smi", line 44, in <module>
    from amdsmi_commands import AMDSMICommands
  File "/opt/rocm/libexec/amdsmi_cli/amdsmi_commands.py", line 30, in <module>
    from amdsmi_helpers import AMDSMIHelpers
  File "/opt/rocm/libexec/amdsmi_cli/amdsmi_helpers.py", line 35, in <module>
    from amdsmi_init import *
  File "/opt/rocm/libexec/amdsmi_cli/amdsmi_init.py", line 35, in <module>
    from amdsmi import amdsmi_interface
  File "/usr/local/lib/python3.8/dist-packages/amdsmi/__init__.py", line 26, in <module>
    from .amdsmi_interface import amdsmi_init
  File "/usr/local/lib/python3.8/dist-packages/amdsmi/amdsmi_interface.py", line 1725, in <module>
    reg_type: amdsmi_reg_type_t,
NameError: name 'amdsmi_reg_type_t' is not defined

Change-Id: I628c811c137f57f3177a718c9bce859bc553bf7d
Signed-off-by: Charis Poag <Charis.Poag@amd.com>


[ROCm/amdsmi commit: a2dc934b05]
2024-08-22 21:57:36 -05:00
Tom St Denis c59f7b7705 Add amdsmi_get_gpu_pm_metrics_info and amdsmi_get_gpu_reg_table_info to py-interface (v3)
v2: drop depend on libc
v3: whitespace

Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
Change-Id: I2eff7aa9d4f0ca8635796f82b106ac0d36176346


[ROCm/amdsmi commit: f4506cfd65]
2024-08-21 08:38:14 -04:00
Maisam Arif df6b8386cf Fix amd-smi event from reading NONE event type
Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
Change-Id: I7acf91eb682b3f0873ca34a98191eafd3925a344


[ROCm/amdsmi commit: 8f15c22606]
2024-07-18 17:54:08 -04:00
Maisam Arif 6cefd4bc36 SWDEV-466302 - Changed blank processes to N/A & Updated Docs
Change-Id: I2d68430dda8036879f58b0f1dea5d2825b441179


[ROCm/amdsmi commit: 413c9ef6fe]
2024-06-24 00:38:17 -04:00
Bill(Shuzhou) Liu f86ba0a7c4 Change the clean shader API to clean local data
To be align with the unified API.

Change-Id: I2819339fba6f528204cebd3e9605109e82cbc5b4


[ROCm/amdsmi commit: e3c63628e5]
2024-06-17 16:23:33 -05:00
Bill(Shuzhou) Liu b517f3c214 Change the name of clear sram to run cleaner shader
The function is to clean the local data in LDS/GPRs. The clear sram
is misleading.

Change-Id: I0385e6d6348602fe0f347d17e48ed8983f7ceb87


[ROCm/amdsmi commit: 4cf59c4edb]
2024-06-05 12:07:39 -05:00
Maisam Arif 7dfe4276cc Use different sysfs for soc_pstate and xmgi_plpd
The sysfs is changed to use the pm_policy folder with multiple
dpm_policy files.

Change-Id: I40fac8de2d0cb127950d238b8196f6d2416778d0


[ROCm/amdsmi commit: e5d1ba4621]
2024-05-31 01:38:41 -04:00
Maisam Arif 8bcf57fd99 Fixed None event being read in AmdSmiEventReader
Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: I2141421a133c867a5c91d7d18b73141513f1868b


[ROCm/amdsmi commit: 3aa62b082a]
2024-05-30 03:28:00 -04:00
Maisam Arif fe41e8f21c Header unificaiton fixes
Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: I84bb9a8121927980e4306a9db47ae04d7d03d85f


[ROCm/amdsmi commit: 3cf50dff0b]
2024-05-23 14:32:57 -05:00
Dalibor Stanisavljevic cdd24a7b0f SWDEV-457337 - Fix header alignment
Change-Id: I9f25f6c4f0d00c76b66d13162f30be11368f5b59
Signed-off-by: Dalibor Stanisavljevic <Dalibor.Stanisavljevic@amd.com>


[ROCm/amdsmi commit: 7b2463abe0]
2024-05-23 04:41:57 -04:00
Maisam Arif 784fefcd54 Added #defines from amdsmi.h to python interface
Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: Ic1a17d20f9f1f76e55813db8e2fe287279cb231e


[ROCm/amdsmi commit: 8f8d88416f]
2024-05-15 00:54:25 -05:00
Charis Poag aaed28aaab [SWDEV-451104] Update static --board + amdsmi_get_gpu_board_info()
Updates:
    * Expanded `amdsmi_get_gpu_board_info()` amdsmi_board_info_t structure size
      Updated sizes that work for retrieving relevant board
      information across AMD's ASIC products.
    * Fixed `amdsmi_get_gpu_board_info()` to no longer return junk char strings

Change-Id: Ie1553c6109d678d283d82c24e9284f8e19cd6ccc
Signed-off-by: Charis Poag <Charis.Poag@amd.com>


[ROCm/amdsmi commit: 4295bba37f]
2024-05-13 23:05:32 -05:00
Maisam Arif 1bc244b911 SWDEV-444567 - Added Ring Hang Event
Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: I2e73ba08ee0004f6f30660b2fa425ea94bafceca


[ROCm/amdsmi commit: 52843152a5]
2024-05-03 17:21:28 -04:00
Maisam Arif 30ffa6feb0 SWDEV-453493 - Fix Null pointer reference in amd-smi bad-pages
Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: I10a1278b68cbb464dd0fb38a2de50413f6f43959


[ROCm/amdsmi commit: e6054be6e7]
2024-04-26 04:04:43 -05:00
Maisam Arif 09cf43dc7f Added new functions to py-interface __init__.py
Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: I4bd591f834b026793cc9158890e30999cba46e82


[ROCm/amdsmi commit: 614816ab7e]
2024-04-24 14:26:23 -04:00
Bill(Shuzhou) Liu 5b0f4638c4 Process isolation and clean shader
A few APIs and command line options are added to support process
isolation and clean shader.

Change-Id: I98ad3fc9fc7429799a21798b7fca1c307de7f403


[ROCm/amdsmi commit: 7d2ab7970d]
2024-04-24 13:22:20 -04:00
Maisam Arif 2838dad477 Removed print in python interface
Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: I80e8cf18dc7631c66d4863251438327b8853cead


[ROCm/amdsmi commit: 0d6626db0d]
2024-04-23 04:49:47 -05:00
Maisam Arif cebb07e795 Added new ecc blocks and adjusted metric --ecc-block filtering
Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: Ib2f69c7d59ee5108024794434fb202b5e4f58738


[ROCm/amdsmi commit: 1bd18c1a65]
2024-04-18 15:01:41 -04:00
Maisam Arif 9b4f0f1d2b SWDEV-455131 - Updated process APIs
- Removed amdsmi_get_gpu_process_info from python API
  - Updated documentation
  - Aligned process --json output format to unit & value format

Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: I82bba1b6df71020b4a5995ff63b9aa62611ce4fe


[ROCm/amdsmi commit: c551c3caed]
2024-04-18 14:00:59 -05:00
Oliveira, Daniel 9e2b1d8a09 fix: [SWDEV-442525] [rocm/amd_smi_lib]
Fixes gpu_process_list

Code changes related to the following:
  * amdsmi_get_gpu_process_list()
  * CLI
  * Examples
  * Unit tests
  * Changelog
  * Readme
  * rocm_smi_lib commit: 677433b367

Change-Id: I9210fbca7a5da92d0a8b472b72ca82597c8e4fb5
Signed-off-by: Oliveira, Daniel <daniel.oliveira@amd.com>


[ROCm/amdsmi commit: 08e2e21bab]
2024-03-27 16:48:24 -05:00
Maisam Arif 980da3b329 SWDEV-445664 - Aligned metric --ecc & --ecc-blocks with Host
Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: I93cf2bdab8c4c066bacf0e910e5620d37b362b07


[ROCm/amdsmi commit: e2e4349bd2]
2024-03-26 16:30:31 -04:00
Maisam Arif 4d62fc8bd6 SWDEV-445664 - Aligned metric --clock with Host
Change-Id: Ib4dc372aed61f6301680ac746eccf448e9d0ed00
Signed-off-by: Maisam Arif <maisarif@amd.com>


[ROCm/amdsmi commit: 93b81e5012]
2024-03-26 16:30:31 -04:00
Maisam Arif 0079a66c5b SWDEV-435406 - Corrected amdsmi_get_power_info() to return N/A for invalid values
Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: I2aeb6f6670f6f47cd496faf7fc41192647f7d58c


[ROCm/amdsmi commit: dad2c430ea]
2024-03-26 10:43:28 -04:00
Maisam Arif c872b4b1ea SWDEV-431924 - Corrected amdsmi_get_gpu_board_info() to return N/A for invalid values
Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: I3f7e7c873c24b8f5ddd6784700f193c2fdf199e0


[ROCm/amdsmi commit: 72b0a6efe5]
2024-03-26 10:43:16 -04:00
Bill(Shuzhou) Liu b9b958b82c Get and set the XGMI PLPD
Update the API and CLI to support XGMI Per-Link Power Down Policy.

Change-Id: Iaf04a771eb8bb0829a5b3088d803a7355a8dfd0b


[ROCm/amdsmi commit: e4085c6414]
2024-03-26 01:48:14 -05:00
Oliveira, Daniel 51d25d8feb fix: [SWDEV-448201] [rocm/amd_smi_lib]
Adds Add PCIE Errors

Code changes related to the following:
  * amdsmi_get_pcie_info()
  * CLI
  * examples

Change-Id: Ie0b7053e77c88fb18309c16e74bce75d862c45a9
Signed-off-by: Oliveira, Daniel <daniel.oliveira@amd.com>


[ROCm/amdsmi commit: 1310c767ce]
2024-03-24 23:33:32 -04:00
Bill(Shuzhou) Liu 46ab68f840 Set and get DPM policy for GPU device
Add new APIs to set and get dpm policy for the GPU device.

Change-Id: I26fa49cd17d0ce66bda3446c38945a6cf35717ff


[ROCm/amdsmi commit: 108e6d4ae6]
2024-03-12 10:32:31 -04:00
Deepak Mewar d41232363c DCSM-371 - Observing previous mode details as null for amdsmi_set_cpu_pcie_link_rate
Signed-off-by: Deepak Mewar <deepak.mewar@amd.com>
Change-Id: I79a61d7b10aaff27b07e3d108a9b817c5ead6cf3


[ROCm/amdsmi commit: f48e3f48a3]
2024-02-22 16:30:18 -05:00
Maisam Arif 13e9ab4ad6 SWDEV-445396 - Aligned Static Command with Host
Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: I4182b9104e173f54830fc44819a61d74d31d65d7


[ROCm/amdsmi commit: a719ae9707]
2024-02-22 03:35:00 -05:00
Bill(Shuzhou) Liu 21cf0c1b5c Unify the amdsmi_get_pcie_info python interface
Make the python interface consistent with the C interface.

Change-Id: Idda08f888947c757e475d5a024b0ec3d8e1d846a


[ROCm/amdsmi commit: db33cda0c1]
2024-02-22 03:33:59 -05:00
Deepak Mewar 1e6fd88ac6 Fix for multiple hsmp freq sources not reported on some setups
Change-Id: I8afe7076bd7790cf408ef104c50ac8d258b7d3fc
Signed-off-by: Maisam Arif <maisarif@amd.com>


[ROCm/amdsmi commit: 84608807da]
2024-02-21 06:30:03 -06:00
Maisam Arif c3bfdbe806 Aligned cache property enum with Host
Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: Ie64a33f55c9a9a7cc8c806419509897351f37c70


[ROCm/amdsmi commit: 703fdb0ed2]
2024-02-20 05:48:53 -06:00
Maisam Arif bc4d2bc383 Cleanup & rev_id fix
Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: I497037939b3f13b4f835762f2cdd42261e7f26f4
Signed-off-by: Maisam Arif <maisarif@amd.com>


[ROCm/amdsmi commit: 482930eee3]
2024-02-15 16:50:10 -06:00
Maisam Arif 4728d05c5f Align list and cache_info to Host
Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: I4fa55b360b74d5a202d0b9b4eb7aee660b0a1bcf


[ROCm/amdsmi commit: 77710921a4]
2024-02-15 01:47:59 -05:00
Maisam Arif b6f62bb651 Renamed amdsmi_get_metrics_table to amdsmi_get_cpu_metrics_table
Renamed structs to be more conistent with what they are calling

Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: I6f2be2fcb76f004aa592f0dad8545565700ccd4b


[ROCm/amdsmi commit: f831cf49f7]
2024-02-12 16:30:18 -06:00
Maisam Arif aa633783aa SWDEV-439217 - Updated amdsmi_get_gpu_asic_info python api
Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: Iafcfb10bec9a9a04574afdd95f10971f537e433b


[ROCm/amdsmi commit: 7a19dbbfe6]
2024-02-12 15:37:45 -05:00
Deepak Mewar 742802ec02 Updated python interface for renaming hsmp metric table elements as per PPR
Change-Id: Ic91ba09af396cc16f3e6461f49f985a034edbe09


[ROCm/amdsmi commit: c533085a6a]
2024-02-06 18:46:27 -05:00