533 Commits

Author SHA1 Message Date
Maisam Arif 0d4014c01e SWDEV-417124 - Implement Power Management
Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: Ib0d37038e49cec61d5415076a46a5666d95dcea2


[ROCm/amdsmi commit: e4fac177c1]
2023-09-21 14:23:26 -05:00
Oliveira, Daniel 4fd608200c rocm_smi_lib: Fix [linux BM] [AMDSMI] Memory Bandwidth
Implements APIs for 'gpu_metrics_v1_3' utilization averages

Code changes related to the following:
  * rsmi_dev_activity_metric_get()
  * rsmi_dev_activity_avg_mm_get()
  * CLI shows "Avg.Memory Bandwidth" under "--showmemuse"

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


[ROCm/amdsmi commit: e0483f2ee2]
2023-09-21 11:00:29 -04:00
Bill(Shuzhou) Liu ba4506639b Return the driver loading status
When init the library, it could return status whether the driver is
loaded or not.

Change-Id: Id26b8058e32881ebe2514067a639a2a871d1f252


[ROCm/amdsmi commit: f86f62b3f7]
2023-09-18 08:38:16 -05:00
Maisam Arif 35d20bcb80 Spell check bandwith to bandwidth
Change-Id: Icfb3b2398fe0590dbab6e531c8ec1cdceebe658d
Signed-off-by: Maisam Arif <maisarif@amd.com>


[ROCm/amdsmi commit: 42b030def3]
2023-09-14 18:43:49 -04:00
Maisam Arif 806adfa83c SWDEV-412847 - Changed junction to hotspot
Change-Id: I7f6c1a0a77e6a09d2a3e831463cf03e35266bf40
Signed-off-by: Maisam Arif <maisarif@amd.com>


[ROCm/amdsmi commit: d2ef113457]
2023-09-14 17:43:26 -05:00
Shuzhou Liu 0825443a75 Merge "Add API for the memory type" into amd-dev
[ROCm/amdsmi commit: ab615f6b2a]
2023-09-12 09:34:03 -04:00
Charis Poag 3fbe3beadd Add GPU partition nodes
* Updates:
    - Fixed infinit loop on systems
      which did not have VRAM files
    - Fixed concise info from throwing exception
      with no amdgpu driver loaded
    - Fix for ability to see all nodes when
      after switching partitions (mirrors
      original card display/settings)
    - Added to logs build type, lib path,
      and set env. variables

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


[ROCm/amdsmi commit: ed6777a8e7]
2023-09-07 22:17:54 -05:00
Galantsev, Dmitrii 9e7b3ea3f6 Cleanup rocm_smi.cc
Change-Id: Ia676c237222b0dd5d9e8a054a93776f3b11e2225
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>


[ROCm/amdsmi commit: 4aef767596]
2023-09-07 15:50:40 -04:00
Bill(Shuzhou) Liu 8a4aead84b Add API for the memory type
Get the memory type from libdrm and add a new API.

Change-Id: I89327bca2ef860f2e3f4f6ca20def2331eba66c0


[ROCm/amdsmi commit: b52034fed8]
2023-09-07 13:05:58 -05:00
Bill(Shuzhou) Liu 13e544d3ba Fix doxygen warning messages
The Doxygen will enable warning as error message.

Change-Id: Ie7a7c9a823388c4140f31489604d65ec43005772


[ROCm/amdsmi commit: fab0542ab1]
2023-09-07 08:48:38 -04:00
Deepak Mewar 9d8c10b3e5 Updated esmi error checking for graceful return
Change-Id: I1bcd498e3482dc7acd92b1a762f892b3dd978ff2


[ROCm/amdsmi commit: 14cf5f2762]
2023-09-04 08:27:12 -04:00
Dmitrii Galantsev 2aab123f47 Merge "Update amdsmi_wrapper.py and name fields" into amd-dev
[ROCm/amdsmi commit: f96c7663b5]
2023-08-30 17:30:38 -04:00
Galantsev, Dmitrii 5ac201fe42 Update amdsmi_wrapper.py and name fields
When updating the wrapper I ran into an issue with anonymous structs.
Generated wrapper would contain a string split into multiple lines,
which is invalid python.

