diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index a56602ba..a1dd2bea 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -2,15 +2,68 @@ name: Linting on: push: - branches: - - develop - - main + branches: + - develop + - main pull_request: - branches: - - develop - - main + branches: + - develop + - main + +permissions: + contents: read jobs: - call-workflow-passing-data: - name: Documentation - uses: ROCm/rocm-docs-core/.github/workflows/linting.yml@develop + markdown: + name: Documentation / Markdown + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - name: Fetch config + shell: sh + run: | + test -f .markdownlint.yaml && echo "Using local config file" || curl --silent --show-error --fail --location https://raw.githubusercontent.com/ROCm/rocm-docs-core/develop/.markdownlint.yaml -O + - name: Set up Node.js + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 + with: + node-version: 24 + - name: Run markdownlint + run: npx --yes markdownlint-cli2 "**/*.md" + + spelling: + name: Documentation / Spelling + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - name: Fetch config + shell: sh + run: | + curl --silent --show-error --fail --location https://raw.githubusercontent.com/ROCm/rocm-docs-core/develop/.github/workflows/yaml_merger.py -o .github/workflows/yaml_merger.py + curl --silent --show-error --fail --location https://raw.githubusercontent.com/ROCm/rocm-docs-core/develop/.spellcheck.yaml -O + curl --silent --show-error --fail --location https://raw.githubusercontent.com/ROCm/rocm-docs-core/develop/.wordlist.txt >> .wordlist.txt + - name: Check local spelling file + id: check_local_spelling + run: | + if [ -f .spellcheck.local.yaml ]; then + echo "check_result=true" >> $GITHUB_OUTPUT + else + echo "check_result=false" >> $GITHUB_OUTPUT + fi + - name: Merge local and main YAML files + if: steps.check_local_spelling.outputs.check_result == 'true' + shell: sh + run: | + python3 .github/workflows/yaml_merger.py .spellcheck.yaml .spellcheck.local.yaml .spellcheck.yaml + - name: Install spellcheck dependencies + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends aspell aspell-en + python3 -m pip install pyspelling==2.12.1 + - name: Run spellcheck + run: python3 -m pyspelling --config .spellcheck.yaml + - name: On fail + if: failure() + run: | + echo "Please check for spelling mistakes or add them to '.wordlist.txt' in either the root of this project or in rocm-docs-core." diff --git a/.wordlist.txt b/.wordlist.txt index 06b28093..e9543c4a 100644 --- a/.wordlist.txt +++ b/.wordlist.txt @@ -6,6 +6,7 @@ ACS AccVGPR AccVGPRs AER +AIS allreduce ALU AMD @@ -20,6 +21,7 @@ APBDIS APIC APIs APU +APUs ASIC ASICs ASan @@ -114,6 +116,7 @@ EPYC ESXi EoS FBGEMM +FCLK FFT FFTs FFmpeg @@ -136,6 +139,7 @@ GDB GDDR GDR GDS +GPUDirect GEMM GEMMs GFortran @@ -144,6 +148,7 @@ GIM GL GLXT Gloo +GMC GMI GPG GPR @@ -157,6 +162,7 @@ GenZ GitHub Gitpod HBM +HipFile HCA HGX HIPCC @@ -221,6 +227,7 @@ LLVM LM LSAN LSan +LSDMA LTS LoRA MCP @@ -235,6 +242,7 @@ MIOpen's MIVisionX MLM MMA +MMHUB MMIO MMIOH MMU @@ -276,6 +284,10 @@ NVCC NVIDIA NVPTX NaN +NFS +NFSoRDMA +NVMe +NVMeoF Nano Navi Noncoherently @@ -306,6 +318,7 @@ OpenXLA Oversubscription PagedAttention Pallas +PASID PCC PCI PCIe @@ -317,6 +330,7 @@ PLDM POR PRNG PRs +PSP PaLM Pageable PeerDirect @@ -359,6 +373,7 @@ ROCmValidationSuite ROCprofiler ROCr RPP +RSL RST RW Radeon @@ -389,6 +404,7 @@ SLES SMEM SMI SMT +SMU SPI SQs SRAM @@ -448,6 +464,7 @@ UTCL UTIL Uncached Unittests +UniRAS Unhandled VALU VBIOS @@ -571,6 +588,7 @@ detections dev devicelibs devsel +dGPU dimensionality disambiguates distro @@ -631,6 +649,7 @@ hlist hotspotting hpc hpp +html hsa hsakmt hyperparameter @@ -681,6 +700,7 @@ mkdir mlirmiopen mtypes mutex +myst mvffr namespace namespaces @@ -688,6 +708,7 @@ nanoGPT num numref ocl +oF ol opencl opencv @@ -811,11 +832,13 @@ subfolder subfolders submodule submodules +suboptimal supercomputing symlink symlinks sys td +teardown tensorfloat th tokenization @@ -904,6 +927,7 @@ amd amdsmi celerator chiplets +vLLM vllm misconfigurations integrators @@ -918,4 +942,5 @@ addressability datacenter programmability uptime +userq TPX diff --git a/docs/compatibility/compatibility-matrix.rst b/docs/compatibility/compatibility-matrix.rst index 1eb94dcb..2ff357e3 100644 --- a/docs/compatibility/compatibility-matrix.rst +++ b/docs/compatibility/compatibility-matrix.rst @@ -6,17 +6,17 @@ Compatibility matrix ************************************************************************************** -The AMD GPU Driver (amdgpu) 30.30.4 is compatible with ROCm 7.2.x, 7.1.x, 7.0.x, 6.4.x, and 6.3.x. For more information, see `AMD GPU Driver (amdgpu) support matrix -`__. +The AMD GPU Driver (amdgpu) 31.40.0 is compatible with ROCm 7.14.0 and Radeon™ Software for Linux (RSL) 26.13. For more information, see `ROCm 7.14.0 compatibility matrix +`__. -====================================== +==================================== Operating system and kernel version -====================================== +==================================== -See `Supported operating systems `_ for ROCm supported operating systems and their kernel versions. +See `Operating system support `_ for ROCm supported operating systems and their kernel versions. -============= +============ GPU support -============= +============ -See `Supported GPUs `_ for the list of supported AMD Instinct™, Radeon™ PRO, and Radeon GPUs. +See `Hardware support `_ for the list of supported AMD Instinct™, Radeon™ PRO, Radeon, and Ryzen™ AI GPUs. \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py index 444b995a..23e36f2c 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -7,22 +7,22 @@ html_context["READTHEDOCS"] = True project = "AMD GPU Driver (amdgpu)" -version = "30.30.4" -rocm_version = '7.2.4' -rocm_directory_version = '7.2.4' # in 6.0 rocm was located in /opt/rocm-6.0.0 -amdgpu_version = '30.30.4' # directory in https://repo.radeon.com/rocm/apt/ and https://repo.radeon.com/amdgpu-install/ -amdgpu_url_version = '30.30.4' +version = "31.40.0" +rocm_version = '7.14' +rocm_directory_version = '7.14.0' # in 6.0 rocm was located in /opt/rocm-6.0.0 +amdgpu_version = '31.40' # directory in https://repo.radeon.com/rocm/apt/ and https://repo.radeon.com/amdgpu-install/ +amdgpu_url_version = '31.40' release = version html_title = f"AMD GPU Driver (amdgpu) {version}" author = "Advanced Micro Devices, Inc." copyright = "Copyright (c) 2026 Advanced Micro Devices, Inc. All rights reserved." # Supported linux version numbers -ubuntu_version_numbers = [('24.04', 'noble'), ('22.04', 'jammy')] +ubuntu_version_numbers = [('26.04', 'resolute'), ('24.04', 'noble'), ('22.04', 'jammy')] debian_version_numbers = [('13', 'noble'), ('12', 'jammy')] rhel_release_version_numbers = ['10', '9', '8'] -rhel_version_numbers = ['10.1', '10.0', '9.7', '9.6', '9.4', '8.10'] -sles_version_numbers = ['15.7'] +rhel_version_numbers = ['10.2', '10.0', '9.8', '9.6', '9.4', '8.10'] +sles_version_numbers = ['16.0', '15.7'] ol_release_version_numbers = ['10', '9', '8'] ol_version_numbers = ['10.1', '9.7', '8.10'] rl_version_numbers = ['9.7'] @@ -43,7 +43,6 @@ html_theme = "rocm_docs_theme" html_theme_options = { "flavor": "amdgpu", - "announcement": f"AMD GPU Driver 31.30.0 is a technology preview intended for use only with AMD ROCm 7.13.0 technology preview. For production use, continue to use AMD GPU Driver {version} documentation.", "link_main_doc": True, # Add any additional theme options here } @@ -60,7 +59,6 @@ # Add the following replacements to every RST file. rst_prolog = f""" -.. |version| replace:: {version} .. |rocm_version| replace:: {rocm_version} .. |amdgpu_version| replace:: {amdgpu_version} .. |amdgpu_url_version| replace:: {amdgpu_url_version} diff --git a/docs/documentation/release-notes.md b/docs/documentation/release-notes.md index 6ed51f9f..d286801d 100644 --- a/docs/documentation/release-notes.md +++ b/docs/documentation/release-notes.md @@ -1,13 +1,65 @@ -# AMD GPU Driver (amdgpu) 30.30.4 release notes +# AMD GPU Driver (amdgpu) 31.40.0 release notes -The release notes provide release highlights since the previous AMD GPU Driver release (30.30.3). +The release notes provide release highlights and resolved issues since the previous AMD GPU Driver release (31.30.0, a preview release). ## Release highlights -Added support for ROCm 7.2.4. +The AMD GPU Driver 31.40.0 builds on 31.30.0 with a wide range of enhancements in compute performance, power management, and overall reliability. It is compatible with ROCm 7.14.0 and Radeon™ Software for Linux (RSL) 26.13. -## Operating system and hardware support changes - -This release doesn’t introduce operating system or hardware support changes. +This release introduces more resilient handling of AI and compute workloads, expanded monitoring capabilities, and numerous stability improvements to reduce hangs, crashes, and memory-related issues. It also includes targeted improvements for Instinct MI300-series platforms and newer compute GPUs. For compatibility between AMD GPU Driver, ROCm, GPUs, and operating systems, see the [Compatibility matrix](../compatibility/compatibility-matrix.rst). + +The following are notable new features and improvements in AMD GPU Driver 31.40.0. + +### Compute and Instinct improvements + +- **Improved compute trap-handler memory placement:** Compute trap-handler data is now stored in GPU device memory instead of system memory on supported Instinct platforms. This enhancement improves reliability for AI and HPC workloads that depend on stable compute error handling. + +- **Finer-grained queue recovery:** Added compute user queue reset and pipe reset for AMD Radeon™ RX 7000 and RX 9000 Series GPUs. This enables recovery from compute-related faults without requiring a full GPU reset, improving overall stability and fault tolerance. + +- **Enhanced user-mode queue handling:** Additional validation, hang detection, and reset logic for user-mode queues reduces the risk of stalled AI/ML jobs and prevents resource leaks under heavy submissions. + +- **Expanded HBM queue descriptor support:** Optimized placement and management of compute queue metadata on high-memory Instinct platforms. + +- **AMD Infinity Storage (AIS) enablement:** Introduces AMD Infinity Storage (AIS) enablement together with HipFile support, enabling direct data transfers between AMD GPUs and storage. AIS allows data to move directly between GPU VRAM and storage devices, including local NVMe, NVMe-oF RDMA, and NFSoRDMA, without staging data through host memory and delivers high-bandwidth, low-overhead storage I/O for GPU compute workloads. + +### Power, thermal, and telemetry + +- **SMU 15.0.5 support:** Introduces updated power management features for upcoming platforms. + +- **Enhanced SMU v15 metrics:** Adds support for monitoring memory temperature, partition-level metrics, and thermal alerts, offering improved data-center monitoring and diagnostics capabilities. + +- **Improved driver unload on APU platforms:** Refines power management processes when the driver is removed or during system shutdown on SMU v15 APUs. + +### Reliability, serviceability, and RAS + +- **Enhanced UniRAS and bad-page management:** Adds EEPROM-backed reliability data, poison-error handling, and improved bad-page tracking, enabling easier serviceability and diagnostics. + +- **System stability improvements:** Implements extensive memory safety, locking, and validation enhancements across device setup, GPU memory management, user queues, and error-reporting paths. + +## Resolved issues + +The following previously known issues have been resolved in this release: + +### Driver security + +- Resolved multiple memory safety vulnerabilities, including null-pointer access, use-after-free, buffer overflows, and out-of-bounds access, which could lead to system instability under fault or stress conditions. + +- Resolved incorrect video memory mapping behavior on systems using non-4 KB memory page sizes. + +- Resolved issues with user-mode queue creation, waiting, and path reset operations that could cause system hangs or resource leaks. + +- Resolved module unload issues to ensure pending cleanup processes complete reliably when the driver is removed. + +### Compute and power + +- Resolved issues with compute scheduling and reset paths on newer GPU generations, including MES queue removal and pipe reset handling. + +- Resolved power-management reporting and overdrive table handling on select SMU v14/v15 platforms, addressing memory leaks and incorrect limit calculations. + +- Resolved incorrect SDMA queue counter reporting affected platforms. + +### Reliability and RAS + +Resolved RAS reservation and EEPROM synchronization issues that caused incorrect reporting of available bad-page capacity. diff --git a/docs/install/detailed-install/package-manager/package-manager-debian.rst b/docs/install/detailed-install/package-manager/package-manager-debian.rst index 317169d7..c188e4cb 100644 --- a/docs/install/detailed-install/package-manager/package-manager-debian.rst +++ b/docs/install/detailed-install/package-manager/package-manager-debian.rst @@ -13,7 +13,7 @@ Debian native installation .. _debian-register-repo: -Registering ROCm repositories +Registering repositories ================================================= .. _debian-package-key: diff --git a/docs/install/detailed-install/package-manager/package-manager-ol.rst b/docs/install/detailed-install/package-manager/package-manager-ol.rst index 7980b7dc..836cb09c 100644 --- a/docs/install/detailed-install/package-manager/package-manager-ol.rst +++ b/docs/install/detailed-install/package-manager/package-manager-ol.rst @@ -33,11 +33,7 @@ Register kernel-mode driver sudo tee /etc/yum.repos.d/amdgpu.repo <`_ -- `ROCm installation guide (Linux) `_ +- `ROCm installation guide `_ - `HIP documentation `_ diff --git a/docs/install/detailed-install/prerequisites.rst b/docs/install/detailed-install/prerequisites.rst index cf84c096..ef850c95 100644 --- a/docs/install/detailed-install/prerequisites.rst +++ b/docs/install/detailed-install/prerequisites.rst @@ -16,7 +16,7 @@ Before installing the driver, complete the following prerequisites. uname -m && cat /etc/*release - * Confirm that your Linux distribution matches a :ref:`supported distribution `. + * Confirm that your Linux distribution matches a `supported distribution `_. **Example:** Running the preceding command on an Ubuntu system produces the following output: @@ -24,9 +24,22 @@ Before installing the driver, complete the following prerequisites. x86_64 DISTRIB_ID=Ubuntu - DISTRIB_RELEASE=24.04 - DISTRIB_CODENAME=noble - DISTRIB_DESCRIPTION="Ubuntu 24.04.3 LTS" + DISTRIB_RELEASE=26.04 + DISTRIB_CODENAME=resolute + DISTRIB_DESCRIPTION="Ubuntu 26.04 LTS" + PRETTY_NAME="Ubuntu 26.04 LTS" + NAME="Ubuntu" + VERSION_ID="26.04" + VERSION="26.04 (Resolute Raccoon)" + VERSION_CODENAME=resolute + ID=ubuntu + ID_LIKE=debian + HOME_URL="https://www.ubuntu.com/" + SUPPORT_URL="https://help.ubuntu.com/" + BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" + PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" + UBUNTU_CODENAME=resolute + LOGO=ubuntu-logo .. _verify_kernel_version: @@ -42,9 +55,9 @@ Before installing the driver, complete the following prerequisites. .. code-block:: shell - Linux 6.8.0-50-generic #51-Ubuntu SMP PREEMPT_DYNAMIC Sat Nov 9 17:58:29 UTC 2024 x86_64 + Linux 7.0.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Wed Apr 22 16:06:43 UTC 2026 x86_64 - * Confirm that your kernel version matches the system requirements, as listed in :ref:`supported_distributions`. + * Confirm that your kernel version matches the system requirements, as listed in `Operating system support `_ .. _register-enterprise-linux: @@ -216,9 +229,23 @@ To install for the currently active kernel run the command corresponding to your .. tab-item:: Ubuntu :sync: ubuntu-tab - .. code-block:: shell + .. datatemplate:nodata:: + + .. tab-set:: + + {% for (os_version, os_release) in config.html_context['ubuntu_version_numbers'] %} + .. tab-item:: {{ os_version }} + :sync: {{ os_version }} - sudo apt install "linux-headers-$(uname -r)" "linux-modules-extra-$(uname -r)" + .. code-block:: shell + + {% if os_version == '26.04' -%} + sudo apt install "linux-headers-$(uname -r)" + {%- else -%} + sudo apt install "linux-headers-$(uname -r)" "linux-modules-extra-$(uname -r)" + {%- endif %} + + {% endfor %} .. tab-item:: Debian :sync: debian-tab diff --git a/docs/install/package-manager-index.rst b/docs/install/package-manager-index.rst index 363d1a96..c8896de5 100644 --- a/docs/install/package-manager-index.rst +++ b/docs/install/package-manager-index.rst @@ -39,4 +39,4 @@ Select the install instructions for your operating system * :ref:`Rocky Linux ` * :ref:`SUSE Linux Enterprise Server ` -See `System requirements `_ for a full list of supported operating systems. +See `System requirements `_ for a full list of supported operating systems. diff --git a/docs/release/versions.rst b/docs/release/versions.rst index 85d82d5f..6071dd1a 100644 --- a/docs/release/versions.rst +++ b/docs/release/versions.rst @@ -12,6 +12,7 @@ AMD GPU Driver (amdgpu) release history :header: "Version","Release date" :widths: 10, 30 + "`31.40.0 `_", "July 15, 2026" "`30.30.4 `_", "May 29, 2026" "`30.30.3 `_", "May 4, 2026" "`30.30.2 `_", "April 17, 2026" @@ -21,4 +22,4 @@ AMD GPU Driver (amdgpu) release history "`30.20.0 `_", "October 30, 2025" "`30.10.2 `_", "October 10, 2025" "`30.10.1 `_", "September 17, 2025" - "`30.10.0 `_", "September 16, 2025" + "`30.10.0 `_", "September 16, 2025" \ No newline at end of file diff --git a/docs/sphinx/requirements.in b/docs/sphinx/requirements.in index 37497ca7..c77e32bd 100644 --- a/docs/sphinx/requirements.in +++ b/docs/sphinx/requirements.in @@ -1,4 +1,4 @@ -rocm-docs-core==1.35.0 +rocm-docs-core==1.31.3 sphinx-reredirects sphinxcontrib.datatemplates==0.11.0 Sphinx-Substitution-Extensions==2026.1.12 diff --git a/docs/sphinx/requirements.txt b/docs/sphinx/requirements.txt index 88f21ac3..7abcd8a9 100644 --- a/docs/sphinx/requirements.txt +++ b/docs/sphinx/requirements.txt @@ -193,7 +193,7 @@ requests==2.32.5 # via # pygithub # sphinx -rocm-docs-core==1.35.0 +rocm-docs-core==1.31.3 # via -r requirements.in rpds-py==0.28.0 # via