diff --git a/projects/amdsmi/CMakeLists.txt b/projects/amdsmi/CMakeLists.txt index 785137f2e7..50683e7d81 100755 --- a/projects/amdsmi/CMakeLists.txt +++ b/projects/amdsmi/CMakeLists.txt @@ -28,7 +28,7 @@ find_program(GIT NAMES git) ## Setup the package version based on git tags. set(PKG_VERSION_GIT_TAG_PREFIX "amdsmi_pkg_ver") -get_package_version_number("1.0.0" ${PKG_VERSION_GIT_TAG_PREFIX} GIT) +get_package_version_number("23.4.0" ${PKG_VERSION_GIT_TAG_PREFIX} GIT) message("Package version: ${PKG_VERSION_STR}") set(${AMD_SMI_LIBS_TARGET}_VERSION_MAJOR "${VERSION_MAJOR}") set(${AMD_SMI_LIBS_TARGET}_VERSION_MINOR "${VERSION_MINOR}") diff --git a/projects/amdsmi/README.md b/projects/amdsmi/README.md index 3e78fb9321..4fa348f431 100755 --- a/projects/amdsmi/README.md +++ b/projects/amdsmi/README.md @@ -132,7 +132,7 @@ For additional details, see the [ROCm Contributing Guide](https://rocm.docs.amd. ### Requirements * python 3.7+ 64-bit -* driver must be loaded for amdsmi_init() to pass +* amdgpu driver must be loaded for amdsmi_init() to pass ### CLI Installation @@ -147,7 +147,7 @@ python3 -m pip uninstall amdsmi * Install amd-smi-lib package through package manager * amd-smi --help -#### Install Example for Ubuntu 22.04 +### Install Example for Ubuntu 22.04 ``` bash python3 -m pip list | grep amd @@ -156,7 +156,7 @@ apt install amd-smi-lib amd-smi --help ``` -### Python Library Installation +### Python Development Library Installation This option is for users who want to develop their own scripts using amd-smi's python library @@ -171,11 +171,18 @@ Verify that your python version is 3.7+ to install the python library Warning: this will take precedence over the cli tool's library install, to avoid issues run these steps after every amd-smi-lib update. -#### RHEL 8 & SLES 15 +#### Older RPM Packaged OS's -The default python versions in RHEL 8 and SLES 15 are 3.6.8 and 3.6.15 +The default python versions in older RPM based OS's are not gauranteed to have the minium version. -While the CLI will work with these python versions, to install the python library you need to upgrade to python 3.7+ +For example RHEL 8 and SLES 15 are 3.6.8 and 3.6.15 . You will need to ensure the latest yaml package is installed ( pyyaml >= 5.1) pyyaml is installed to your pip instance: + +``` bash +python3 -m pip install pyyaml +amd-smi list +``` + +While the CLI will work with these older python versions, to install the python development library you need to upgrade to python 3.7+ #### Python Library Install Example for Ubuntu 22.04 diff --git a/projects/amdsmi/amdsmi_cli/README.md b/projects/amdsmi/amdsmi_cli/README.md index 19b269e63e..45281d39f1 100644 --- a/projects/amdsmi/amdsmi_cli/README.md +++ b/projects/amdsmi/amdsmi_cli/README.md @@ -26,7 +26,7 @@ python3 -m pip uninstall amdsmi * Install amd-smi-lib package through package manager * amd-smi --help -#### Install Example for Ubuntu 22.04 +### Install Example for Ubuntu 22.04 ``` bash python3 -m pip list | grep amd @@ -35,7 +35,7 @@ apt install amd-smi-lib amd-smi --help ``` -### Python Library Installation +### Python Development Library Installation This option is for users who want to develop their own scripts using amd-smi's python library @@ -50,11 +50,18 @@ Verify that your python version is 3.7+ to install the python library Warning: this will take precedence over the cli tool's library install, to avoid issues run these steps after every amd-smi-lib update. -#### RHEL 8 & SLES 15 +#### Older RPM Packaged OS's -The default python versions in RHEL 8 and SLES 15 are 3.6.8 and 3.6.15 +The default python versions in older RPM based OS's are not gauranteed to have the minium version. -While the CLI will work with these python versions, to install the python library you need to upgrade to python 3.7+ +For example RHEL 8 and SLES 15 are 3.6.8 and 3.6.15 . You will need to ensure the latest yaml package is installed ( pyyaml >= 5.1) pyyaml is installed to your pip instance: + +``` bash +python3 -m pip install pyyaml +amd-smi list +``` + +While the CLI will work with these older python versions, to install the python development library you need to upgrade to python 3.7+ #### Python Library Install Example for Ubuntu 22.04 @@ -67,7 +74,7 @@ python3 -m pip install --user . ``` ``` bash -python3 +~$ python3 Python 3.8.10 (default, May 26 2023, 14:05:08) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. @@ -80,27 +87,27 @@ Type "help", "copyright", "credits" or "license" for more information. amd-smi will report the version and current platform detected when running the command without arguments: ``` bash -amd-smi +~$ amd-smi usage: amd-smi [-h] ... -AMD System Management Interface | Version: 23.3.1.0 | Platform: Linux Baremetal +AMD System Management Interface | Version: 23.4.0.0 | Platform: Linux Baremetal optional arguments: - -h, --help show this help message and exit + -h, --help show this help message and exit AMD-SMI Commands: - Descriptions: - version Display version information - list List GPU information - static Gets static information about the specified GPU - firmware Gets firmware information about the specified GPU - bad-pages - Gets bad page information about the specified GPU - metric Gets metric/performance information about the specified GPU - process Lists general process information running on the specified GPU - topology Displays topology information of the devices - set Set options for devices - reset Reset options for devices + Descriptions: + version Display version information + list List GPU information + static Gets static information about the specified GPU + firmware (ucode) Gets firmware information about the specified GPU + bad-pages Gets bad page information about the specified GPU + metric Gets metric/performance information about the specified GPU + process Lists general process information running on the specified GPU + event Displays event information for the given GPU + topology Displays topology information of the devices + set Set options for devices + reset Reset options for devices ``` More detailed verison information is available from `amd-smi version` @@ -112,209 +119,233 @@ Each command will have detailed information via `amd-smi [command] --help` For convenience, here is the help output for each command ``` bash -usage: amd-smi list [-h] [--json | --csv] [--file FILE] - [--loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [-g GPU [GPU ...]] +~$ amd-smi list --help +usage: amd-smi list [-h] [--json | --csv] [--file FILE] [--loglevel LEVEL] + [-g GPU [GPU ...]] -Lists all the devices on the system and the links between devices. -Lists all the sockets and for each socket, GPUs and/or CPUs associated to -that socket alongside some basic information for each device. -In virtualization environments, it can also list VFs associated to each +Lists all the devices on the system and the links between devices. +Lists all the sockets and for each socket, GPUs and/or CPUs associated to +that socket alongside some basic information for each device. +In virtualization environments, it can also list VFs associated to each GPU with some basic information for each VF. optional arguments: - -h, --help show this help message and exit - -g GPU [GPU ...], --gpu GPU [GPU ...] Select a GPU ID, BDF, or UUID from the possible choices: - ID:0 | BDF:0000:23:00.0 | UUID:c4ff73bf-0000-1000-80ff-ffffffffffff - all | Selects all devices + -h, --help show this help message and exit + -g, --gpu GPU [GPU ...] Select a GPU ID, BDF, or UUID from the possible choices: + ID:0 | BDF:0000:23:00.0 | UUID:ffff73bf-0000-1000-80ff-ffffffffffff + all | Selects all devices Command Modifiers: - --json Displays output in JSON format (human readable by default). - --csv Displays output in CSV format (human readable by default). - --file FILE Saves output into a file on the provided path (stdout by default). - --loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL} Set the logging level for the parser commands (ERROR by default). -``` - -``` bash -amd-smi firmware --help -usage: amd-smi firmware [-h] [--json | --csv] [--file FILE] - [--loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL}] - [-g GPU [GPU ...]] [-f] - -If no GPU is specified, return firmware information for all GPUs on the system. - -Firmware Arguments: - -h, --help show this help message and exit - -g GPU [GPU ...], --gpu GPU [GPU ...] Select a GPU ID, BDF, or UUID from the possible choices: - ID:0 | BDF:0000:23:00.0 | UUID:c4ff73bf-0000-1000-80ff-ffffffffffff - all | Selects all devices - -f, --ucode-list, --fw-list All FW list information - -Command Modifiers: - --json Displays output in JSON format (human readable by default). - --csv Displays output in CSV format (human readable by default). - --file FILE Saves output into a file on the provided path (stdout by default). - --loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL} Set the logging level for the parser commands (ERROR by default). + --json Displays output in JSON format (human readable by default). + --csv Displays output in CSV format (human readable by default). + --file FILE Saves output into a file on the provided path (stdout by default). + --loglevel LEVEL Set the logging level from the possible choices: + DEBUG, INFO, WARNING, ERROR, CRITICAL ``` ```bash -amd-smi static --help -usage: amd-smi static [-h] [--json | --csv] [--file FILE] - [--loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [-g GPU [GPU ...]] - [-a] [-b] [-V] [-d] [-v] [-c] [-B] [-r] [-p] [-l] [-u] +~$ amd-smi static --help +usage: amd-smi static [-h] [--json | --csv] [--file FILE] [--loglevel LEVEL] + [-g GPU [GPU ...]] [-a] [-b] [-V] [-d] [-v] [-c] [-B] [-r] [-p] [-l] + [-u] If no GPU is specified, returns static information for all GPUs on the system. If no static argument is provided, all static information will be displayed. Static Arguments: - -h, --help show this help message and exit - -g GPU [GPU ...], --gpu GPU [GPU ...] Select a GPU ID, BDF, or UUID from the possible choices: - ID:0 | BDF:0000:23:00.0 | UUID:c4ff73bf-0000-1000-80ff-ffffffffffff - all | Selects all devices - -a, --asic All asic information - -b, --bus All bus information - -V, --vbios All video bios information (if available) - -d, --driver Displays driver version - -v, --vram All vram information - -c, --cache All cache information - -B, --board All board information - -r, --ras Displays RAS features information - -p, --partition Partition information - -l, --limit All limit metric values (i.e. power and thermal limits) - -u, --numa All numa node information + -h, --help show this help message and exit + -g, --gpu GPU [GPU ...] Select a GPU ID, BDF, or UUID from the possible choices: + ID:0 | BDF:0000:23:00.0 | UUID:ffff73bf-0000-1000-80ff-ffffffffffff + all | Selects all devices + -a, --asic All asic information + -b, --bus All bus information + -V, --vbios All video bios information (if available) + -d, --driver Displays driver version + -v, --vram All vram information + -c, --cache All cache information + -B, --board All board information + -r, --ras Displays RAS features information + -p, --partition Partition information + -l, --limit All limit metric values (i.e. power and thermal limits) + -u, --numa All numa node information Command Modifiers: - --json Displays output in JSON format (human readable by default). - --csv Displays output in CSV format (human readable by default). - --file FILE Saves output into a file on the provided path (stdout by default). - --loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL} Set the logging level for the parser commands (ERROR by default). + --json Displays output in JSON format (human readable by default). + --csv Displays output in CSV format (human readable by default). + --file FILE Saves output into a file on the provided path (stdout by default). + --loglevel LEVEL Set the logging level from the possible choices: + DEBUG, INFO, WARNING, ERROR, CRITICAL +``` + +``` bash +~$ amd-smi firmware --help +usage: amd-smi firmware [-h] [--json | --csv] [--file FILE] [--loglevel LEVEL] + [-g GPU [GPU ...]] [-f] + +If no GPU is specified, return firmware information for all GPUs on the system. + +Firmware Arguments: + -h, --help show this help message and exit + -g, --gpu GPU [GPU ...] Select a GPU ID, BDF, or UUID from the possible choices: + ID:0 | BDF:0000:23:00.0 | UUID:ffff73bf-0000-1000-80ff-ffffffffffff + all | Selects all devices + -f, --ucode-list, --fw-list All FW list information + +Command Modifiers: + --json Displays output in JSON format (human readable by default). + --csv Displays output in CSV format (human readable by default). + --file FILE Saves output into a file on the provided path (stdout by default). + --loglevel LEVEL Set the logging level from the possible choices: + DEBUG, INFO, WARNING, ERROR, CRITICAL ``` ```bash -amd-smi bad-pages --help -usage: amd-smi bad-pages [-h] [--json | --csv] [--file FILE] - [--loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL}] +~$ amd-smi bad-pages --help +usage: amd-smi bad-pages [-h] [--json | --csv] [--file FILE] [--loglevel LEVEL] [-g GPU [GPU ...]] [-p] [-r] [-u] If no GPU is specified, return bad page information for all GPUs on the system. Bad Pages Arguments: - -h, --help show this help message and exit - -g GPU [GPU ...], --gpu GPU [GPU ...] Select a GPU ID, BDF, or UUID from the possible choices: - ID:0 | BDF:0000:23:00.0 | UUID:c4ff73bf-0000-1000-80ff-ffffffffffff - all | Selects all devices - -p, --pending Displays all pending retired pages - -r, --retired Displays retired pages - -u, --un-res Displays unreservable pages + -h, --help show this help message and exit + -g, --gpu GPU [GPU ...] Select a GPU ID, BDF, or UUID from the possible choices: + ID:0 | BDF:0000:23:00.0 | UUID:ffff73bf-0000-1000-80ff-ffffffffffff + all | Selects all devices + -p, --pending Displays all pending retired pages + -r, --retired Displays retired pages + -u, --un-res Displays unreservable pages Command Modifiers: - --json Displays output in JSON format (human readable by default). - --csv Displays output in CSV format (human readable by default). - --file FILE Saves output into a file on the provided path (stdout by default). - --loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL} Set the logging level for the parser commands (ERROR by default). + --json Displays output in JSON format (human readable by default). + --csv Displays output in CSV format (human readable by default). + --file FILE Saves output into a file on the provided path (stdout by default). + --loglevel LEVEL Set the logging level from the possible choices: + DEBUG, INFO, WARNING, ERROR, CRITICAL ``` ```bash -amd-smi metric --help -usage: amd-smi metric [-h] [--json | --csv] [--file FILE] - [--loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [-g GPU [GPU ...]] - [-w loop_time] [-W total_loop_time] [-i number_of_iterations] [-m] - [-u] [-p] [-c] [-t] [-e] [-k] [-P] [-f] [-C] [-o] [-l] [-x] [-E] +~$ amd-smi metric --help +usage: amd-smi metric [-h] [--json | --csv] [--file FILE] [--loglevel LEVEL] + [-g GPU [GPU ...]] [-w INTERVAL] [-W TIME] [-i ITERATIONS] [-m] [-u] + [-p] [-c] [-t] [-e] [-k] [-P] [-f] [-C] [-o] [-l] [-x] [-E] -If no GPU is specified, returns metric information for all GPUs on the system. +If no GPU is specified, returns metric information for all GPUs on the system. If no metric argument is provided all metric information will be displayed. Metric arguments: - -h, --help show this help message and exit - -g GPU [GPU ...], --gpu GPU [GPU ...] Select a GPU ID, BDF, or UUID from the possible choices: - ID:0 | BDF:0000:23:00.0 | UUID:c4ff73bf-0000-1000-80ff-ffffffffffff - all | Selects all devices - -w loop_time, --watch loop_time Reprint the command in a loop of Interval seconds - -W total_loop_time, --watch_time total_loop_time The total time to watch the given command - -i number_of_iterations, --iterations number_of_iterations Total number of iterations to loop on the given command - -m, --mem-usage Memory usage per block - -u, --usage Displays engine usage information - -p, --power Current power usage - -c, --clock Average, max, and current clock frequencies - -t, --temperature Current temperatures - -e, --ecc Number of ECC errors - -k, --ecc-block Number of ECC errors per block - -P, --pcie Current PCIe speed, width, and replay count - -f, --fan Current fan speed - -C, --voltage-curve Display voltage curve - -o, --overdrive Current GPU clock overdrive level - -l, --perf-level Current DPM performance level - -x, --xgmi-err XGMI error information since last read - -E, --energy Amount of energy consumed + -h, --help show this help message and exit + -g, --gpu GPU [GPU ...] Select a GPU ID, BDF, or UUID from the possible choices: + ID:0 | BDF:0000:23:00.0 | UUID:ffff73bf-0000-1000-80ff-ffffffffffff + all | Selects all devices + -w, --watch INTERVAL Reprint the command in a loop of INTERVAL seconds + -W, --watch_time TIME The total TIME to watch the given command + -i, --iterations ITERATIONS Total number of ITERATIONS to loop on the given command + -m, --mem-usage Memory usage per block + -u, --usage Displays engine usage information + -p, --power Current power usage + -c, --clock Average, max, and current clock frequencies + -t, --temperature Current temperatures + -e, --ecc Total number of ECC errors + -k, --ecc-block Number of ECC errors per block + -P, --pcie Current PCIe speed, width, and replay count + -f, --fan Current fan speed + -C, --voltage-curve Display voltage curve + -o, --overdrive Current GPU clock overdrive level + -l, --perf-level Current DPM performance level + -x, --xgmi-err XGMI error information since last read + -E, --energy Amount of energy consumed Command Modifiers: - --json Displays output in JSON format (human readable by default). - --csv Displays output in CSV format (human readable by default). - --file FILE Saves output into a file on the provided path (stdout by default). - --loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL} Set the logging level for the parser commands (ERROR by default). + --json Displays output in JSON format (human readable by default). + --csv Displays output in CSV format (human readable by default). + --file FILE Saves output into a file on the provided path (stdout by default). + --loglevel LEVEL Set the logging level from the possible choices: + DEBUG, INFO, WARNING, ERROR, CRITICAL ``` ```bash -amd-smi process --help -usage: amd-smi process [-h] [--json | --csv] [--file FILE] - [--loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [-g GPU [GPU ...]] - [-w loop_time] [-W total_loop_time] [-i number_of_iterations] [-G] +~$ amd-smi process --help +usage: amd-smi process [-h] [--json | --csv] [--file FILE] [--loglevel LEVEL] + [-g GPU [GPU ...]] [-w INTERVAL] [-W TIME] [-i ITERATIONS] [-G] [-e] [-p PID] [-n NAME] If no GPU is specified, returns information for all GPUs on the system. If no process argument is provided all process information will be displayed. Process arguments: - -h, --help show this help message and exit - -g GPU [GPU ...], --gpu GPU [GPU ...] Select a GPU ID, BDF, or UUID from the possible choices: - ID:0 | BDF:0000:23:00.0 | UUID:c4ff73bf-0000-1000-80ff-ffffffffffff - all | Selects all devices - -w loop_time, --watch loop_time Reprint the command in a loop of Interval seconds - -W total_loop_time, --watch_time total_loop_time The total time to watch the given command - -i number_of_iterations, --iterations number_of_iterations Total number of iterations to loop on the given command - -G, --general pid, process name, memory usage - -e, --engine All engine usages - -p PID, --pid PID Gets all process information about the specified process based on Process ID - -n NAME, --name NAME Gets all process information about the specified process based on Process Name. - If multiple processes have the same name information is returned for all of them. + -h, --help show this help message and exit + -g, --gpu GPU [GPU ...] Select a GPU ID, BDF, or UUID from the possible choices: + ID:0 | BDF:0000:23:00.0 | UUID:ffff73bf-0000-1000-80ff-ffffffffffff + all | Selects all devices + -w, --watch INTERVAL Reprint the command in a loop of INTERVAL seconds + -W, --watch_time TIME The total TIME to watch the given command + -i, --iterations ITERATIONS Total number of ITERATIONS to loop on the given command + -G, --general pid, process name, memory usage + -e, --engine All engine usages + -p, --pid PID Gets all process information about the specified process based on Process ID + -n, --name NAME Gets all process information about the specified process based on Process Name. + If multiple processes have the same name information is returned for all of them. Command Modifiers: - --json Displays output in JSON format (human readable by default). - --csv Displays output in CSV format (human readable by default). - --file FILE Saves output into a file on the provided path (stdout by default). - --loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL} Set the logging level for the parser commands (ERROR by default). + --json Displays output in JSON format (human readable by default). + --csv Displays output in CSV format (human readable by default). + --file FILE Saves output into a file on the provided path (stdout by default). + --loglevel LEVEL Set the logging level from the possible choices: + DEBUG, INFO, WARNING, ERROR, CRITICAL ``` ```bash -amd-smi topology --help -usage: amd-smi topology [-h] [--json | --csv] [--file FILE] - [--loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL}] +~$ amd-smi event --help +usage: amd-smi event [-h] [--json | --csv] [--file FILE] [--loglevel LEVEL] + [-g GPU [GPU ...]] + +If no GPU is specified, returns event information for all GPUs on the system. + +Event Arguments: + -h, --help show this help message and exit + -g, --gpu GPU [GPU ...] Select a GPU ID, BDF, or UUID from the possible choices: + ID:0 | BDF:0000:23:00.0 | UUID:ffff73bf-0000-1000-80ff-ffffffffffff + all | Selects all devices + +Command Modifiers: + --json Displays output in JSON format (human readable by default). + --csv Displays output in CSV format (human readable by default). + --file FILE Saves output into a file on the provided path (stdout by default). + --loglevel LEVEL Set the logging level from the possible choices: + DEBUG, INFO, WARNING, ERROR, CRITICAL +``` + +```bash +~$ amd-smi topology --help +usage: amd-smi topology [-h] [--json | --csv] [--file FILE] [--loglevel LEVEL] [-g GPU [GPU ...]] [-a] [-w] [-o] [-t] [-b] If no GPU is specified, returns information for all GPUs on the system. If no topology argument is provided all topology information will be displayed. Topology arguments: - -h, --help show this help message and exit - -g GPU [GPU ...], --gpu GPU [GPU ...] Select a GPU ID, BDF, or UUID from the possible choices: - ID:0 | BDF:0000:23:00.0 | UUID:c4ff73bf-0000-1000-80ff-ffffffffffff - all | Selects all devices - -a, --access Displays link accessibility between GPUs - -w, --weight Displays relative weight between GPUs - -o, --hops Displays the number of hops between GPUs - -t, --link-type Displays the link type between GPUs - -b, --numa-bw Display max and min bandwidth between nodes + -h, --help show this help message and exit + -g, --gpu GPU [GPU ...] Select a GPU ID, BDF, or UUID from the possible choices: + ID:0 | BDF:0000:23:00.0 | UUID:ffff73bf-0000-1000-80ff-ffffffffffff + all | Selects all devices + -a, --access Displays link accessibility between GPUs + -w, --weight Displays relative weight between GPUs + -o, --hops Displays the number of hops between GPUs + -t, --link-type Displays the link type between GPUs + -b, --numa-bw Display max and min bandwidth between nodes Command Modifiers: - --json Displays output in JSON format (human readable by default). - --csv Displays output in CSV format (human readable by default). - --file FILE Saves output into a file on the provided path (stdout by default). - --loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL} Set the logging level for the parser commands (ERROR by default). + --json Displays output in JSON format (human readable by default). + --csv Displays output in CSV format (human readable by default). + --file FILE Saves output into a file on the provided path (stdout by default). + --loglevel LEVEL Set the logging level from the possible choices: + DEBUG, INFO, WARNING, ERROR, CRITICAL + ``` ```bash -amd-smi set --help -usage: amd-smi set [-h] [--json | --csv] [--file FILE] - [--loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL}] -g GPU [GPU ...] +~$ amd-smi set --help +usage: amd-smi set [-h] [--json | --csv] [--file FILE] [--loglevel LEVEL] -g GPU [GPU ...] [-f %] [-l LEVEL] [-P SETPROFILE] [-d SCLKMAX] [-C PARTITION] [-M PARTITION] @@ -322,52 +353,55 @@ A GPU must be specified to set a configuration. A set argument must be provided; Multiple set arguments are accepted Set Arguments: - -h, --help show this help message and exit - -g GPU [GPU ...], --gpu GPU [GPU ...] Select a GPU ID, BDF, or UUID from the possible choices: - ID:0 | BDF:0000:23:00.0 | UUID:c4ff73bf-0000-1000-80ff-ffffffffffff - all | Selects all devices - -f %, --fan % Sets GPU fan speed (0-255 or 0-100%) - -l LEVEL, --perf-level LEVEL Sets performance level - -P SETPROFILE, --profile SETPROFILE Set power profile level (#) or a quoted string of custom profile attributes - -d SCLKMAX, --perf-determinism SCLKMAX Sets GPU clock frequency limit and performance level to determinism to get minimal performance variation - -C PARTITION, --compute-partition PARTITION Sets compute partition mode - -M PARTITION, --memory-partition PARTITION Sets memory partition mode + -h, --help show this help message and exit + -g, --gpu GPU [GPU ...] Select a GPU ID, BDF, or UUID from the possible choices: + ID: 0 | BDF: 0000:23:00.0 | UUID: c4ff73bf-0000-1000-802e-0812b504ed69 + all | Selects all devices + -f, --fan % Set GPU fan speed (0-255 or 0-100%) + -l, --perf-level LEVEL Set performance level + -P, --profile SETPROFILE Set power profile level (#) or a quoted string of custom profile attributes + -d, --perf-determinism SCLKMAX Set GPU clock frequency limit and performance level to determinism to get minimal performance variation + -C, --compute-partition PARTITION Set one of the following the compute partition modes: + CPX, SPX, DPX, TPX, QPX + -M, --memory-partition PARTITION Set one of the following the memory partition modes: + NPS1, NPS2, NPS4, NPS8 Command Modifiers: - --json Displays output in JSON format (human readable by default). - --csv Displays output in CSV format (human readable by default). - --file FILE Saves output into a file on the provided path (stdout by default). - --loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL} Set the logging level for the parser commands (ERROR by default). + --json Displays output in JSON format (human readable by default). + --csv Displays output in CSV format (human readable by default). + --file FILE Saves output into a file on the provided path (stdout by default). + --loglevel LEVEL Set the logging level from the possible choices: + DEBUG, INFO, WARNING, ERROR, CRITICAL ``` ```bash -amd-smi reset --help -usage: amd-smi reset [-h] [--json | --csv] [--file FILE] - [--loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL}] -g GPU [GPU ...] - [-G] [-c] [-f] [-p] [-x] [-d] [-C] [-M] +~$ amd-smi reset --help +usage: amd-smi reset [-h] [--json | --csv] [--file FILE] [--loglevel LEVEL] -g GPU + [GPU ...] [-G] [-c] [-f] [-p] [-x] [-d] [-C] [-M] A GPU must be specified to reset a configuration. A reset argument must be provided; Multiple reset arguments are accepted Reset Arguments: - -h, --help show this help message and exit - -g GPU [GPU ...], --gpu GPU [GPU ...] Select a GPU ID, BDF, or UUID from the possible choices: - ID:0 | BDF:0000:23:00.0 | UUID:c4ff73bf-0000-1000-80ff-ffffffffffff - all | Selects all devices - -G, --gpureset Reset the specified GPU - -c, --clocks Reset clocks and overdrive to default - -f, --fans Reset fans to automatic (driver) control - -p, --profile Reset power profile back to default - -x, --xgmierr Reset XGMI error counts - -d, --perf-determinism Disable performance determinism - -C, --compute-partition Reset compute partitions on the specified GPU - -M, --memory-partition Reset memory partitions on the specified GPU + -h, --help show this help message and exit + -g, --gpu GPU [GPU ...] Select a GPU ID, BDF, or UUID from the possible choices: + ID: 0 | BDF: 0000:23:00.0 | UUID: c4ff73bf-0000-1000-802e-0812b504ed69 + all | Selects all devices + -G, --gpureset Reset the specified GPU + -c, --clocks Reset clocks and overdrive to default + -f, --fans Reset fans to automatic (driver) control + -p, --profile Reset power profile back to default + -x, --xgmierr Reset XGMI error counts + -d, --perf-determinism Disable performance determinism + -C, --compute-partition Reset compute partitions on the specified GPU + -M, --memory-partition Reset memory partitions on the specified GPU Command Modifiers: - --json Displays output in JSON format (human readable by default). - --csv Displays output in CSV format (human readable by default). - --file FILE Saves output into a file on the provided path (stdout by default). - --loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL} Set the logging level for the parser commands (ERROR by default). + --json Displays output in JSON format (human readable by default). + --csv Displays output in CSV format (human readable by default). + --file FILE Saves output into a file on the provided path (stdout by default). + --loglevel LEVEL Set the logging level from the possible choices: + DEBUG, INFO, WARNING, ERROR, CRITICAL ``` ### Example output from amd-smi static @@ -375,16 +409,17 @@ Command Modifiers: Here is some example output from the tool: ```bash -amd-smi static +~$ amd-smi static GPU: 0 ASIC: MARKET_NAME: 0x73bf VENDOR_ID: 0x1002 - VENDOR_NAME: Advanced Micro Devices, Inc. [AMD/ATI] + VENDOR_NAME: Advanced Micro Devices Inc. [AMD/ATI] SUBVENDOR_ID: 0 DEVICE_ID: 0x73bf REV_ID: 0xc3 ASIC_SERIAL: 0xffffffffffffffff + XGMI_PHYSICAL_ID: N/A BUS: BDF: 0000:23:00.0 MAX_PCIE_SPEED: 16 GT/s @@ -397,9 +432,11 @@ VBIOS: PART_NUMBER: 113-D4120900-101 VERSION: 020.001.000.038.015720 BOARD: - SERIAL_NUMBER: 0xffffffffffffffff - MODEL_NUMBER: ffffffffffffffff - PRODUCT_NAME: ffffffffffffffff + MODEL_NUMBER: N/A + PRODUCT_SERIAL: 0 + FRU_ID: N/A + MANUFACTURER_NAME: N/A + PRODUCT_NAME: N/A LIMIT: MAX_POWER: 203 W CURRENT_POWER: 203 W @@ -410,16 +447,30 @@ LIMIT: SHUTDOWN_HOTSPOT_TEMPERATURE: 115 °C SHUTDOWN_VRAM_TEMPERATURE: 105 °C DRIVER: + DRIVER_NAME: amdgpu DRIVER_VERSION: 6.1.10 DRIVER_DATE: 2015/01/01 00:00 -RAS: N/A VRAM: - VRAM_TYPE: MAX + VRAM_TYPE: GDDR6 VRAM_VENDOR: SAMSUNG VRAM_SIZE_MB: 16368 MB +CACHE: + CACHE 0: + CACHE_SIZE: 16 KB + CACHE_LEVEL: 1 +RAS: + EEPROM_VERSION: N/A + PARITY_SCHEMA: N/A + SINGLE_BIT_SCHEMA: N/A + DOUBLE_BIT_SCHEMA: N/A + POISON_SCHEMA: N/A + ECC_BLOCK_STATE: N/A +PARTITION: + COMPUTE_PARTITION: N/A + MEMORY_PARTITION: N/A NUMA: NODE: 0 - AFFINITY: -1 + AFFINITY: NONE ``` ## Disclaimer diff --git a/projects/amdsmi/amdsmi_cli/__init__.py b/projects/amdsmi/amdsmi_cli/__init__.py index 457ded273b..608c46bbe2 100644 --- a/projects/amdsmi/amdsmi_cli/__init__.py +++ b/projects/amdsmi/amdsmi_cli/__init__.py @@ -1 +1 @@ -__version__ = "23.3.1.0" +__version__ = "23.4.0.0" diff --git a/projects/amdsmi/amdsmi_cli/_version.py b/projects/amdsmi/amdsmi_cli/_version.py index 457ded273b..608c46bbe2 100644 --- a/projects/amdsmi/amdsmi_cli/_version.py +++ b/projects/amdsmi/amdsmi_cli/_version.py @@ -1 +1 @@ -__version__ = "23.3.1.0" +__version__ = "23.4.0.0" diff --git a/projects/amdsmi/docs/doxygen/Doxyfile b/projects/amdsmi/docs/doxygen/Doxyfile index b90d176126..ca3cf2603d 100644 --- a/projects/amdsmi/docs/doxygen/Doxyfile +++ b/projects/amdsmi/docs/doxygen/Doxyfile @@ -38,7 +38,7 @@ PROJECT_NAME = AMD SMI # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = "23.3.1.0" +PROJECT_NUMBER = "23.4.0.0" # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/projects/amdsmi/include/amd_smi/amdsmi.h b/projects/amdsmi/include/amd_smi/amdsmi.h index 4199547127..c8da0b4502 100644 --- a/projects/amdsmi/include/amd_smi/amdsmi.h +++ b/projects/amdsmi/include/amd_smi/amdsmi.h @@ -100,10 +100,10 @@ typedef enum { #define AMDSMI_LIB_VERSION_YEAR 23 //! Major version should be changed for every header change (adding/deleting APIs, changing names, fields of structures, etc.) -#define AMDSMI_LIB_VERSION_MAJOR 3 +#define AMDSMI_LIB_VERSION_MAJOR 4 //! 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/py-interface/pyproject.toml b/projects/amdsmi/py-interface/pyproject.toml index 17ba948c13..fa2cb5d040 100644 --- a/projects/amdsmi/py-interface/pyproject.toml +++ b/projects/amdsmi/py-interface/pyproject.toml @@ -10,7 +10,7 @@ name = "amdsmi" authors = [ {name = "AMD", email = "amd-smi.support@amd.com"}, ] -version = "23.3.1.0" +version = "23.4.0.0" license = {file = "amdsmi/LICENSE"} readme = {file = "amdsmi/README.md", content-type = "text/markdown"} description = "AMDSMI Python LIB - AMD GPU Monitoring Library" diff --git a/projects/amdsmi/src/CMakeLists.txt b/projects/amdsmi/src/CMakeLists.txt index 3e22f52ffe..7e5d043e75 100644 --- a/projects/amdsmi/src/CMakeLists.txt +++ b/projects/amdsmi/src/CMakeLists.txt @@ -60,7 +60,7 @@ message("Package version: ${PKG_VERSION_STR}") # Debian package specific variables # Set a default value for the package version -get_version_from_tag("1.0.0.0" ${SO_VERSION_GIT_TAG_PREFIX} GIT) +get_version_from_tag("${${AMD_SMI_LIBS_TARGET}_VERSION_MAJOR}.${${AMD_SMI_LIBS_TARGET}_VERSION_MINOR}.0.0" ${SO_VERSION_GIT_TAG_PREFIX} GIT) # VERSION_* variables should be set by get_version_from_tag if(${ROCM_PATCH_VERSION})