e.g.
    'struct_struct anonymous
    (struct.... amdsmi.h:355)'

After naming the structs - the issue is gone. BDF union now has to be
addressed with .fields

e.g.
    OLD: bdf.function_number
    NEW: bdf.fields.function_number

Change-Id: Ib3c640c088ad0cc67893d636827356902051f17f
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>


[ROCm/amdsmi commit: 03cfdeefd5]
2023-08-30 16:30:03 -05:00
Shuzhou Liu 68ea764b85 Merge "Support PCIe vendor name" into amd-dev
[ROCm/amdsmi commit: fc5b481124]
2023-08-30 09:58:21 -04:00
Deepak Mewar 46501e725a wrapper API to get first online core on cpu socket
Change-Id: Ia1785f94ff687e53fdb868e56d4a83c2466ba2ed


[ROCm/amdsmi commit: f1ade88d47]
2023-08-29 05:15:33 -04:00
Deepak Mewar 89d8f62fc4 Renamed esmi library APIs and bound the APIs
to cpusocket handle

Change-Id: I6e3d8aa667df475339c28b27294349843f32230c


[ROCm/amdsmi commit: 0baa3f6b6a]
2023-08-29 05:15:12 -04:00
Deepak Mewar 5ff71dfbb2 Wrapper API declared for esmi error status
Change-Id: Ie3e00a50740d9ba58d7f4955ea6b76ab8b46fb5e


[ROCm/amdsmi commit: 7c0e21ddc7]
2023-08-29 05:14:01 -04:00
Galantsev, Dmitrii 8d98bfe46d Fix uint32* -> int32* conversion error
Change-Id: I23c2a842468896e8d120ac4b8b55ef433dff6d85
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>


[ROCm/amdsmi commit: 1d24dd93a6]
2023-08-28 18:32:31 -05:00
Bill(Shuzhou) Liu 9869516963 Support PCIe vendor name
Add the support for PCIe vendor name.

Change-Id: Ibc1d289a08731e4c5a14f992f3b0d31b51482396


[ROCm/amdsmi commit: 9021ef96dc]
2023-08-28 16:46:43 -05:00
Bill(Shuzhou) Liu 914dee641d Numa affinity shows large number
Change the affinity from unsigned int to integer to represent -1.

Change-Id: I82dc6f476b45fa4ec03a3c686fe8e6e2b7761b56


[ROCm/amdsmi commit: 471fbfddc1]
2023-08-25 09:01:08 -04:00
Galantsev, Dmitrii 413698396a Merge remote-tracking branch 'rocmsmi/amd-staging' into amd-dev
Change-Id: I9c38b4facd472b877d1ad133f3176a023c890955
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>


[ROCm/amdsmi commit: 936719eeb6]
2023-08-23 16:04:15 -05:00
Charis Poag d0ea73d2a2 Error handling for unset freqs
Sending RSMI_STATUS_UNEXPECTED_DATA for drivers
which do not set some clock freqs

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


[ROCm/amdsmi commit: f191c2753c]
2023-08-23 10:44:57 -05:00
Bill(Shuzhou) Liu 05b5ef35b3 Fallback to kfd node when VRAM sysfs not available
The driver may not expose VRAM sysfs in certain system. Add a
fallback to it.

Change-Id: Ib3be71b4f4d2c79318d5026b0a97f3657d8a97b6


[ROCm/amdsmi commit: a10f00bf57]
2023-08-17 14:36:03 -05:00
Charis Poag 8915ef543c [SWDEV-399953] Smart Temperature detection + partitioning display
* Updates:
    - Fix for devices which do not have edge sensors, but junction
    - Added partitioning (memory and dynamic) displays for
      base rocm-smi CLI calls
    - Added subheading for base rocm-smi call output
    - Added better hwmon and device detection logging

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


[ROCm/amdsmi commit: 755e14dbad]
2023-08-10 19:53:38 -04:00
Oliveira, Daniel 8b4e4ac01e Fix rsmitstReadWrite.TestPowerReadWrite test failure
Code changes related to the following:
  * All reinforcement work moved to their own files
  * Self contained changes only to support them
  * New files added to CMakeLists.txt

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


