Merge amd-dev into amd-master 20240506

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


[ROCm/amdsmi commit: 7f59c586e2]
This commit is contained in:
Maisam Arif
2024-05-06 17:28:26 -05:00
14 zmienionych plików z 49 dodań i 18 usunięć
+1 -1
Wyświetl plik
@@ -6,7 +6,7 @@ version: 2
build:
os: ubuntu-22.04
tools:
python: "3.8"
python: "3.10"
sphinx:
configuration: docs/conf.py
+7
Wyświetl plik
@@ -8,6 +8,9 @@ Full documentation for amd_smi_lib is available at [https://rocm.docs.amd.com/](
### Added
- **Added Ring Hang event**
Added `AMDSMI_EVT_NOTIF_RING_HANG` to the possible events in the `amdsmi_evt_notification_type_t` enum.
- **Added process isolation and clean shader APIs and CLI commands**
Added APIs CLI and APIs to address LeftoverLocals security issues. Allowing clearing the sram data and setting process isolation on a per GPU basis. New APIs:
- `amdsmi_get_gpu_process_isolation()`
@@ -136,6 +139,10 @@ Updates required `amdsmi_get_power_cap_info` to return in uW as originally refle
- **Fixed python interface call amdsmi_get_gpu_memory_reserved_pages & amdsmi_get_gpu_bad_page_info**
Previously python interface calls to populated bad pages resulted in a `ValueError: NULL pointer access`. This fixes the bad-pages subcommand CLI subcommand as well.
### Known Issues
- N/A
## amd_smi_lib for ROCm 6.1.1
### Added
+1 -1
Wyświetl plik
@@ -1,7 +1,7 @@
#
# Minimum version of cmake required
#
cmake_minimum_required(VERSION 3.14)
cmake_minimum_required(VERSION 3.20)
set(AMD_SMI "amd_smi")
set(AMD_SMI_COMPONENT "lib${AMD_SMI}")
@@ -1 +1 @@
rocm-docs-core[api_reference]>=0.20.0
rocm-docs-core[api_reference]>=1.1.1
@@ -1,5 +1,5 @@
#
# This file is autogenerated by pip-compile with Python 3.8
# This file is autogenerated by pip-compile with Python 3.10
# by the following command:
#
# pip-compile requirements.in
@@ -110,7 +110,7 @@ requests==2.30.0
# via
# pygithub
# sphinx
rocm-docs-core[api_reference]>=0.26.0
rocm-docs-core[api-reference]==1.1.1
# via -r requirements.in
smmap==5.0.0
# via gitdb
@@ -835,13 +835,15 @@ typedef struct {
* Event notification event types
*/
typedef enum {
AMDSMI_EVT_NOTIF_NONE = 0, //!< Not used
AMDSMI_EVT_NOTIF_VMFAULT = 1, //!< VM page fault
AMDSMI_EVT_NOTIF_FIRST = AMDSMI_EVT_NOTIF_VMFAULT,
AMDSMI_EVT_NOTIF_THERMAL_THROTTLE = 2,
AMDSMI_EVT_NOTIF_GPU_PRE_RESET = 3,
AMDSMI_EVT_NOTIF_GPU_POST_RESET = 4,
AMDSMI_EVT_NOTIF_RING_HANG = 5,
AMDSMI_EVT_NOTIF_LAST = AMDSMI_EVT_NOTIF_GPU_POST_RESET
AMDSMI_EVT_NOTIF_LAST = AMDSMI_EVT_NOTIF_RING_HANG
} amdsmi_evt_notification_type_t;
/**
+9 -2
Wyświetl plik
@@ -1,4 +1,4 @@
FROM ubuntu:latest
FROM ubuntu:22.04
# do not prompt in apt
# https://github.com/moby/moby/issues/4032#issuecomment-163689851
@@ -25,7 +25,7 @@ RUN apt update --yes \
&& apt clean \
&& rm -rf /var/cache/apt/ /var/lib/apt/lists/*
WORKDIR /var/tmp
# install clang
RUN TEMPDIR=$(mktemp -d) \
&& cd $TEMPDIR \
&& wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh \
@@ -34,6 +34,13 @@ RUN TEMPDIR=$(mktemp -d) \
&& python3 -m pip install --no-cache-dir clang==16.0.1 ctypeslib2==2.3.4 -U \
&& rm -rf $TEMPDIR
# install cmake
RUN TEMPDIR=$(mktemp -d) \
&& cd $TEMPDIR \
&& wget https://github.com/Kitware/CMake/releases/download/v3.29.2/cmake-3.29.2-linux-x86_64.sh && chmod +x cmake*.sh \
&& ./cmake*.sh --skip-license --prefix=/usr \
&& rm -rf $TEMPDIR
WORKDIR /src
CMD cp -r /src /tmp/src \
&& cd /tmp/src \
+2 -1
Wyświetl plik
@@ -1145,8 +1145,9 @@ Event Type | Description
---|------
`VMFAULT` | VM page fault
`THERMAL_THROTTLE` | thermal throttle
`GPU_PRE_RESET` | gpu pre reset
`GPU_PRE_RESET` | gpu pre reset
`GPU_POST_RESET` | gpu post reset
`RING_HANG` | ring hang event
#### read
@@ -217,10 +217,12 @@ class AmdSmiCounterCommand(IntEnum):
class AmdSmiEvtNotificationType(IntEnum):
NONE = amdsmi_wrapper.AMDSMI_EVT_NOTIF_NONE
VMFAULT = amdsmi_wrapper.AMDSMI_EVT_NOTIF_VMFAULT
THERMAL_THROTTLE = amdsmi_wrapper.AMDSMI_EVT_NOTIF_THERMAL_THROTTLE
GPU_PRE_RESET = amdsmi_wrapper.AMDSMI_EVT_NOTIF_GPU_PRE_RESET
GPU_POST_RESET = amdsmi_wrapper.AMDSMI_EVT_NOTIF_GPU_POST_RESET
RING_HANG = amdsmi_wrapper.AMDSMI_EVT_NOTIF_RING_HANG
class AmdSmiTemperatureMetric(IntEnum):
@@ -1157,19 +1157,23 @@ amdsmi_counter_value_t = struct_amdsmi_counter_value_t
# values for enumeration 'amdsmi_evt_notification_type_t'
amdsmi_evt_notification_type_t__enumvalues = {
0: 'AMDSMI_EVT_NOTIF_NONE',
1: 'AMDSMI_EVT_NOTIF_VMFAULT',
1: 'AMDSMI_EVT_NOTIF_FIRST',
2: 'AMDSMI_EVT_NOTIF_THERMAL_THROTTLE',
3: 'AMDSMI_EVT_NOTIF_GPU_PRE_RESET',
4: 'AMDSMI_EVT_NOTIF_GPU_POST_RESET',
4: 'AMDSMI_EVT_NOTIF_LAST',
5: 'AMDSMI_EVT_NOTIF_RING_HANG',
5: 'AMDSMI_EVT_NOTIF_LAST',
}
AMDSMI_EVT_NOTIF_NONE = 0
AMDSMI_EVT_NOTIF_VMFAULT = 1
AMDSMI_EVT_NOTIF_FIRST = 1
AMDSMI_EVT_NOTIF_THERMAL_THROTTLE = 2
AMDSMI_EVT_NOTIF_GPU_PRE_RESET = 3
AMDSMI_EVT_NOTIF_GPU_POST_RESET = 4
AMDSMI_EVT_NOTIF_LAST = 4
AMDSMI_EVT_NOTIF_RING_HANG = 5
AMDSMI_EVT_NOTIF_LAST = 5
amdsmi_evt_notification_type_t = ctypes.c_uint32 # enum
class struct_amdsmi_evt_notification_data_t(Structure):
pass
@@ -2393,6 +2397,7 @@ __all__ = \
'AMDSMI_EVNT_XGMI_LAST', 'AMDSMI_EVT_NOTIF_FIRST',
'AMDSMI_EVT_NOTIF_GPU_POST_RESET',
'AMDSMI_EVT_NOTIF_GPU_PRE_RESET', 'AMDSMI_EVT_NOTIF_LAST',
'AMDSMI_EVT_NOTIF_NONE', 'AMDSMI_EVT_NOTIF_RING_HANG',
'AMDSMI_EVT_NOTIF_THERMAL_THROTTLE', 'AMDSMI_EVT_NOTIF_VMFAULT',
'AMDSMI_FILE_NOT_FOUND', 'AMDSMI_FREQ_IND_INVALID',
'AMDSMI_FREQ_IND_MAX', 'AMDSMI_FREQ_IND_MIN',
@@ -553,6 +553,7 @@ enum kfd_smi_event {
KFD_SMI_EVENT_THERMAL_THROTTLE = 2,
KFD_SMI_EVENT_GPU_PRE_RESET = 3,
KFD_SMI_EVENT_GPU_POST_RESET = 4,
KFD_SMI_EVENT_RING_HANG = 5,
};
#define KFD_SMI_EVENT_MASK_FROM_INDEX(i) (1ULL << ((i) - 1))
@@ -357,13 +357,16 @@ typedef struct {
* Event notification event types
*/
typedef enum {
RSMI_EVT_NOTIF_NONE = KFD_SMI_EVENT_NONE, //!< Unused
RSMI_EVT_NOTIF_VMFAULT = KFD_SMI_EVENT_VMFAULT, //!< VM page fault
RSMI_EVT_NOTIF_FIRST = RSMI_EVT_NOTIF_VMFAULT,
RSMI_EVT_NOTIF_THERMAL_THROTTLE = KFD_SMI_EVENT_THERMAL_THROTTLE,
RSMI_EVT_NOTIF_GPU_PRE_RESET = KFD_SMI_EVENT_GPU_PRE_RESET,
RSMI_EVT_NOTIF_GPU_POST_RESET = KFD_SMI_EVENT_GPU_POST_RESET,
RSMI_EVT_NOTIF_RING_HANG = KFD_SMI_EVENT_RING_HANG,
RSMI_EVT_NOTIF_LAST = RSMI_EVT_NOTIF_GPU_POST_RESET
RSMI_EVT_NOTIF_LAST = RSMI_EVT_NOTIF_RING_HANG
} rsmi_evt_notification_type_t;
/**
@@ -134,16 +134,18 @@ class rsmi_dev_perf_level_t(c_int):
RSMI_DEV_PERF_LEVEL_UNKNOWN = 0x100
notification_type_names = ['VM_FAULT', 'THERMAL_THROTTLE', 'GPU_RESET']
notification_type_names = ['VM_FAULT', 'THERMAL_THROTTLE', 'GPU_PRE_RESET', 'GPU_POST_RESET', 'RING_HANG']
class rsmi_evt_notification_type_t(c_int):
RSMI_EVT_NOTIF_VMFAULT = 0
RSMI_EVT_NOTIF_NONE = 0
RSMI_EVT_NOTIF_VMFAULT = 1
RSMI_EVT_NOTIF_FIRST = RSMI_EVT_NOTIF_VMFAULT
RSMI_EVT_NOTIF_THERMAL_THROTTLE = 1
RSMI_EVT_NOTIF_GPU_PRE_RESET = 2
RSMI_EVT_NOTIF_GPU_POST_RESET = 3
RSMI_EVT_NOTIF_LAST = RSMI_EVT_NOTIF_GPU_POST_RESET
RSMI_EVT_NOTIF_THERMAL_THROTTLE = 2
RSMI_EVT_NOTIF_GPU_PRE_RESET = 3
RSMI_EVT_NOTIF_GPU_POST_RESET = 4
RSMI_EVT_NOTIF_RING_HANG = 5
RSMI_EVT_NOTIF_LAST = RSMI_EVT_NOTIF_RING_HANG
class rsmi_voltage_metric_t(c_int):
@@ -84,6 +84,7 @@ static const std::map<amdsmi_evt_notification_type_t, const char *>
{AMDSMI_EVT_NOTIF_THERMAL_THROTTLE, "AMDSMI_EVT_NOTIF_THERMAL_THROTTLE"},
{AMDSMI_EVT_NOTIF_GPU_PRE_RESET, "AMDSMI_EVT_NOTIF_GPU_PRE_RESET"},
{AMDSMI_EVT_NOTIF_GPU_POST_RESET, "AMDSMI_EVT_NOTIF_GPU_POST_RESET"},
{AMDSMI_EVT_NOTIF_RING_HANG, "AMDSMI_EVT_NOTIF_RING_HANG"},
};
const char *
NameFromEvtNotifType(amdsmi_evt_notification_type_t evt) {