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:
@@ -6,7 +6,7 @@ version: 2
|
||||
build:
|
||||
os: ubuntu-22.04
|
||||
tools:
|
||||
python: "3.8"
|
||||
python: "3.10"
|
||||
|
||||
sphinx:
|
||||
configuration: docs/conf.py
|
||||
|
||||
@@ -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,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;
|
||||
|
||||
/**
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user