[ROCm/amdsmi commit: cc5ab079df]
2023-08-09 21:51:05 -05:00
Maisam Arif 7cd10f2082 Added workaround for inconsistent current pcie speed from gpumetrics
Change-Id: If8404d21341cd15eb4d0221ab92cb0b351bbdf3e
Signed-off-by: Maisam Arif <maisarif@amd.com>


[ROCm/amdsmi commit: b14da692eb]
2023-08-09 11:35:35 -05:00
Maisam Arif e2a1fed08c Added Gen type to pcie info
Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: Icaa050a6f53fad608ed0353b2a0cbea33dee1dd2
Signed-off-by: Maisam Arif <maisarif@amd.com>


[ROCm/amdsmi commit: 82ac307f9b]
2023-08-02 23:42:48 -05:00
Charis Poag 65c425c77f [lib] Enhance Logger: gpu_metrics + enable console out
* Updates:
    - Env variable RSMI_LOGGING=0 or any other value
        -> all logging off
    - Env variable RSMI_LOGGING=1 -> logs only
    - Env variable RSMI_LOGGING=2 -> console only
    - Env variable RSMI_LOGGING=3 -> both logs + console
    - Metrics output includes hexdump of current file
      and decoded metrics (functions: logHexDump
      and log_gpu_metrics)
    - System info gathered, now includes if system's
      perceived endianness - little or big endian
      helpful for viewing decoded hexdump or any
      binary translation
    - Added templates for printing unsigned hex
      (print_unsigned_hex_and_int), unsigned integers
      (print_unsigned_int), and printing both unsigned
      hex and int with an optional header
      (print_unsigned_hex_and_int)
    - Fixed some build compile warnings/errors -
      ex. doing strncpys for sku or board names
      this operation is expected and needed
      and for temp file writes if unsuccessful
      we now properly send RSMI_STATUS_FILE_ERROR
    - Fixed on RHEL 8.8/9.x logrotate does not properly
      initialize

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


[ROCm/amdsmi commit: 9c7eed7edc]
2023-08-01 21:46:19 -05:00
Maisam Arif 907fcc53a1 Updated READMEs
Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: Idf34bc431184414a17c3cb50c06543151ce3cb56


[ROCm/amdsmi commit: a13d5be933]
2023-08-01 14:28:33 -04:00
Maisam Arif 9a98e0e317 Updated Versioning
corrected to amd-smi version from rocm-smi version
	Added newline characters in the gpu choices
	Updated cli versioning to 23.2.1.0 to match amd-smi

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


[ROCm/amdsmi commit: ca59a60a9a]
2023-08-01 14:28:27 -04:00
Maisam Arif 294b2df38f ASIC serial updates
Corrected asic serial fallback to use rsmi's unique id
	Removed product serial due to duplication

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


[ROCm/amdsmi commit: d705801adf]
2023-08-01 14:28:19 -04:00
Deepak Mewar 263a9fb6f4 esmi library integration update v1.0
1. new class files for cpu socket and cpu core created
2. wrapper API's for getting energy monitoring, system
   statistics, power monitoring values implemented
3. modified amdsmi init & cleanup functions for esmi lib support
4. modified amdsmi system class for esmi lib support
5. sample test code created in example dir

Change-Id: Ic41f31641c283a681de696bb4346b557265bad42


[ROCm/amdsmi commit: 8a9771b225]
2023-07-27 17:29:27 -05:00
Deepak Mewar 12f4b83299 esmi library header changes
1. New processor types AMD_CPU_CORE, AMD_APU added to ENUM
2. esmi errorcodes, wrappers for structures and library APIs
3. Macro introduced to enable/disable the esmi library code

Change-Id: Ia64b29303c231d3f17ac6b40fcd09b09b4380903


[ROCm/amdsmi commit: 0187de61e2]
2023-07-27 16:21:24 -05:00
Bill(Shuzhou) Liu 4d4f8a4f8c Change API to get the driver date
Support the driver date from libdrm.

Change-Id: I88e694732b538220e11fdb4029712bb5a6f44380


[ROCm/amdsmi commit: 55bf9cbe13]
2023-07-21 08:28:06 -05:00
Oliveira, Daniel bec2ebc893 Add revision to --showhw
Code changes related to the following:
  * Added 'rsmi_dev_revision_get()' related code
  * Test code
  * Functional tests

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


[ROCm/amdsmi commit: 573620f586]
2023-07-18 16:17:33 -05:00
Marko Oblak f877896d3a SWDEV-391188 - [AMDSMI][LinuxGuest] Added description in amdsmi header file for amdsmi_get_gpu_process_list, changed mentioned API in py_interface
Signed-off-by: Marko Oblak <Marko.Oblak@amd.com>
Change-Id: I8cb7f2c6595da6ab0263e6fa4365bde91d900979


[ROCm/amdsmi commit: 78faf411f8]
2023-07-03 06:35:12 -04:00
Marko Oblak a255ac2a38 SWDEV-392359 - [AMDSMI] [Linux] [Guest] Documented unsupported APIs
Signed-off-by: Marko Oblak <Marko.Oblak@amd.com>
Change-Id: I0cff925082e6bc637e4b5073df64445380b3a3f5


[ROCm/amdsmi commit: 01474ff14e]
2023-06-21 13:18:32 +02:00
Bill(Shuzhou) Liu 2540d432cc SWDEV-405668 - BDF difference between amdsmi and rocmsmi
The render node discovery is changed to match rocm-smi index.

Change-Id: I707d0844b377304f4e8fc15035902c707805c2dc


[ROCm/amdsmi commit: 8f26e881fb]
2023-06-16 17:06:00 -04:00
Bill(Shuzhou) Liu f6b66b7661 Expand showpids to provide more details
Provide details of GPU usage by an application.

Change-Id: I0f36df7d358754c2c8a60432b736d98f667ee99c


[ROCm/amdsmi commit: d9b6af7a09]
2023-06-16 08:52:18 -04:00
Maisam Arif a3ec450571 Cleaned up APIs
Change-Id: I93487e01d7126bdfa77439b571df927a6af3bb70
Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>


[ROCm/amdsmi commit: 9cebc93cee]
2023-06-07 10:48:37 -04:00
Dalibor Stanisavljevic 7fcee0d34b Align header changes with other platforms
Change-Id: I366e57310e0504855692626e2b2014bea235ed6b
Signed-off-by: Dalibor Stanisavljevic <Dalibor.Stanisavljevic@amd.com>


[ROCm/amdsmi commit: 8dbc1d7d57]
2023-06-02 12:28:09 +02:00
Bill(Shuzhou) Liu 58962bb075 Clean up the APIs
Remove and rename APIs after review.

Change-Id: I5464f200eb605b366673f8abca95183c3837843b


[ROCm/amdsmi commit: 62ce965409]
2023-05-30 16:08:54 -04:00
Dalibor Stanisavljevic d95be94e51 SWDEV-384793 - Clean up API
Change-Id: I441b315d32df59a454e06d521e5ca8b2c229451a
Signed-off-by: Dalibor Stanisavljevic <Dalibor.Stanisavljevic@amd.com>


[ROCm/amdsmi commit: 1bc1d431d8]
2023-05-19 16:40:26 +02:00
Charis Poag 14b2f93d48 [SWDEV-398070] Adding logging to ROCm SMI (by default off)
Updates:
    * [rocm-smi] Provide a thread-safe logging feature
    * [rocm-smi] Adding logrotation into install/upgrade/remove
      scripts
    * [rocm-smi] Updated cmake lists to include rocm_smi_logger
    * [rocm-smi] Updated DEB/RPM install/remove logging file &
      folder with all users having r/w privledges for
      /var/log/rocm_smi_lib/ROCm-SMI-lib.log
    * [rocm-smi] Added ability to do a glob search for multiple files
      (globFileExists), assists doing file searches with * strings
    * [rocm-smi] Added ability to log system details when RSMI_LOGGING
      is turned on (getSystemDetails())
    * [rocm-smi] Added logging to provide which ROCm API is being called
      when RSMI_LOGGING is on
    * [rocm-smi] Added logging to provide SYSFS path and read value,
      when RSMI_LOGGING is on. Provides error reponse on failure.
    * [rocm-smi] Added logging to provide SYSFS path and read value,
      when RSMI_LOGGING is on. Provides error reponse on failure.
    * [rocm-smi] Added environment variable RSMI_LOGGING to control
      when logging is enabled or disabled. By default, by not
      setting this env. variable, logging is turned off. When
      setting RSMI_LOGGING=<any value>, logging is enabled
      which is placed in /var/log/rocm_smi_lib/ROCm-SMI-lib.log file.
      Setting RSMI_LOGGING is allowed in both debug and release builds.
    * [rocm-smi] Removed an initialize procedure which keeps
      debug_inf_loop. Seems this feature is not being used.

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


[ROCm/amdsmi commit: c3a095a180]
2023-05-17 21:18:52 -05:00
Dalibor Stanisavljevic c76586e482 SWDEV-384797 - Renamed measure to info
Change-Id: I2397ed189fe0171ed29bd6440f8fa0bb210b95a5
Signed-off-by: Dalibor Stanisavljevic <Dalibor.Stanisavljevic@amd.com>


[ROCm/amdsmi commit: ca7f965018]
2023-05-17 05:10:58 -04:00
Suma Hegde 90607682ef Renamed APIs
amdsmi_dev_open_supported_func_iterator -> amdsmi_open_supported_func_iterator
amdsmi_dev_open_supported_variant_iterator -> amdsmi_open_supported_variant_iterator
amdsmi_dev_close_supported_func_iterator -> amdsmi_close_supported_func_iterator

Change-Id: Ie9b2efa5aee7095c3c835b91de1951df6b065510


[ROCm/amdsmi commit: edd8f1ae23]
2023-05-11 11:01:37 -04:00
Suma Hegde 19262e1fd8 Renamed API amdsmi_dev_reset_xgmi_error
amdsmi_dev_reset_xgmi_error -> amdsmi_reset_gpu_xgmi_error

grep -rli 'amdsmi_dev_reset_xgmi_error' * | xargs -i@ sed -i
's/amdsmi_dev_reset_xgmi_error/amdsmi_reset_gpu_xgmi_error/g' @

Change-Id: Ic7e4c4b345fdf6187aed42d53fb7ae8536c2edea


[ROCm/amdsmi commit: 6256bf6f1a]
2023-05-11 11:01:25 -04:00
Suma Hegde 13c55d85fe Renamed amd_smi_device.h to amd_smi_processor.h
Change-Id: I9f3cd8b29e4b5e9e552faeb7e977d7a1002abd65


[ROCm/amdsmi commit: a8acfbf8ff]
2023-05-11 11:01:14 -04:00
Suma Hegde 0be5a5fb82 Renamed APIs
amdsmi_dev_get_gpu_ecc_status -> amdsmi_get_gpu_ecc_status
amdsmi_dev_get_gpu_ecc_enabled -> amdsmi_get_gpu_ecc_enabled
amdsmi_dev_get_gpu_ecc_count -> amdsmi_get_gpu_ecc_count

Change-Id: I84e6489f82bae115e1a13c9e4fce8029888ca379


[ROCm/amdsmi commit: d9ba131f73]
2023-05-11 11:00:59 -04:00
Deepak Mewar e0d2d9b909 Renamed APIs
1) amdsmi_dev_set_overdrive_level to amdsmi_set_gpu_overdrive_level
2) amdsmi_dev_set_overdrive_level_v1 to amdsmi_set_gpu_overdrive_level_v1

grep -rli 'amdsmi_dev_set_overdrive_level' * | xargs -i@ sed -i
's/amdsmi_dev_set_overdrive_level/amdsmi_set_gpu_overdrive_level/g' @

Change-Id: Id6934e5b0962c9262cca041bdfdf02c60f69573b


[ROCm/amdsmi commit: e687a72235]
2023-05-11 11:00:45 -04:00