Compare commits

..

17 Commits

Author SHA1 Message Date
Sam Wu
30f6f2508a Update documentation requirements 2024-09-16 10:12:59 -08:00
Sam Wu
3241bbbf5e Update documentation requirements 2024-06-06 16:58:49 -06:00
Sam Wu
f266801752 Fix RTD config 2024-05-02 08:55:50 -06:00
Sam Wu
920b185f14 Update documentation requirements 2024-05-01 16:59:38 -06:00
Sam Wu
60fcfccf9b Update documentation requirements 2024-05-01 16:54:10 -06:00
Young Hui - AMD
1aa1360ee8 update SLES 15.4 prerequisites into 5.7.0 (#2980)
* update SLES 15.4 prerequisites

* update wordlist from develop

* fixing spelling errors
2024-04-01 17:49:51 -04:00
Mátyás Aradi
6f3078d5cc Update versions (#2868) 2024-02-05 09:40:25 -07:00
Sam Wu
90ce130831 docs(versions.md): Add 5.6.1 to versions list (#2826) 2024-01-22 15:17:17 -07:00
Mátyás Aradi
5691e8e881 Remove RHEL 8.6, because it is not supported (#2828) 2024-01-19 09:15:24 -07:00
Sam Wu
1146917571 docs(release-history.md): Add 5.7.0 to release history (#2664) 2023-11-22 13:19:13 -07:00
Saad Rahim (AMD)
7460f4f4b9 Merge pull request #2515 from RadeonOpenCompute/roc-5.7.x
merging into documentation production branch
2023-09-28 09:28:17 -06:00
Sam Wu
9bb9bf20bf Remove extra line in package_manager_integration.md (#2508) (#2510) 2023-09-27 16:05:42 -06:00
Saad Rahim (AMD)
4ca1db8f13 Merge pull request #2502 from RadeonOpenCompute/roc-5.7.x
Updating release docs
2023-09-26 11:11:24 -06:00
Sam Wu
215d161eaa Roc 5.7.x to docs/5.7.0 (#2495)
* Fix incorrect LLVM target for RX 7600 in Windows Support page (#2483)

* Fixes for roc-5.7.x branch (#2486)

* Update Release Note Tables for 5.6.1 and 5.7.0 (#2478)

* add changelog table for 5.6.1

* update 5.7.0 changelog table

* specify svg size

* do not use xelatex

* set fontpkg

* fix typo in conf.py

* fix typo

* Update openmp.md

* rm 404 img

* add alt licensing for footer link

* disable spellcheck for license

---------

Co-authored-by: Nara <nara@streamhpc.com>
2023-09-21 13:31:00 -06:00
Sam Wu
7d0083c13a Roc 5.7.x into docs/5.7.0 (#2488) 2023-09-20 12:47:31 -06:00
Saad Rahim
ab7c9fbf47 Merge remote-tracking branch 'origin/roc-5.7.x' into docs/5.7.0 2023-09-18 16:06:47 -06:00
Sam Wu
10be92bb79 update relative link to llvm asan guide
remove docs dir from path
2023-09-18 08:47:32 -06:00
36 changed files with 2151 additions and 1655 deletions

View File

@@ -1,76 +0,0 @@
name: Issue Report
description: File a report for something not working correctly.
title: "[Issue]: "
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to fill out this report!
On a Linux system, you can acquire your OS, CPU, GPU, and ROCm version (for filling out this report) with the following commands:
echo "OS:" && cat /etc/os-release | grep -E "^(NAME=|VERSION=)";
echo "CPU: " && cat /proc/cpuinfo | grep "model name" | sort --unique;
echo "GPU:" && /opt/rocm/bin/rocminfo | grep -E "^\s*(Name|Marketing Name)";
echo "ROCm in /opt:" && ls -1 /opt | grep -E "rocm-";
- type: textarea
attributes:
label: Problem Description
description: Describe the issue you encountered.
placeholder: "The steps to reproduce can be included here, or in the dedicated section further below."
validations:
required: true
- type: input
attributes:
label: Operating System
description: What is the name and version number of the OS?
placeholder: "e.g. Ubuntu 22.04.3 LTS (Jammy Jellyfish)"
validations:
required: true
- type: input
attributes:
label: CPU
description: What CPU did you encounter the issue on?
placeholder: "e.g. AMD Ryzen 9 5900HX with Radeon Graphics"
validations:
required: true
- type: input
attributes:
label: GPU
description: What GPU(s) did you encounter the issue on?
placeholder: "e.g. MI200"
validations:
required: true
- type: input
attributes:
label: ROCm Version
description: What version(s) of ROCm did you encounter the issue on?
placeholder: "e.g. 5.7.0"
validations:
required: true
- type: input
attributes:
label: ROCm Component
description: (Optional) If this issue relates to a specific ROCm component, it can be mentioned here.
placeholder: "e.g. rocBLAS"
- type: textarea
attributes:
label: Steps to Reproduce
description: (Optional) Detailed steps to reproduce the issue.
placeholder: Please also include what you expected to happen, and what actually did, at the failing step(s).
validations:
required: false
- type: textarea
attributes:
label: Output of /opt/rocm/bin/rocminfo --support
description: The output of rocminfo --support will help to better address the problem.
placeholder: |
ROCk module is loaded
=====================
HSA System Attributes
=====================
[...]
validations:
required: true

View File

@@ -1,32 +0,0 @@
name: Feature Suggestion
description: Suggest an additional functionality, or new way of handling an existing functionality.
title: "[Feature]: "
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to make a suggestion!
- type: textarea
attributes:
label: Suggestion Description
description: Describe your suggestion.
validations:
required: true
- type: input
attributes:
label: Operating System
description: (Optional) If this is for a specific OS, you can mention it here.
placeholder: "e.g. Ubuntu"
- type: input
attributes:
label: GPU
description: (Optional) If this is for a specific GPU or GPU family, you can mention it here.
placeholder: "e.g. MI200"
- type: input
attributes:
label: ROCm Component
description: (Optional) If this issue relates to a specific ROCm component, it can be mentioned here.
placeholder: "e.g. rocBLAS"

View File

@@ -1,5 +0,0 @@
blank_issues_enabled: false
contact_links:
- name: ROCm Community Discussions
url: https://github.com/RadeonOpenCompute/ROCm/discussions
about: Please ask and answer questions here for anything ROCm.

5
.gitignore vendored
View File

@@ -16,8 +16,3 @@ _readthedocs/
docs/contributing.md
docs/release.md
docs/CHANGELOG.md
# auto-generated files
docs/deploy/linux/installer/install.md
docs/deploy/linux/os-native/install.md
docs/deploy/linux/quick_start.md

File diff suppressed because it is too large Load Diff

View File

@@ -15,63 +15,469 @@ The release notes for the ROCm platform.
-------------------
## ROCm 5.7.1
## ROCm 5.7.0
<!-- markdownlint-disable first-line-h1 -->
<!-- markdownlint-disable no-duplicate-header -->
### What's New in This Release
### Release Highlights for ROCm v5.7
### ROCm Libraries
ROCm 5.7.0 includes many new features. These include: a new library (hipTensor), and optimizations for rocRAND and MIVisionX. Address sanitizer for host and device code (GPU) is now available as a beta. Note that ROCm 5.7.0 is EOS for MI50. 5.7 versions of ROCm are the last major release in the ROCm 5 series. This release is Linux-only.
#### rocBLAS
A new functionality rocblas-gemm-tune and an environment variable ROCBLAS_TENSILE_GEMM_OVERRIDE_PATH are added to rocBLAS in the ROCm 5.7.1 release.
Important: The next major ROCm release (ROCm 6.0) will not be backward compatible with the ROCm 5 series. Changes will include: splitting LLVM packages into more manageable sizes, changes to the HIP runtime API, splitting rocRAND and hipRAND into separate packages, and reorganizing our file structure.
*rocblas-gemm-tune* is used to find the best-performing GEMM kernel for each GEMM problem set. It has a command line interface, which mimics the --yaml input used by rocblas-bench. To generate the expected --yaml input, profile logging can be used, by setting the environment variable ROCBLAS_LAYER4.
#### AMD Instinct™ MI50 End of Support Notice
For more information on rocBLAS logging, see Logging in rocBLAS, in the [API Reference Guide](https://rocm.docs.amd.com/projects/rocBLAS/en/docs-5.7.1/API_Reference_Guide.html#logging-in-rocblas).
AMD Instinct MI50, Radeon Pro VII, and Radeon VII products (collectively gfx906 GPUs) will enter maintenance mode starting Q3 2023.
An example input file: Expected output (note selected GEMM idx may differ): Where the far right values (solution_index) are the indices of the best-performing kernels for those GEMMs in the rocBLAS kernel library. These indices can be directly used in future GEMM calls. See rocBLAS/samples/example_user_driven_tuning.cpp for sample code of directly using kernels via their indices.
As outlined in [5.6.0](https://rocm.docs.amd.com/en/docs-5.6.0/release.html), ROCm 5.7 will be the final release for gfx906 GPUs to be in a fully supported state.
If the output is stored in a file, the results can be used to override default kernel selection with the kernels found, by setting the environment variable ROCBLAS_TENSILE_GEMM_OVERRIDE_PATH, where points to the stored file.
- ROCm 6.0 release will show MI50s as "under maintenance" mode for [Linux](./about/release/linux_support) and [Windows](./about/release/windows_support)
For more details, refer to the [rocBLAS Programmer's Guide.](https://rocm.docs.amd.com/projects/rocBLAS/en/latest/Programmers_Guide.html#rocblas-gemm-tune)
- No new features and performance optimizations will be supported for the gfx906 GPUs beyond this major release (ROCm 5.7).
#### HIP 5.7.1 (for ROCm 5.7.1)
- Bug fixes / critical security patches will continue to be supported for the gfx906 GPUs till Q2 2024 (EOM (End of Maintenance) will be aligned with the closest ROCm release).
ROCm 5.7.1 is a point release with several bug fixes in the HIP runtime.
- Bug fixes during the maintenance will be made to the next ROCm point release.
### Fixed defects
The *hipPointerGetAttributes* API returns the correct HIP memory type as *hipMemoryTypeManaged* for managed memory.
- Bug fixes will not be backported to older ROCm releases for gfx906.
- Distro / Operating system updates will continue as per the ROCm release cadence for gfx906 GPUs till EOM.
#### Feature Updates
### Library Changes in ROCM 5.7.1
##### Non-hostcall HIP Printf
| Library | Version |
|---------|---------|
| hipBLAS | [1.1.0](https://github.com/ROCmSoftwarePlatform/hipBLAS/releases/tag/rocm-5.7.1) |
| hipCUB | [2.13.1](https://github.com/ROCmSoftwarePlatform/hipCUB/releases/tag/rocm-5.7.1) |
| hipFFT | [1.0.12](https://github.com/ROCmSoftwarePlatform/hipFFT/releases/tag/rocm-5.7.1) |
| hipSOLVER | 1.8.1 ⇒ [1.8.2](https://github.com/ROCmSoftwarePlatform/hipSOLVER/releases/tag/rocm-5.7.1) |
| hipSPARSE | [2.3.8](https://github.com/ROCmSoftwarePlatform/hipSPARSE/releases/tag/rocm-5.7.1) |
| MIOpen | [2.19.0](https://github.com/ROCmSoftwarePlatform/MIOpen/releases/tag/rocm-5.7.1) |
| rocALUTION | [2.1.11](https://github.com/ROCmSoftwarePlatform/rocALUTION/releases/tag/rocm-5.7.1) |
| rocBLAS | [3.1.0](https://github.com/ROCmSoftwarePlatform/rocBLAS/releases/tag/rocm-5.7.1) |
| rocFFT | [1.0.24](https://github.com/ROCmSoftwarePlatform/rocFFT/releases/tag/rocm-5.7.1) |
| rocm-cmake | [0.10.0](https://github.com/RadeonOpenCompute/rocm-cmake/releases/tag/rocm-5.7.1) |
| rocPRIM | [2.13.1](https://github.com/ROCmSoftwarePlatform/rocPRIM/releases/tag/rocm-5.7.1) |
| rocRAND | [2.10.17](https://github.com/ROCmSoftwarePlatform/rocRAND/releases/tag/rocm-5.7.1) |
| rocSOLVER | [3.23.0](https://github.com/ROCmSoftwarePlatform/rocSOLVER/releases/tag/rocm-5.7.1) |
| rocSPARSE | [2.5.4](https://github.com/ROCmSoftwarePlatform/rocSPARSE/releases/tag/rocm-5.7.1) |
| rocThrust | [2.18.0](https://github.com/ROCmSoftwarePlatform/rocThrust/releases/tag/rocm-5.7.1) |
| rocWMMA | [1.2.0](https://github.com/ROCmSoftwarePlatform/rocWMMA/releases/tag/rocm-5.7.1) |
| Tensile | [4.38.0](https://github.com/ROCmSoftwarePlatform/Tensile/releases/tag/rocm-5.7.1) |
**Current behavior**
#### hipSOLVER 1.8.2
The current version of HIP printf relies on hostcalls, which, in turn, rely on PCIe atomics. However, PCle atomics are unavailable in some environments, and, as a result, HIP-printf does not work in those environments. Users may see the following error from runtime (with AMD_LOG_LEVEL 1 and above),
hipSOLVER 1.8.2 for ROCm 5.7.1
```
Pcie atomics not enabled, hostcall not supported
```
**Workaround**
The ROCm 5.7 release introduces an alternative to the current hostcall-based implementation that leverages an older OpenCL-based printf scheme, which does not rely on hostcalls/PCIe atomics.
Note: This option is less robust than hostcall-based implementation and is intended to be a workaround when hostcalls do not work.
The printf variant is now controlled via a new compiler option -mprintf-kind=<value>. This is supported only for HIP programs and takes the following values,
- “hostcall” This currently available implementation relies on hostcalls, which require the system to support PCIe atomics. It is the default scheme.
- “buffered” This implementation leverages the older printf scheme used by OpenCL; it relies on a memory buffer where printf arguments are stored during the kernel execution, and then the runtime handles the actual printing once the kernel finishes execution.
**NOTE**: With the new workaround,
- The printf buffer is fixed size and non-circular. After the buffer is filled, calls to printf will not result in additional output.
- The printf call returns either 0 (on success) or -1 (on failure, due to full buffer), unlike the hostcall scheme that returns the number of characters printed.
##### Beta Release of LLVM Address Sanitizer (ASAN) with the GPU
The ROCm v5.7 release introduces the beta release of LLVM Address Sanitizer (ASAN) with the GPU. The LLVM Address Sanitizer provides a process that allows developers to detect runtime addressing errors in applications and libraries. The detection is achieved using a combination of compiler-added instrumentation and runtime techniques, including function interception and replacement.
Until now, the LLVM Address Sanitizer process was only available for traditional purely CPU applications. However, ROCm has extended this mechanism to additionally allow the detection of some addressing errors on the GPU in heterogeneous applications. Ideally, developers should treat heterogeneous HIP and OpenMP applications like pure CPU applications. However, this simplicity has not been achieved yet.
Refer to the documentation on LLVM Address Sanitizer with the GPU at [LLVM Address Sanitizer User Guide](understand/using_gpu_sanitizer.md).
**Note**: The beta release of LLVM Address Sanitizer for ROCm is currently tested and validated on Ubuntu 20.04.
#### Fixed Defects
The following defects are fixed in ROCm v5.7,
- Test hangs observed in HMM RCCL
- NoGpuTst test of Catch2 fails with Docker
- Failures observed with non-HMM HIP directed catch2 tests with XNACK+
- Multiple test failures and test hangs observed in hip-directed catch2 tests with xnack+
#### HIP 5.7.0
##### Optimizations
##### Added
- Added `meta_group_size`/`rank` for getting the number of tiles and rank of a tile in the partition
- Added new APIs supporting Windows only, under development on Linux
- `hipMallocMipmappedArray` for allocating a mipmapped array on the device
- `hipFreeMipmappedArray` for freeing a mipmapped array on the device
- `hipGetMipmappedArrayLevel` for getting a mipmap level of a HIP mipmapped array
- `hipMipmappedArrayCreate` for creating a mipmapped array
- `hipMipmappedArrayDestroy` for destroy a mipmapped array
- `hipMipmappedArrayGetLevel` for getting a mipmapped array on a mipmapped level
##### Changed
##### Fixed
- Fixed conflicts between the hipsolver-dev and -asan packages by excluding
hipsolver_module.f90 from the latter
##### Known Issues
- HIP memory type enum values currently don't support equivalent value to `cudaMemoryTypeUnregistered`, due to HIP functionality backward compatibility.
- HIP API `hipPointerGetAttributes` could return invalid value in case the input memory pointer was not allocated through any HIP API on device or host.
##### Upcoming changes for HIP in ROCm 6.0 release
- Removal of gcnarch from hipDeviceProp_t structure
- Addition of new fields in hipDeviceProp_t structure
- maxTexture1D
- maxTexture2D
- maxTexture1DLayered
- maxTexture2DLayered
- sharedMemPerMultiprocessor
- deviceOverlap
- asyncEngineCount
- surfaceAlignment
- unifiedAddressing
- computePreemptionSupported
- hostRegisterSupported
- uuid
- Removal of deprecated code -hip-hcc codes from hip code tree
- Correct hipArray usage in HIP APIs such as hipMemcpyAtoH and hipMemcpyHtoA
- HIPMEMCPY_3D fields correction to avoid truncation of "size_t" to "unsigned int" inside hipMemcpy3D()
- Renaming of 'memoryType' in hipPointerAttribute_t structure to 'type'
- Correct hipGetLastError to return the last error instead of last API call's return code
- Update hipExternalSemaphoreHandleDesc to add "unsigned int reserved[16]"
- Correct handling of flag values in hipIpcOpenMemHandle for hipIpcMemLazyEnablePeerAccess
- Remove hiparray* and make it opaque with hipArray_t
### Library Changes in ROCM 5.7.0
| Library | Version |
|---------|---------|
| hipBLAS | ⇒ [1.1.0](https://github.com/ROCmSoftwarePlatform/hipBLAS/releases/tag/rocm-5.7.0) |
| hipCUB | ⇒ [2.13.1](https://github.com/ROCmSoftwarePlatform/hipCUB/releases/tag/rocm-5.7.0) |
| hipFFT | ⇒ [1.0.12](https://github.com/ROCmSoftwarePlatform/hipFFT/releases/tag/rocm-5.7.0) |
| hipSOLVER | ⇒ [1.8.1](https://github.com/ROCmSoftwarePlatform/hipSOLVER/releases/tag/rocm-5.7.0) |
| hipSPARSE | ⇒ [2.3.8](https://github.com/ROCmSoftwarePlatform/hipSPARSE/releases/tag/rocm-5.7.0) |
| MIOpen | ⇒ [2.19.0](https://github.com/ROCmSoftwarePlatform/MIOpen/releases/tag/rocm-5.7.0) |
| rccl | ⇒ [2.17.1-1](https://github.com/ROCmSoftwarePlatform/rccl/releases/tag/rocm-5.7.0) |
| rocALUTION | ⇒ [2.1.11](https://github.com/ROCmSoftwarePlatform/rocALUTION/releases/tag/rocm-5.7.0) |
| rocBLAS | ⇒ [3.1.0](https://github.com/ROCmSoftwarePlatform/rocBLAS/releases/tag/rocm-5.7.0) |
| rocFFT | ⇒ [1.0.24](https://github.com/ROCmSoftwarePlatform/rocFFT/releases/tag/rocm-5.7.0) |
| rocm-cmake | ⇒ [0.10.0](https://github.com/RadeonOpenCompute/rocm-cmake/releases/tag/rocm-5.7.0) |
| rocPRIM | ⇒ [2.13.1](https://github.com/ROCmSoftwarePlatform/rocPRIM/releases/tag/rocm-5.7.0) |
| rocRAND | ⇒ [2.10.17](https://github.com/ROCmSoftwarePlatform/rocRAND/releases/tag/rocm-5.7.0) |
| rocSOLVER | ⇒ [3.23.0](https://github.com/ROCmSoftwarePlatform/rocSOLVER/releases/tag/rocm-5.7.0) |
| rocSPARSE | ⇒ [2.5.4](https://github.com/ROCmSoftwarePlatform/rocSPARSE/releases/tag/rocm-5.7.0) |
| rocThrust | ⇒ [2.18.0](https://github.com/ROCmSoftwarePlatform/rocThrust/releases/tag/rocm-5.7.0) |
| rocWMMA | ⇒ [1.2.0](https://github.com/ROCmSoftwarePlatform/rocWMMA/releases/tag/rocm-5.7.0) |
| Tensile | ⇒ [4.38.0](https://github.com/ROCmSoftwarePlatform/Tensile/releases/tag/rocm-5.7.0) |
#### hipBLAS 1.1.0
hipBLAS 1.1.0 for ROCm 5.7.0
##### Changed
- updated documentation requirements
##### Dependencies
- dependency rocSOLVER now depends on rocSPARSE
#### hipCUB 2.13.1
hipCUB 2.13.1 for ROCm 5.7.0
##### Changed
- CUB backend references CUB and Thrust version 2.0.1.
- Fixed `DeviceSegmentedReduce::ArgMin` and `DeviceSegmentedReduce::ArgMax` by returning the segment-relative index instead of the absolute one.
- Fixed `DeviceSegmentedReduce::ArgMin` for inputs where the segment minimum is smaller than the value returned for empty segments. An equivalent fix is applied to `DeviceSegmentedReduce::ArgMax`.
##### Known Issues
- `debug_synchronous` no longer works on CUDA platform. `CUB_DEBUG_SYNC` should be used to enable those checks.
- `DeviceReduce::Sum` does not compile on CUDA platform for mixed extended-floating-point/floating-point InputT and OutputT types.
- `DeviceHistogram::HistogramEven` fails on CUDA platform for `[LevelT, SampleIteratorT] = [int, int]`.
- `DeviceHistogram::MultiHistogramEven` fails on CUDA platform for `[LevelT, SampleIteratorT] = [int, int/unsigned short/float/double]` and `[LevelT, SampleIteratorT] = [float, double]`.
#### hipFFT 1.0.12
hipFFT 1.0.12 for ROCm 5.7.0
##### Added
- Implemented the hipfftXtMakePlanMany, hipfftXtGetSizeMany, hipfftXtExec APIs, to allow requesting half-precision transforms.
##### Changed
- Added --precision argument to benchmark/test clients. --double is still accepted but is deprecated as a method to request a double-precision transform.
#### hipSOLVER 1.8.1
hipSOLVER 1.8.1 for ROCm 5.7.0
##### Changed
- Changed hipsolver-test sparse input data search paths to be relative to the test executable
#### hipSPARSE 2.3.8
hipSPARSE 2.3.8 for ROCm 5.7.0
##### Improved
- Fix compilation failures when using cusparse 12.1.0 backend
- Fix compilation failures when using cusparse 12.0.0 backend
- Fix compilation failures when using cusparse 10.1 (non-update versions) as backend
- Minor improvements
#### MIOpen 2.19.0
MIOpen 2.19.0 for ROCm 5.7.0
##### Added
- ROCm 5.5 support for gfx1101 (Navi32)
##### Changed
- Tuning results for MLIR on ROCm 5.5
- Bumping MLIR commit to 5.5.0 release tag
##### Fixed
- Fix 3d convolution Host API bug
- [HOTFIX][MI200][FP16] Disabled ConvHipImplicitGemmBwdXdlops when FP16_ALT is required.
#### RCCL 2.17.1-1
RCCL 2.17.1-1 for ROCm 5.7.0
##### Changed
- Compatibility with NCCL 2.17.1-1
- Performance tuning for some collective operations
##### Added
- Minor improvements to MSCCL codepath
- NCCL_NCHANNELS_PER_PEER support
- Improved compilation performance
- Support for gfx94x
##### Fixed
- Potential race-condition during ncclSocketClose()
#### rocALUTION 2.1.11
rocALUTION 2.1.11 for ROCm 5.7.0
##### Added
- Added support for gfx940, gfx941 and gfx942
##### Improved
- Fixed OpenMP runtime issue with Windows toolchain
#### rocBLAS 3.1.0
rocBLAS 3.1.0 for ROCm 5.7.0
##### Added
- yaml lock step argument scanning for rocblas-bench and rocblas-test clients. See Programmers Guide for details.
- rocblas-gemm-tune is used to find the best performing GEMM kernel for each of a given set of GEMM problems.
##### Fixed
- make offset calculations for rocBLAS functions 64 bit safe. Fixes for very large leading dimensions or increments potentially causing overflow:
- Level 1: axpy, copy, rot, rotm, scal, swap, asum, dot, iamax, iamin, nrm2
- Level 2: gemv, symv, hemv, trmv, ger, syr, her, syr2, her2, trsv
- Level 3: gemm, symm, hemm, trmm, syrk, herk, syr2k, her2k, syrkx, herkx, trsm, trtri, dgmm, geam
- General: set_vector, get_vector, set_matrix, get_matrix
- Related fixes: internal scalar loads with &gt; 32bit offsets
- fix in-place functionality for all trtri sizes
##### Changed
- dot when using rocblas_pointer_mode_host is now synchronous to match legacy BLAS as it stores results in host memory
- enhanced reporting of installation issues caused by runtime libraries (Tensile)
- standardized internal rocblas C++ interface across most functions
##### Deprecated
- Removal of __STDC_WANT_IEC_60559_TYPES_EXT__ define in future release
##### Dependencies
- optional use of AOCL BLIS 4.0 on Linux for clients
- optional build tool only dependency on python psutil
#### rocFFT 1.0.24
rocFFT 1.0.24 for ROCm 5.7.0
##### Optimizations
- Improved performance of complex forward/inverse 1D FFTs (2049 &lt;= length &lt;= 131071) that use Bluestein&#39;s algorithm.
##### Added
- Implemented a solution map version converter and finish the first conversion from ver.0 to ver.1. Where version 1 removes some incorrect kernels (sbrc/sbcr using half_lds)
##### Changed
- Moved rocfft_rtc_helper executable to lib/rocFFT directory on Linux.
- Moved library kernel cache to lib/rocFFT directory.
#### rocm-cmake 0.10.0
rocm-cmake 0.10.0 for ROCm 5.7.0
##### Added
- Added ROCMTest module
- ROCMCreatePackage: Added support for ASAN packages
#### rocPRIM 2.13.1
rocPRIM 2.13.1 for ROCm 5.7.0
##### Changed
- Deprecated configuration `radix_sort_config` for device-level radix sort as it no longer matches the algorithm&#39;s parameters. New configuration `radix_sort_config_v2` is preferred instead.
- Removed erroneous implementation of device-level `inclusive_scan` and `exclusive_scan`. The prior default implementation using lookback-scan now is the only available implementation.
- The benchmark metric indicating the bytes processed for `exclusive_scan_by_key` and `inclusive_scan_by_key` has been changed to incorporate the key type. Furthermore, the benchmark log has been changed such that these algorithms are reported as `scan` and `scan_by_key` instead of `scan_exclusive` and `scan_inclusive`.
- Deprecated configurations `scan_config` and `scan_by_key_config` for device-level scans, as they no longer match the algorithm&#39;s parameters. New configurations `scan_config_v2` and `scan_by_key_config_v2` are preferred instead.
##### Fixed
- Fixed build issue caused by missing header in `thread/thread_search.hpp`.
#### rocRAND 2.10.17
rocRAND 2.10.17 for ROCm 5.7.0
##### Added
- MT19937 pseudo random number generator based on M. Matsumoto and T. Nishimura, 1998, Mersenne Twister: A 623-dimensionally equidistributed uniform pseudorandom number generator.
- New benchmark for the device API using Google Benchmark, `benchmark_rocrand_device_api`, replacing `benchmark_rocrand_kernel`. `benchmark_rocrand_kernel` is deprecated and will be removed in a future version. Likewise, `benchmark_curand_host_api` is added to replace `benchmark_curand_generate` and `benchmark_curand_device_api` is added to replace `benchmark_curand_kernel`.
- experimental HIP-CPU feature
- ThreeFry pseudorandom number generator based on Salmon et al., 2011, &#34;Parallel random numbers: as easy as 1, 2, 3&#34;.
##### Changed
- Python 2.7 is no longer officially supported.
#### rocSOLVER 3.23.0
rocSOLVER 3.23.0 for ROCm 5.7.0
##### Added
- LU factorization without pivoting for block tridiagonal matrices:
- GEBLTTRF_NPVT now supports interleaved\_batched format
- Linear system solver without pivoting for block tridiagonal matrices:
- GEBLTTRS_NPVT now supports interleaved\_batched format
##### Fixed
- Fixed stack overflow in sparse tests on Windows
##### Changed
- Changed rocsolver-test sparse input data search paths to be relative to the test executable
- Changed build scripts to default to compressed debug symbols in Debug builds
#### rocSPARSE 2.5.4
rocSPARSE 2.5.4 for ROCm 5.7.0
##### Added
- Added more mixed precisions for SpMV, (matrix: float, vectors: double, calculation: double) and (matrix: rocsparse_float_complex, vectors: rocsparse_double_complex, calculation: rocsparse_double_complex)
- Added support for gfx940, gfx941 and gfx942
##### Improved
- Fixed a bug in csrsm and bsrsm
##### Known Issues
In csritlu0, the algorithm rocsparse_itilu0_alg_sync_split_fusion has some accuracy issues to investigate with XNACK enabled. The fallback is rocsparse_itilu0_alg_sync_split.
#### rocThrust 2.18.0
rocThrust 2.18.0 for ROCm 5.7.0
##### Fixed
- `lower_bound`, `upper_bound`, and `binary_search` failed to compile for certain types.
- Fixed issue where `transform_iterator` would not compile with `__device__`-only operators.
##### Changed
- Updated `docs` directory structure to match the standard of [rocm-docs-core](https://github.com/RadeonOpenCompute/rocm-docs-core).
- Removed references to and workarounds for deprecated hcc
#### rocWMMA 1.2.0
rocWMMA 1.2.0 for ROCm 5.7.0
##### Changed
- Fixed a bug with synchronization
- Updated rocWMMA cmake versioning
#### Tensile 4.38.0
Tensile 4.38.0 for ROCm 5.7.0
##### Added
- Added support for FP16 Alt Round Near Zero Mode (this feature allows the generation of alternate kernels with intermediate rounding instead of truncation)
- Added user-driven solution selection feature
##### Optimizations
- Enabled LocalSplitU with MFMA for I8 data type
- Optimized K mask code in mfmaIter
- Enabled TailLoop code in NoLoadLoop to prefetch global/local read
- Enabled DirectToVgpr in TailLoop for NN, TN, and TT matrix orientations
- Optimized DirectToLds test cases to reduce the test duration
##### Changed
- Removed DGEMM NT custom kernels and related test cases
- Changed noTailLoop logic to apply noTailLoop only for NT
- Changed the range of AssertFree0ElementMultiple and Free1
- Unified aStr, bStr generation code in mfmaIter
##### Fixed
- Fixed LocalSplitU mismatch issue for SGEMM
- Fixed BufferStore=0 and Ldc != Ldd case
- Fixed mismatch issue with TailLoop + MatrixInstB &gt; 1

View File

@@ -12,7 +12,7 @@ fetch="https://github.com/GPUOpen-ProfessionalCompute-Libraries/" />
fetch="https://github.com/GPUOpen-Tools/" />
<remote name="KhronosGroup"
fetch="https://github.com/KhronosGroup/" />
<default revision="refs/tags/rocm-5.7.1"
<default revision="refs/tags/rocm-5.7.0"
remote="roc-github"
sync-c="true"
sync-j="4" />

3
docs/404.md Normal file
View File

@@ -0,0 +1,3 @@
# 404 - Page Not Found
Return [home](./index) or use the sidebar navigation to get back on track.

View File

@@ -5,27 +5,9 @@
# https://www.sphinx-doc.org/en/master/usage/configuration.html
import shutil
import jinja2
import os
from rocm_docs import ROCmDocs
# Environement to process Jinja templates.
jinja_env = jinja2.Environment(loader=jinja2.FileSystemLoader("."))
# Jinja templates to render out.
templates = [
"./deploy/linux/quick_start.md.jinja",
"./deploy/linux/installer/install.md.jinja",
"./deploy/linux/os-native/install.md.jinja"
]
# Render templates and output files without the last extension.
# For example: 'install.md.jinja' becomes 'install.md'.
for template in templates:
rendered = jinja_env.get_template(template).render()
with open(os.path.splitext(template)[0], 'w') as file:
file.write(rendered)
shutil.copy2('../CONTRIBUTING.md','./contributing.md')
shutil.copy2('../RELEASE.md','./release.md')
@@ -45,8 +27,8 @@ latex_elements = {
project = "ROCm Documentation"
author = "Advanced Micro Devices, Inc."
copyright = "Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved."
version = "5.7.1"
release = "5.7.1"
version = "5.7.0"
release = "5.7.0"
setting_all_article_info = True
all_article_info_os = ["linux", "windows"]
@@ -110,7 +92,7 @@ article_pages = [
external_toc_path = "./sphinx/_toc.yml"
docs_core = ROCmDocs("ROCm 5.7.1 Documentation Home")
docs_core = ROCmDocs("ROCm 5.7.0 Documentation Home")
docs_core.setup()
external_projects_current_project = "rocm"

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -27,7 +27,7 @@ option, i.e. to allow access to all GPUs expose `/dev/kfd` and all
`/dev/dri/renderD` devices:
```shell
docker run --device /dev/kfd --device /dev/dri/renderD128 --device /dev/dri/renderD129 ...
docker run --device /dev/kfd --device /dev/renderD128 --device /dev/renderD129 ...
```
More conveniently, instead of listing all devices, the entire `/dev/dri` folder

View File

@@ -3,11 +3,6 @@
Users installing ROCm must choose between various installation options. A new
user should follow the [Quick Start guide](./quick_start).
```{note}
See {doc}`Radeon Software for Linux installation instructions <radeon:docs/install/install-radeon>`
for those using select RDNA™ 3 GPU with graphical applications and ROCm.
```
## Package Manager versus AMDGPU Installer?
ROCm supports two methods for installation:

View File

@@ -1,5 +1,3 @@
{%- import "deploy/linux/linux.template.jinja" as linux %}
<!-- markdownlint-disable no-duplicate-header blanks-around-headings no-multiple-blanks -->
# Installation with install script
Prior to beginning, please ensure you have the [prerequisites](../prerequisites)
@@ -17,48 +15,98 @@ it via {ref}`hip_visible_devices`.
To download and install the `amdgpu-install` script on the system, use the
following commands based on your distribution.
{% call(family) linux.for_family_in(linux.supported_family) %}
{%- call(os) linux.for_os_in(linux.supported_os) %}
::::::{tab-set}
:::::{tab-item} Ubuntu
:sync: ubuntu
{%- if os.tag == "ubuntu" %}
{%- call(version) linux.for_version_in(os) %}
```{important}
Instructions for {{ family.name }}, {{ os.name }} {{ version.number }}
```
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
```shell
sudo apt update
wget https://repo.radeon.com/amdgpu-install/{{ family.amdgpu_version }}/ubuntu/{{ version.release }}/amdgpu-install_{{ family.amdgpu_install_version }}_all.deb
sudo apt install ./amdgpu-install_{{ family.amdgpu_install_version }}_all.deb
wget https://repo.radeon.com/amdgpu-install/5.7/ubuntu/focal/amdgpu-install_5.7.50700-1_all.deb
sudo apt install ./amdgpu-install_5.7.50700-1_all.deb
```
{%- endcall -%}
{%- elif os.tag == "rhel" %}
{%- call(version) linux.for_version_in(os) %}
```{important}
Instructions for {{ family.name }}, {{ os.name }} {{ version.number }}
```
:::
:::{tab-item} Ubuntu 22.04
:sync: ubuntu-22.04
```shell
sudo yum install https://repo.radeon.com/amdgpu-install/{{ family.amdgpu_version }}/rhel/{{ version.number }}/amdgpu-install-{{ family.amdgpu_install_version }}.{{ version.release | trim("rh") }}.noarch.rpm
sudo apt update
wget https://repo.radeon.com/amdgpu-install/5.7/ubuntu/jammy/amdgpu-install_5.7.50700-1_all.deb
sudo apt install ./amdgpu-install_5.7.50700-1_all.deb
```
{%- endcall -%}
{%- elif os.tag == "sle" %}
{%- call(version) linux.for_version_in(os) %}
```{important}
Instructions for {{ family.name }}, {{ os.name }} {{ version.number }}
```
:::
::::
:::::
:::::{tab-item} Red Hat Enterprise Linux
:sync: RHEL
::::{tab-set}
:::{tab-item} RHEL 8.7
:sync: RHEL-8.7
:sync: RHEL-8
```shell
sudo zypper --no-gpg-checks install https://repo.radeon.com/amdgpu-install/{{ family.amdgpu_version }}/sle/{{ version.number }}/amdgpu-install-{{ family.amdgpu_install_version }}.noarch.rpm
sudo yum install https://repo.radeon.com/amdgpu-install/5.7/rhel/8.7/amdgpu-install-5.7.50700-1.el8.noarch.rpm
```
{%- endcall -%}
{%- endif %}
{%- endcall -%}
{%- endcall %}
:::
:::{tab-item} RHEL 8.8
:sync: RHEL-8.8
:sync: RHEL-8
```shell
sudo yum install https://repo.radeon.com/amdgpu-install/5.7/rhel/8.8/amdgpu-install-5.7.50700-1.el8.noarch.rpm
```
:::
:::{tab-item} RHEL 9.1
:sync: RHEL-9.1
:sync: RHEL-9
```shell
sudo yum install https://repo.radeon.com/amdgpu-install/5.7/rhel/9.1/amdgpu-install-5.7.50700-1.el9.noarch.rpm
```
:::
:::{tab-item} RHEL 9.2
:sync: RHEL-9.2
:sync: RHEL-9
```shell
sudo yum install https://repo.radeon.com/amdgpu-install/5.7/rhel/9.2/amdgpu-install-5.7.50700-1.el9.noarch.rpm
```
:::
::::
:::::
:::::{tab-item} SUSE Linux Enterprise Server
:sync: SLES
::::{tab-set}
:::{tab-item} SLES 15.4
:sync: SLES-15.4
```shell
sudo zypper --no-gpg-checks install https://repo.radeon.com/amdgpu-install/5.7/sle/15.4/amdgpu-install-5.7.50700-1.noarch.rpm
```
:::
:::{tab-item} SLES 15.5
:sync: SLES-15.5
```shell
sudo zypper --no-gpg-checks install https://repo.radeon.com/amdgpu-install/5.7/sle/15.5/amdgpu-install-5.7.50700-1.noarch.rpm
```
:::
::::
:::::
::::::
## Use cases
@@ -127,7 +175,7 @@ To install use cases specific to your requirements, use the installer
sudo amdgpu-install --usecase=graphics,rocm
```
- For workstation workloads using the proprietary driver add `workstation`. For example:
- For graphical workloads using the proprietary driver add `graphics`. For example:
```shell
sudo amdgpu-install --usecase=workstation,rocm
@@ -143,9 +191,9 @@ the installer script will install packages in the single-version layout.
For the multi-version ROCm installation you must use the installer script from
the latest release of ROCm that you wish to install.
**Example:** If you want to install ROCm releases 5.5.3, 5.6.1 and {{ linux.supported_family[0].rocm_version }}
**Example:** If you want to install ROCm releases 5.5.3, 5.6.1 and 5.7
simultaneously, you are required to download the installer from the latest ROCm
release {{ linux.supported_family[0].rocm_version }}.
release 5.7.
### Add Required Repositories
@@ -155,37 +203,50 @@ automatically adds the required repositories for the latest release.
Run the following commands based on your distribution to add the repositories:
{% call(family) linux.for_family_in(linux.supported_family) %}
{%- call(os) linux.for_os_in(linux.supported_os) %}
::::::{tab-set}
:::::{tab-item} Ubuntu
:sync: ubuntu
{%- if os.tag == "ubuntu" %}
{%- call(version) linux.for_version_in(os) %}
```{important}
Instructions for {{ family.name }}, {{ os.name }} {{ version.number }}
```
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
```shell
for ver in 5.5.3 5.6.1 {{ linux.supported_family[0].rocm_version }}; do
echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/rocm-keyring.gpg] https://repo.radeon.com/rocm/apt/$ver {{ version.release }} main" | sudo tee /etc/apt/sources.list.d/rocm.list
for ver in 5.5.3 5.6.1 5.7; do
echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/rocm-keyring.gpg] https://repo.radeon.com/rocm/apt/$ver focal main" | sudo tee /etc/apt/sources.list.d/rocm.list
done
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
sudo apt update
```
{%- endcall -%}
{%- elif os.tag == "rhel" %}
{%- call(version) linux.for_version_in(os) %}
```{important}
Instructions for {{ family.name }}, {{ os.name }} {{ version.number }}
```
:::
:::{tab-item} Ubuntu 22.04
:sync: ubuntu-22.04
```shell
for ver in 5.5.3 5.6.1 {{ linux.supported_family[0].rocm_version }}; do
for ver in 5.5.3 5.6.1 5.7; do
echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/rocm-keyring.gpg] https://repo.radeon.com/rocm/apt/$ver jammy main" | sudo tee /etc/apt/sources.list.d/rocm.list
done
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
sudo apt update
```
:::
::::
:::::
:::::{tab-item} Red Hat Enterprise Linux
:sync: RHEL
::::{tab-set}
:::{tab-item} RHEL 8
:sync: RHEL-8
```shell
for ver in 5.5.3 5.6.1 5.7; do
sudo tee --append /etc/yum.repos.d/rocm.repo <<EOF
[ROCm-$ver]
name=ROCm$ver
baseurl=https://repo.radeon.com/rocm/{{ version.release }}/$ver/main
baseurl=https://repo.radeon.com/rocm/rhel8/$ver/main
enabled=1
priority=50
gpgcheck=1
@@ -194,10 +255,34 @@ EOF
done
sudo yum clean all
```
{%- endcall -%}
{%- elif os.tag == "sle" %}
:::
:::{tab-item} RHEL 9
:sync: RHEL-9
```shell
for ver in 5.5.3 5.6.1 {{ linux.supported_family[0].rocm_version }}; do
for ver in 5.5.3 5.6.1 5.7; do
sudo tee --append /etc/yum.repos.d/rocm.repo <<EOF
[ROCm-$ver]
name=ROCm$ver
baseurl=https://repo.radeon.com/rocm/rhel9/$ver/main
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
done
sudo yum clean all
```
:::
::::
:::::
:::::{tab-item} SUSE Linux Enterprise Server
:sync: SLES
```shell
for ver in 5.5.3 5.6.1 5.7; do
sudo tee --append /etc/zypp/repos.d/rocm.repo <<EOF
name=rocm
baseurl=https://repo.radeon.com/rocm/zyp/$ver/main
@@ -208,27 +293,26 @@ EOF
done
sudo zypper ref
```
{%- endif %}
{%- endcall -%}
{%- endcall %}
:::::
::::::
### Install packages
Use the installer script as given below:
```shell
```none
sudo amdgpu-install --usecase=rocm --rocmrelease=<release-number-1>
sudo amdgpu-install --usecase=rocm --rocmrelease=<release-number-2>
sudo amdgpu-install --usecase=rocm --rocmrelease=<release-number-3>
```
Following are examples of ROCm multi-version installation. The kernel-mode
driver, associated with the ROCm release {{ linux.supported_family[0].rocm_version }}, will be installed as its latest
driver, associated with the ROCm release 5.7, will be installed as its latest
release in the list.
```shell
sudo amdgpu-install --usecase=rocm --rocmrelease={{ linux.supported_family[0].rocm_version }}
```none
sudo amdgpu-install --usecase=rocm --rocmrelease=5.7
sudo amdgpu-install --usecase=rocm --rocmrelease=5.6.1
sudo amdgpu-install --usecase=rocm --rocmrelease=5.5.3
```

View File

@@ -1,116 +0,0 @@
{%- set supported_family = ([
{
"tag": "instinct",
"name": "Select OS",
"amdgpu_version": "5.7.1",
"amdgpu_install_version": "5.7.50701-1",
"rocm_version": "5.7.1",
"rocm_install_version": "5.7.50701-1",
}
]) -%}
{%- set supported_os = ([
{
"tag": "ubuntu",
"name": "Ubuntu",
"shortname" : "Ubuntu",
"version": [
{
"number": "22.04",
"release": "jammy"
},
{
"number": "20.04",
"release": "focal"
}
]
},
{
"tag": "rhel",
"name": "Red Hat Enterprise Linux",
"shortname" : "RHEL",
"version": [
{
"number": "9.2",
"release": "rhel9"
},
{
"number": "9.1",
"release": "rhel9"
},
{
"number": "8.8",
"release": "rhel8"
},
{
"number": "8.7",
"release": "rhel8"
},
]
},
{
"tag": "sle",
"name": "SUSE Linux Enterprise Server",
"shortname" : "SLES",
"version": [
{
"number": "15.5"
},
{
"number": "15.4"
},
]
}
]) -%}
{%- macro for_family_in(supported_family) %}
::::::::{tab-set}
{%- for family in supported_family %}
:::::::{tab-item} {{ family.name }}
:sync: {{ family.tag }}
{{ caller(family) }}
:::::::
{%- endfor %}
::::::::
{%- endmacro -%}
{%- macro for_os_in(supported_os) %}
::::::{tab-set}
{%- for os in supported_os %}
:::::{tab-item} {{ os.name }}
:sync: {{ os.tag }}
{{ caller(os) }}
:::::
{%- endfor %}
::::::
{%- endmacro -%}
{%- macro for_version_in(os) %}
::::{tab-set}
{%- for version in os.version %}
:::{tab-item} {{ os.shortname }} {{ version.number }}
:sync: {{ os.tag }}-{{ version.number }}
{{ caller(version) }}
:::
{%- endfor %}
::::
{%- endmacro -%}
{%- macro install(os, argument) %}
```shell
{%- if os.tag == "ubuntu" %}
sudo apt install {{ argument }}
{%- elif os.tag == "rhel" %}
sudo yum install {{ argument }}
{%- elif os.tag == "sle" %}
sudo zypper install {{ argument }}
{%- endif %}
```
{%- endmacro -%}
{%- macro header_anchor(family, os) -%}
({{ caller() | lower | replace('#', '') | trim | replace(' ', '-')}}-{{ family.tag }}-{{ os.tag }})= {{ caller() }}
{%- endmacro -%}

View File

@@ -1,5 +1,3 @@
{%- import "deploy/linux/linux.template.jinja" as linux %}
<!-- markdownlint-disable no-duplicate-header blanks-around-headings no-multiple-blanks -->
# Installation (Linux)
```{warning}
@@ -21,9 +19,10 @@ installed version by using the multi-version ROCm packages.
## Step by Step Instructions
{%- call(os) linux.for_os_in(linux.supported_os) %}
::::::{tab-set}
:::::{tab-item} Ubuntu
:sync: ubuntu
{%- if os.tag == "ubuntu" %}
::::{rubric} 1. Download and convert the package signing key
::::
@@ -54,22 +53,39 @@ section.
```
To add the AMDGPU repository, follow these steps:
{% call(version) linux.for_version_in(os) %}
```{important}
Instructions for {{ os.name }} {{ version.number }}
```
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
```shell
# version
ver={{ linux.supported_family[0].amdgpu_version }}
ver=5.7
# amdgpu repository for focal
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/$ver/ubuntu {{ version.release }} main" \
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/$ver/ubuntu focal main" \
| sudo tee /etc/apt/sources.list.d/amdgpu.list
sudo apt update
```
{%- endcall %}
:::
:::{tab-item} Ubuntu 22.04
:sync: ubuntu-22.04
```shell
# version
ver=5.7
# amdgpu repository for jammy
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/$ver/ubuntu jammy main" \
| sudo tee /etc/apt/sources.list.d/amdgpu.list
sudo apt update
# Prefer packages from the rocm repository over system packages
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
```
:::
::::
Install the kernel mode driver and reboot the system using the following
commands:
@@ -84,23 +100,38 @@ sudo reboot
To add the ROCm repository, use the following steps:
{%- call(version) linux.for_version_in(os) %}
```{important}
Instructions for {{ os.name }} {{ version.number }}
```
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
```shell
# ROCm repositories for {{ version.release }}
for ver in 5.3.3 5.4.6 5.5.3 5.6.1 {{ linux.supported_family[0].rocm_version }}; do
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/$ver {{ version.release }} main" \
# ROCm repositories for focal
for ver in 5.3.3 5.4.6 5.5.3 5.6.1 5.7; do
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/$ver focal main" \
| sudo tee --append /etc/apt/sources.list.d/rocm.list
done
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' \
| sudo tee /etc/apt/preferences.d/rocm-pin-600
sudo apt update
```
{%- endcall %}
:::
:::{tab-item} Ubuntu 22.04
:sync: ubuntu-22.04
```shell
# ROCm repositories for jammy
for ver in 5.3.3 5.4.6 5.5.3 5.6.1 5.7; do
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/$ver jammy main" \
| sudo tee --append /etc/apt/sources.list.d/rocm.list
done
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' \
| sudo tee /etc/apt/preferences.d/rocm-pin-600
sudo apt update
```
:::
::::
::::{rubric} 4. Install packages
::::
@@ -120,9 +151,13 @@ For a comprehensive list of meta-packages, refer to
- Sample Multi-version installation
```shell
sudo apt install rocm-hip-sdk{{ linux.supported_family[0].rocm_version }} rocm-hip-sdk5.6.1 rocm-hip-sdk5.5.3
sudo apt install rocm-hip-sdk5.7 rocm-hip-sdk5.6.1 rocm-hip-sdk5.5.3
```
{%- elif os.tag == "rhel" %}
:::::
:::::{tab-item} Red Hat Enterprise Linux
:sync: RHEL
::::{rubric} 1. Add the AMDGPU Stack Repository and Install the Kernel-mode Driver
::::
@@ -130,20 +165,20 @@ For a comprehensive list of meta-packages, refer to
If you have a version of the kernel-mode driver installed, you may skip this
section.
```
{% call(version) linux.for_version_in(os) %}
```{important}
Instructions for {{ os.name }} {{ version.number }}
```
::::{tab-set}
:::{tab-item} RHEL 8.7
:sync: RHEL-8.7
:sync: RHEL-8
```shell
# version
ver={{ linux.supported_family[0].amdgpu_version }}
ver=5.7
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/$ver/rhel/{{ version.number }}/main/x86_64/
baseurl=https://repo.radeon.com/amdgpu/$ver/rhel/8.7/main/x86_64/
enabled=1
priority=50
gpgcheck=1
@@ -151,7 +186,76 @@ gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo yum clean all
```
{%- endcall %}
:::
:::{tab-item} RHEL 8.8
:sync: RHEL-8.8
:sync: RHEL-8
```shell
# version
ver=5.7
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/$ver/rhel/8.8/main/x86_64/
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo yum clean all
```
:::
:::{tab-item} RHEL 9.1
:sync: RHEL-9.1
:sync: RHEL-9
```shell
# version
ver=5.7
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/$ver/rhel/9.1/main/x86_64/
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo yum clean all
```
:::
:::{tab-item} RHEL 9.2
:sync: RHEL-9.2
:sync: RHEL-9
```shell
# version
ver=5.7
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/$ver/rhel/9.2/main/x86_64/
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo yum clean all
```
:::
::::
Install the kernel mode driver and reboot the system using the following
commands:
@@ -170,7 +274,7 @@ To add the ROCm repository, use the following steps, based on your distribution:
:sync: RHEL-8
```shell
for ver in 5.3.3 5.4.6 5.5.3 5.6.1 {{ linux.supported_family[0].rocm_version }}; do
for ver in 5.3.3 5.4.6 5.5.3 5.6.1 5.7; do
sudo tee --append /etc/yum.repos.d/rocm.repo <<EOF
[ROCm-$ver]
name=ROCm$ver
@@ -181,7 +285,6 @@ gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
done
sudo yum clean all
```
@@ -190,7 +293,7 @@ sudo yum clean all
:sync: RHEL-9
```shell
for ver in 5.3.3 5.4.6 5.5.3 5.6.1 {{ linux.supported_family[0].rocm_version }}; do
for ver in 5.3.3 5.4.6 5.5.3 5.6.1 5.7; do
sudo tee --append /etc/yum.repos.d/rocm.repo <<EOF
[ROCm-$ver]
name=ROCm$ver
@@ -225,9 +328,13 @@ For a comprehensive list of meta-packages, refer to
- Sample Multi-version installation
```shell
sudo yum install rocm-hip-sdk{{ linux.supported_family[0].rocm_version }} rocm-hip-sdk5.6.1
sudo yum install rocm-hip-sdk5.7 rocm-hip-sdk5.6.1
```
{%- elif os.tag == "sle" %}
:::::
:::::{tab-item} SUSE Linux Enterprise Server
:sync: SLES
::::{rubric} 1. Add the AMDGPU Repository and Install the Kernel-mode Driver
::::
@@ -235,27 +342,48 @@ For a comprehensive list of meta-packages, refer to
If you have a version of the kernel-mode driver installed, you may skip this
section.
```
{% call(version) linux.for_version_in(os) %}
```{important}
Instructions for {{ os.name }} {{ version.number }}
```
::::{tab-set}
:::{tab-item} SLES 15.4
:sync: SLES-15.4
```shell
# version
ver={{ linux.supported_family[0].amdgpu_version }}
ver=5.7
sudo tee /etc/zypp/repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/$ver/sle/{{ version.number }}/main/x86_64
baseurl=https://repo.radeon.com/amdgpu/$ver/sle/15.4/main/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo zypper ref
```
{%- endcall %}
:::
:::{tab-item} SLES 15.5
:sync: SLES-15.5
```shell
# version
ver=5.7
sudo tee /etc/zypp/repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/$ver/sle/15.5/main/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo zypper ref
```
:::
::::
Install the kernel mode driver and reboot the system using the following
commands:
@@ -271,7 +399,7 @@ sudo reboot
To add the ROCm repository, use the following steps:
```shell
for ver in 5.3.3 5.4.6 5.5.3 5.6.1 {{ linux.supported_family[0].rocm_version }}; do
for ver in 5.3.3 5.4.6 5.5.3 5.6.1 5.7; do
sudo tee --append /etc/zypp/repos.d/rocm.repo <<EOF
[ROCm-$ver]
name=ROCm$ver
@@ -303,12 +431,14 @@ For a comprehensive list of meta-packages, refer to
- Sample Multi-version installation
```shell
sudo zypper --gpg-auto-import-keys install rocm-hip-sdk{{ linux.supported_family[0].rocm_version }} rocm-hip-sdk5.6.1
sudo zypper --gpg-auto-import-keys install rocm-hip-sdk5.7 rocm-hip-sdk5.6.1
```
{%- endif %}
{%- endcall %}
:::::
::::::
(post-install-actions-linux)=
## Post-install Actions and Verification Process
The post-install actions listed here are optional and depend on your use case,
@@ -338,7 +468,7 @@ but are generally useful. Verification of the install is advised.
2. Add binary paths to the `PATH` environment variable.
```shell
export PATH=$PATH:/opt/rocm-{{ linux.supported_family[0].rocm_version }}/bin:/opt/rocm-{{ linux.supported_family[0].rocm_version }}/opencl/bin
export PATH=$PATH:/opt/rocm-5.7/bin:/opt/rocm-5.7/opencl/bin
```
@@ -382,18 +512,31 @@ by both commands, the installation is considered successful:
To ensure the packages are installed successfully, use the following commands:
{%- call(os) linux.for_os_in(linux.supported_os) %}
{%- if os.tag == "ubuntu" %}
::::{tab-set}
:::{tab-item} Ubuntu
:sync: ubuntu
```shell
sudo apt list --installed
```
{%- elif os.tag == "rhel" %}
:::
:::{tab-item} Red Hat Enterprise Linux
:sync: RHEL
```shell
sudo yum list installed
```
{%- elif os.tag == "sle" %}
:::
:::{tab-item} SUSE Linux Enterprise Server
:sync: SLES
```shell
sudo zypper search --installed-only
```
{%- endif %}
{%- endcall %}
:::
::::

View File

@@ -57,9 +57,9 @@ sudo apt update
:sync: RHEL
::::{tab-set}
:::{tab-item} RHEL 9.2
:sync: RHEL-9.2
:sync: RHEL-9
:::{tab-item} RHEL 8.7
:sync: RHEL-8.7
:sync: RHEL-8
```shell
# version
@@ -69,29 +69,7 @@ version=5.7
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/$version/rhel/9.2/main/x86_64/
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo yum clean all
```
:::
:::{tab-item} RHEL 9.1
:sync: RHEL-9.1
:sync: RHEL-9
```shell
# version
version=5.7
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/$version/rhel/9.1/main/x86_64/
baseurl=https://repo.radeon.com/amdgpu/$version/rhel/8.7/main/x86_64/
enabled=1
priority=50
gpgcheck=1
@@ -123,9 +101,9 @@ sudo yum clean all
```
:::
:::{tab-item} RHEL 8.7
:sync: RHEL-8.7
:sync: RHEL-8
:::{tab-item} RHEL 9.1
:sync: RHEL-9.1
:sync: RHEL-9
```shell
# version
@@ -135,7 +113,29 @@ version=5.7
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/$version/rhel/8.7/main/x86_64/
baseurl=https://repo.radeon.com/amdgpu/$version/rhel/9.1/main/x86_64/
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo yum clean all
```
:::
:::{tab-item} RHEL 9.2
:sync: RHEL-9.2
:sync: RHEL-9
```shell
# version
version=5.7
sudo tee /etc/yum.repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/$version/rhel/9.2/main/x86_64/
enabled=1
priority=50
gpgcheck=1
@@ -151,26 +151,6 @@ sudo yum clean all
:sync: SLES
::::{tab-set}
:::{tab-item} SLES 15.5
:sync: SLES-15.5
```shell
# version
version=5.7
sudo tee /etc/zypp/repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/$version/sle/15.5/main/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo zypper ref
```
:::
:::{tab-item} SLES 15.4
:sync: SLES-15.4
@@ -190,6 +170,26 @@ EOF
sudo zypper ref
```
:::
:::{tab-item} SLES 15.5
:sync: SLES-15.5
```shell
# version
version=5.7
sudo tee /etc/zypp/repos.d/amdgpu.repo <<EOF
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/$version/sle/15.5/main/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
sudo zypper ref
```
:::
::::
:::::

View File

@@ -0,0 +1,342 @@
# Quick Start (Linux)
## Add Repositories
::::::{tab-set}
:::::{tab-item} Ubuntu
:sync: ubuntu
::::{rubric} 1. Download and convert the package signing key
::::
```shell
# Make the directory if it doesn't exist yet.
# This location is recommended by the distribution maintainers.
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
# Download the key, convert the signing-key to a full
# keyring required by apt and store in the keyring directory
wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | \
gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null
```
::::{rubric} 2. Add the repositories
::::
::::{tab-set}
:::{tab-item} Ubuntu 20.04
:sync: ubuntu-20.04
```shell
# Kernel driver repository for focal
sudo tee /etc/apt/sources.list.d/amdgpu.list <<'EOF'
deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/5.7/ubuntu focal main
EOF
# ROCm repository for focal
sudo tee /etc/apt/sources.list.d/rocm.list <<'EOF'
deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/5.7 focal main
EOF
```
:::
:::{tab-item} Ubuntu 22.04
:sync: ubuntu-22.04
```shell
# Kernel driver repository for jammy
sudo tee /etc/apt/sources.list.d/amdgpu.list <<'EOF'
deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/5.7/ubuntu jammy main
EOF
# ROCm repository for jammy
sudo tee /etc/apt/sources.list.d/rocm.list <<'EOF'
deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/5.7 jammy main
EOF
# Prefer packages from the rocm repository over system packages
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
```
:::
::::
::::{rubric} 3. Update the list of packages
::::
```shell
sudo apt update
```
:::::
:::::{tab-item} Red Hat Enterprise Linux
:sync: RHEL
::::{rubric} 1. Add the repositories
::::
::::{tab-set}
:::{tab-item} RHEL 8.7
:sync: RHEL-8.7
```shell
# Add the amdgpu module repository for RHEL 8.7
sudo tee /etc/yum.repos.d/amdgpu.repo <<'EOF'
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/5.7/rhel/8.7/main/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
# Add the rocm repository for RHEL 8
sudo tee /etc/yum.repos.d/rocm.repo <<'EOF'
[rocm]
name=rocm
baseurl=https://repo.radeon.com/rocm/rhel8/5.7/main
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
```
:::
:::{tab-item} RHEL 8.8
:sync: RHEL-8.8
```shell
# Add the amdgpu module repository for RHEL 8.8
sudo tee /etc/yum.repos.d/amdgpu.repo <<'EOF'
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/5.7/rhel/8.8/main/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
# Add the rocm repository for RHEL 8
sudo tee /etc/yum.repos.d/rocm.repo <<'EOF'
[rocm]
name=rocm
baseurl=https://repo.radeon.com/rocm/rhel8/5.7/main
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
```
:::
:::{tab-item} RHEL 9.1
:sync: RHEL-9.1
```shell
# Add the amdgpu module repository for RHEL 9.1
sudo tee /etc/yum.repos.d/amdgpu.repo <<'EOF'
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/5.7/rhel/9.1/main/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
# Add the rocm repository for RHEL 9
sudo tee /etc/yum.repos.d/rocm.repo <<'EOF'
[rocm]
name=rocm
baseurl=https://repo.radeon.com/rocm/rhel9/5.7/main
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
```
:::
:::{tab-item} RHEL 9.2
:sync: RHEL-9.2
```shell
# Add the amdgpu module repository for RHEL 9.2
sudo tee /etc/yum.repos.d/amdgpu.repo <<'EOF'
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/5.7/rhel/9.2/main/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
# Add the rocm repository for RHEL 9
sudo tee /etc/yum.repos.d/rocm.repo <<'EOF'
[rocm]
name=rocm
baseurl=https://repo.radeon.com/rocm/rhel9/5.7/main
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
```
:::
::::
::::{rubric} 2. Clean cached files from enabled repositories
::::
```shell
sudo yum clean all
```
:::::
:::::{tab-item} SUSE Linux Enterprise Server
:sync: SLES
::::{rubric} 1. Add the repositories
::::
::::{tab-set}
:::{tab-item} SLES 15.4
:sync: SLES-15.4
```shell
# Add the amdgpu module repository for SLES 15.4
sudo tee /etc/zypp/repos.d/amdgpu.repo <<'EOF'
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/5.7/sle/15.4/main/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
# Add the rocm repository for SLES
sudo tee /etc/zypp/repos.d/rocm.repo <<'EOF'
[rocm]
name=rocm
baseurl=https://repo.radeon.com/rocm/zyp/zypper
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
```
:::
:::{tab-item} SLES 15.5
:sync: SLES-15.5
```shell
# Add the amdgpu module repository for SLES 15.5
sudo tee /etc/zypp/repos.d/amdgpu.repo <<'EOF'
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/5.7/sle/15.5/main/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
# Add the rocm repository for SLES
sudo tee /etc/zypp/repos.d/rocm.repo <<'EOF'
[rocm]
name=rocm
baseurl=https://repo.radeon.com/rocm/zyp/zypper
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
```
:::
::::
::::{rubric} 2. Update the new repository
::::
```shell
sudo zypper ref
```
:::::
::::::
## Install Drivers
Install the `amdgpu-dkms` kernel module, aka driver, on your system.
::::{tab-set}
:::{tab-item} Ubuntu
:sync: ubuntu
```shell
sudo apt install amdgpu-dkms
```
:::
:::{tab-item} Red Hat Enterprise Linux
:sync: RHEL
```shell
sudo yum install amdgpu-dkms
```
:::
:::{tab-item} SUSE Linux Enterprise Server
:sync: SLES
```shell
sudo zypper install amdgpu-dkms
```
:::
::::
## Install ROCm Runtimes
Install the `rocm-hip-libraries` meta-package. This contains dependencies for most
common ROCm applications.
::::{tab-set}
:::{tab-item} Ubuntu
:sync: ubuntu
```console shell
sudo apt install rocm-hip-libraries
```
:::
:::{tab-item} Red Hat Enterprise Linux
:sync: RHEL
```console shell
sudo yum install rocm-hip-libraries
```
:::
:::{tab-item} SUSE Linux Enterprise Server
:sync: SLES
```console shell
sudo zypper install rocm-hip-libraries
```
:::
::::
## Reboot the system
Loading the new driver requires a reboot of the system.
```shell
sudo reboot
```

View File

@@ -1,162 +0,0 @@
{%- import "deploy/linux/linux.template.jinja" as linux %}
<!-- markdownlint-disable no-duplicate-header blanks-around-headings no-multiple-blanks -->
# Quick Start (Linux)
:::{note}
See {doc}`Radeon Software for Linux installation instructions <radeon:docs/install/install-radeon>`
for those using select RDNA™ 3 GPU with graphical applications and ROCm.
:::
## Add Repositories
{% set family = linux.supported_family[0] %}
{%- call(os) linux.for_os_in(linux.supported_os) %}
{%- if os.tag == "ubuntu" %}
::::{rubric} 1. Download and convert the package signing key
::::
```shell
# Make the directory if it doesn't exist yet.
# This location is recommended by the distribution maintainers.
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
# Download the key, convert the signing-key to a full
# keyring required by apt and store in the keyring directory
wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | \
gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null
```
::::{rubric} 2. Add the repositories
::::
{%- call(version) linux.for_version_in(os) %}
```{important}
Instructions for {{ family.name }}, {{ os.name }} {{ version.number }}
```
```shell
# Kernel driver repository for {{ version.release }}
sudo tee /etc/apt/sources.list.d/amdgpu.list <<'EOF'
deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/{{ family.amdgpu_version }}/ubuntu {{ version.release }} main
EOF
# ROCm repository for {{ version.release }}
sudo tee /etc/apt/sources.list.d/rocm.list <<'EOF'
deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/{{ family.amdgpu_version }} {{ version.release }} main
EOF
# Prefer packages from the rocm repository over system packages
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
```
{%- endcall %}
::::{rubric} 3. Update the list of packages
::::
```shell
sudo apt update
```
{%- elif os.tag == "rhel" %}
::::{rubric} 1. Add the repositories
::::
{%- call(version) linux.for_version_in(os) %}
```{important}
Instructions for {{ family.name }}, {{ os.name }} {{ version.number }}
```
```shell
# Add the amdgpu module repository for RHEL {{ version.number }}
sudo tee /etc/yum.repos.d/amdgpu.repo <<'EOF'
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/{{ family.amdgpu_version }}/rhel/{{ version.number }}/main/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
# Add the rocm repository for {{ version.release | upper }}
sudo tee /etc/yum.repos.d/rocm.repo <<'EOF'
[rocm]
name=rocm
baseurl=https://repo.radeon.com/rocm/{{ version.release }}/latest/main
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
```
{%- endcall %}
::::{rubric} 2. Clean cached files from enabled repositories
::::
```shell
sudo yum clean all
```
{%- elif os.tag == "sle" %}
::::{rubric} 1. Add the repositories
::::
{%- call(version) linux.for_version_in(os) %}
```{important}
Instructions for {{ family.name }}, {{ os.name }} {{ version.number }}
```
```shell
# Add the amdgpu module repository for SLES {{ version.number }}
sudo tee /etc/zypp/repos.d/amdgpu.repo <<'EOF'
[amdgpu]
name=amdgpu
baseurl=https://repo.radeon.com/amdgpu/{{ family.amdgpu_version }}/sle/{{ version.number }}/main/x86_64
enabled=1
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
# Add the rocm repository for SLES
sudo tee /etc/zypp/repos.d/rocm.repo <<'EOF'
[rocm]
name=rocm
baseurl=https://repo.radeon.com/rocm/zyp/zypper
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
```
{%- endcall %}
::::{rubric} 2. Update the new repository
::::
```shell
sudo zypper ref
```
{%- endif %}
{%- endcall -%}
{%- call(os) linux.for_os_in(linux.supported_os) %}
## Install drivers
Install the `amdgpu-dkms` kernel module, aka driver, on your system.
{{ linux.install(os, "amdgpu-dkms")}}
{%- endcall %}
## Install ROCm runtimes
Install the `rocm-hip-libraries` meta-package. This contains dependencies for most
common ROCm applications.
{%- call(os) linux.for_os_in(linux.supported_os) %}
{{ linux.install(os, "rocm-hip-libraries")}}
{%- endcall %}
## Reboot the system
Loading the new driver requires a reboot of the system.
```shell
sudo reboot
```

View File

@@ -3,14 +3,6 @@
:::::{grid} 1 1 2 2
:gutter: 1
:::{grid-item-card} ROCm using Radeon
:link: {doc}`ROCm using Radeon <radeon:index>`
:link-type: url
ROCm and PyTorch installation processes to pair with the Radeon RX 7900 XTX GPU or the Radeon PRO W7900 GPU,
and get started on a fully-functional environment for AI and ML development.
:::
:::{grid-item-card} Tuning Guides
:link: tuning_guides/index
:link-type: doc

View File

@@ -59,7 +59,16 @@ Follow these steps:
PyTorch supports the ROCm platform by providing tested wheels packages. To
access this feature, refer to
[https://pytorch.org/get-started/locally/](https://pytorch.org/get-started/locally/). For the correct wheels command, you must select 'Linux', 'Python', 'pip', and 'ROCm' in the matrix.
[https://pytorch.org/get-started/locally/](https://pytorch.org/get-started/locally/)
and choose the "ROCm" compute platform. {numref}`Installation-Matrix-from-Pytorch` is a matrix from <https://pytorch.org/> that illustrates the installation compatibility between ROCm and the PyTorch build.
```{figure} ../../data/how_to/magma_install/image.006.png
:name: Installation-Matrix-from-Pytorch
---
align: center
---
Installation Matrix from Pytorch
```
To install PyTorch using the wheels package, follow these installation steps:

View File

@@ -17,7 +17,6 @@ tools, and APIs that enable GPU programming from low-level kernel to end-user ap
- {doc}`/deploy/linux/index`
- {doc}`/deploy/docker`
- {doc}`Deploy ROCm using Radeon <radeon:index>`
:::
::::

1
docs/reference/docker.md Normal file
View File

@@ -0,0 +1 @@
# Docker

View File

@@ -22,7 +22,7 @@ The OpenMP toolchain is automatically installed as part of the standard ROCm
installation and is available under `/opt/rocm-{version}/llvm`. The
sub-directories are:
- bin: Compilers (`flang` and `clang`) and other binaries.
bin: Compilers (`flang` and `clang`) and other binaries.
- examples: The usage section below shows how to compile and run these programs.

View File

@@ -57,8 +57,8 @@ contemporary CUDA / NVIDIA HPC SDK alternatives.
| 5.3.x | 1.16 | 22.7 |
| 5.4.x | 1.16 | 22.9 |
| 5.5.x | 1.17 | 22.9 |
| 5.6.x | 1.17.2 | 22.9 |
| 5.7.x | 1.17.2 | 22.9 |
| 5.6 | 1.17.2 | 22.9 |
| 5.7 | 1.17.2 | 22.9 |
For the latest documentation of these libraries, refer to the
[associated documentation](../reference/gpu_libraries/c%2B%2B_primitives.md).

View File

@@ -0,0 +1,88 @@
# Docker Image Support Matrix
The software support matrices for ROCm container releases is listed.
## ROCm 5.6
### PyTorch
#### `Ubuntu+ rocm5.6_internal_testing +169530b`
* [ROCm5.6](https://repo.radeon.com/rocm/apt/latest/)
* [Python 3.8](https://www.python.org/downloads/release/python-380/)
* [Torch 2.0.0](https://github.com/ROCmSoftwarePlatform/pytorch/tree/rocm5.6_internal_testing)
* [Apex 0.1](https://github.com/ROCmSoftwarePlatform/apex/tree/v0.1)
* [Torchvision 0.15.1](https://github.com/pytorch/vision/tree/v0.15.1)
* [Tensorboard 2.12.0](https://github.com/tensorflow/tensorboard/tree/2.12.0)
* [MAGMA](https://bitbucket.org/icl/magma/src/master/)
* [UCX 1.10.0](https://github.com/openucx/ucx/tree/v1.10.0)
* [OMPI 4.0.3](https://github.com/open-mpi/ompi/tree/v4.0.3)
* [OFED 5.4.3](https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz)
#### `CentOS7+ rocm5.6_internal_testing +169530b`
* [ROCm5.6](https://repo.radeon.com/rocm/apt/5.6/)
* [Python 3.8](https://www.python.org/downloads/release/python-380/)
* [Torch 2.0.0](https://github.com/ROCmSoftwarePlatform/pytorch/tree/rocm5.6_internal_testing)
* [Apex 0.1](https://github.com/ROCmSoftwarePlatform/apex/tree/v0.1)
* [Torchvision 0.15.1](https://github.com/pytorch/vision/tree/v0.15.1)
* [Tensorboard 2.12.0](https://github.com/tensorflow/tensorboard/tree/2.12.0)
* [MAGMA](https://bitbucket.org/icl/magma/src/master/)
#### `1.13 +bfeb431`
* [ROCm5.6](https://repo.radeon.com/rocm/apt/5.6/)
* [Python 3.8](https://www.python.org/downloads/release/python-380/)
* [Torch 1.13.1](https://github.com/ROCmSoftwarePlatform/pytorch/tree/release/1.13)
* [Apex 0.1](https://github.com/ROCmSoftwarePlatform/apex/tree/v0.1)
* [Torchvision 0.14.0](https://github.com/pytorch/vision/tree/v0.14.0)
* [Tensorboard 2.12.0](https://github.com/tensorflow/tensorboard/tree/2.12.0)
* [MAGMA](https://bitbucket.org/icl/magma/src/master/)
* [UCX 1.10.0](https://github.com/openucx/ucx/tree/v1.10.0)
* [OMPI 4.0.3](https://github.com/open-mpi/ompi/tree/v4.0.3)
* [OFED 5.4.3](https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz)
#### `1.12 +05d5d04`
* [ROCm5.6](https://repo.radeon.com/rocm/apt/5.6/)
* [Python 3.8](https://www.python.org/downloads/release/python-380/)
* [Torch 1.12.1](https://github.com/ROCmSoftwarePlatform/pytorch/tree/release/1.12)
* [Apex 0.1](https://github.com/ROCmSoftwarePlatform/apex/tree/v0.1)
* [Torchvision 0.13.1](https://github.com/pytorch/vision/tree/v0.13.1)
* [Tensorboard 2.12.0](https://github.com/tensorflow/tensorboard/tree/2.12.0)
* [MAGMA](https://bitbucket.org/icl/magma/src/master/)
* [UCX 1.10.0](https://github.com/openucx/ucx/tree/v1.10.0)
* [OMPI 4.0.3](https://github.com/open-mpi/ompi/tree/v4.0.3)
* [OFED 5.4.3](https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz)
### TensorFlow
#### `tensorflow_develop-upstream-QA-rocm56 +c88a9f4`
* [ROCm5.6](https://repo.radeon.com/rocm/apt/5.6/)
* [Python 3.9](https://www.python.org/downloads/release/python-390/)
* `tensorflow-rocm` 2.13.0
* [OFED 5.3](https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz)
* [OMPI 4.0.7](https://github.com/open-mpi/ompi/tree/v4.0.7)
* [Horovod 0.27.0](https://github.com/horovod/horovod/tree/v0.27.0)
* [Tensorboard 2.12.0](https://github.com/tensorflow/tensorboard/tree/2.12.0)
#### `r2.11-rocm-enhanced +5be4141`
* [ROCm5.6](https://repo.radeon.com/rocm/apt/5.6/)
* [Python 3.9](https://www.python.org/downloads/release/python-390/)
* [`tensorflow-rocm` 2.11.0](https://pypi.org/project/tensorflow-rocm/2.11.0.540/)
* [OFED 5.3](https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz)
* [OMPI 4.0.7](https://github.com/open-mpi/ompi/tree/v4.0.7)
* [Horovod 0.27.0](https://github.com/horovod/horovod/tree/v0.27.0)
* [Tensorboard 2.11.2](https://github.com/tensorflow/tensorboard/tree/2.11.2)
#### `r2.10-rocm-enhanced +72789a3`
* [ROCm5.6](https://repo.radeon.com/rocm/apt/5.6/)
* [Python 3.9](https://www.python.org/downloads/release/python-390/)
* [`tensorflow-rocm` 2.10.1](https://pypi.org/project/tensorflow-rocm/2.10.1.540/)
* [OFED 5.3](https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz)
* [OMPI 4.0.7](https://github.com/open-mpi/ompi/tree/v4.0.7)
* [Horovod 0.27.0](https://github.com/horovod/horovod/tree/v0.27.0)
* [Tensorboard 2.10.1](https://github.com/tensorflow/tensorboard/tree/2.10.1)

View File

@@ -1,131 +0,0 @@
******************************************************************
Docker image support matrix
******************************************************************
AMD validates and publishes `PyTorch <https://hub.docker.com/r/rocm/pytorch>`_ and `TensorFlow <https://hub.docker.com/r/rocm/tensorflow>`_
containers on docker hub. The following tags, and associated inventories, are validated with ROCm 5.7.
.. tab-set::
.. tab-item:: PyTorch
.. tab-set::
.. tab-item:: Ubuntu 22.04
Tag: `rocm/pytorch:rocm5.7_ubuntu22.04_py3.10_pytorch_2.0.1 <https://hub.docker.com/layers/rocm/pytorch/rocm5.7_ubuntu22.04_py3.10_pytorch_2.0.1/images/sha256-21df283b1712f3d73884b9bc4733919374344ceacb694e8fbc2c50bdd3e767ee>`_
* Inventory:
* `ROCm 5.7 <https://repo.radeon.com/rocm/apt/5.7/>`_
* `Python 3.10 <https://www.python.org/downloads/release/python-31013/>`_
* `Torch 2.0.1 <https://github.com/ROCmSoftwarePlatform/pytorch/tree/release/2.0>`_
* `Apex 0.1 <https://github.com/ROCmSoftwarePlatform/apex/tree/v0.1>`_
* `Torchvision 0.15.0 <https://github.com/pytorch/vision/tree/release/0.15>`_
* `Tensorboard 2.14.0 <https://github.com/tensorflow/tensorboard/tree/2.14>`_
* `MAGMA <https://bitbucket.org/icl/magma/src/master/>`_
* `UCX 1.10.0 <https://github.com/openucx/ucx/tree/v1.10.0>`_
* `OMPI 4.0.3 <https://github.com/open-mpi/ompi/tree/v4.0.3>`_
* `OFED 5.4.3 <https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz>`_
.. tab-item:: Ubuntu 20.04
Tag: `rocm/pytorch:rocm5.7_ubuntu20.04_py3.9_pytorch_staging <https://hub.docker.com/layers/rocm/pytorch/rocm5.7_ubuntu20.04_py3.9_pytorch_2.0.1/images/sha256-4dd86046e5f777f53ae40a75ecfc76a5e819f01f3b2d40eacbb2db95c2f971d4)>`_
* Inventory:
* `ROCm 5.7 <https://repo.radeon.com/rocm/apt/5.7/>`_
* `Python 3.9 <https://www.python.org/downloads/release/python-3918/>`_
* `Torch 2.1.0 <https://github.com/ROCmSoftwarePlatform/pytorch/tree/rocm5.7_internal_testing>`_
* `Apex 0.1 <https://github.com/ROCmSoftwarePlatform/apex/tree/v0.1>`_
* `Torchvision 0.16.0 <https://github.com/pytorch/vision/tree/release/0.16>`_
* `Tensorboard 2.14.0 <https://github.com/tensorflow/tensorboard/tree/2.14>`_
* `MAGMA <https://bitbucket.org/icl/magma/src/master/>`_
* `UCX 1.10.0 <https://github.com/openucx/ucx/tree/v1.10.0>`_
* `OMPI 4.0.3 <https://github.com/open-mpi/ompi/tree/v4.0.3>`_
* `OFED 5.4.3 <https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz>`_
Tag: `Ubuntu rocm/pytorch:rocm5.7_ubuntu20.04_py3.9_pytorch_1.12.1 <https://hub.docker.com/layers/rocm/pytorch/rocm5.7_ubuntu20.04_py3.9_pytorch_1.12.1/images/sha256-e67db9373c045a7b6defd43cc3d067e7d49fd5d380f3f8582d2fb219c1756e1f>`_
* Inventory:
* `ROCm 5.7 <https://repo.radeon.com/rocm/apt/5.7/>`_
* `Python 3.9 <https://www.python.org/downloads/release/python-3918/>`_
* `Torch 1.12.1 <https://github.com/ROCmSoftwarePlatform/pytorch/tree/release/1.12>`_
* `Apex 0.1 <https://github.com/ROCmSoftwarePlatform/apex/tree/v0.1>`_
* `Torchvision 0.13.1 <https://github.com/pytorch/vision/tree/v0.13.1>`_
* `Tensorboard 2.14.0 <https://github.com/tensorflow/tensorboard/tree/2.14>`_
* `MAGMA <https://bitbucket.org/icl/magma/src/master/>`_
* `UCX 1.10.0 <https://github.com/openucx/ucx/tree/v1.10.0>`_
* `OMPI 4.0.3 <https://github.com/open-mpi/ompi/tree/v4.0.3>`_
* `OFED 5.4.3 <https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz>`_
Tag: `Ubuntu rocm/pytorch:rocm5.7_ubuntu20.04_py3.9_pytorch_1.13.1 <https://hub.docker.com/layers/rocm/pytorch/rocm5.7_ubuntu20.04_py3.9_pytorch_1.13.1/images/sha256-ed99d159026093d2aaf5c48c1e4b0911508773430377051372733f75c340a4c1>`_
* Inventory:
* `ROCm 5.7 <https://repo.radeon.com/rocm/apt/5.7/>`_
* `Python 3.9 <https://www.python.org/downloads/release/python-3918/>`_
* `Torch 1.12.1 <https://github.com/ROCmSoftwarePlatform/pytorch/tree/release/1.13>`_
* `Apex 0.1 <https://github.com/ROCmSoftwarePlatform/apex/tree/v0.1>`_
* `Torchvision 0.14.0 <https://github.com/pytorch/vision/tree/v0.14.0>`_
* `Tensorboard 2.12.0 <https://github.com/tensorflow/tensorboard/tree/2.12.0>`_
* `MAGMA <https://bitbucket.org/icl/magma/src/master/>`_
* `UCX 1.10.0 <https://github.com/openucx/ucx/tree/v1.10.0>`_
* `OMPI 4.0.3 <https://github.com/open-mpi/ompi/tree/v4.0.3>`_
* `OFED 5.4.3 <https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz>`_
Tag: `Ubuntu rocm/pytorch:rocm5.7_ubuntu20.04_py3.9_pytorch_2.0.1 <https://hub.docker.com/layers/rocm/pytorch/rocm5.7_ubuntu20.04_py3.9_pytorch_2.0.1/images/sha256-4dd86046e5f777f53ae40a75ecfc76a5e819f01f3b2d40eacbb2db95c2f971d4>`_
* Inventory:
* `ROCm 5.7 <https://repo.radeon.com/rocm/apt/5.7/>`_
* `Python 3.9 <https://www.python.org/downloads/release/python-3918/>`_
* `Torch 2.0.1 <https://github.com/ROCmSoftwarePlatform/pytorch/tree/release/2.0>`_
* `Apex 0.1 <https://github.com/ROCmSoftwarePlatform/apex/tree/v0.1>`_
* `Torchvision 0.15.2 <https://github.com/pytorch/vision/tree/release/0.15>`_
* `Tensorboard 2.14.0 <https://github.com/tensorflow/tensorboard/tree/2.14>`_
* `MAGMA <https://bitbucket.org/icl/magma/src/master/>`_
* `UCX 1.10.0 <https://github.com/openucx/ucx/tree/v1.10.0>`_
* `OMPI 4.0.3 <https://github.com/open-mpi/ompi/tree/v4.0.3>`_
* `OFED 5.4.3 <https://content.mellanox.com/ofed/MLNX_OFED-5.3-1.0.5.0/MLNX_OFED_LINUX-5.3-1.0.5.0-ubuntu20.04-x86_64.tgz>`_
.. tab-item:: CentOS 7
Tag: `rocm/pytorch:rocm5.7_centos7_py3.9_pytorch_staging <https://hub.docker.com/layers/rocm/pytorch/rocm5.7_centos7_py3.9_pytorch_staging/images/sha256-92240cdf0b4aa7afa76fc78be995caa19ee9c54b5c9f1683bdcac28cedb58d2b>`_
* Inventory:
* `ROCm 5.7 <https://repo.radeon.com/rocm/yum/5.7/>`_
* `Python 3.9 <https://www.python.org/downloads/release/python-3918/>`_
* `Torch 2.1.0 <https://github.com/ROCmSoftwarePlatform/pytorch/tree/rocm5.7_internal_testing>`_
* `Apex 0.1 <https://github.com/ROCmSoftwarePlatform/apex/tree/v0.1>`_
* `Torchvision 0.16.0 <https://github.com/pytorch/vision/tree/release/0.16>`_
* `MAGMA <https://bitbucket.org/icl/magma/src/master/>`_
.. tab-item:: TensorFlow
.. tab-set::
.. tab-item:: Ubuntu 20.04
Tag: `rocm5.7-tf2.12-dev <https://hub.docker.com/layers/rocm/tensorflow/rocm5.7-tf2.12-dev/images/sha256-e0ac4d49122702e5167175acaeb98a79b9500f585d5e74df18facf6b52ce3e59>`_
* Inventory:
* `ROCm 5.7 <https://repo.radeon.com/rocm/apt/5.7/>`_
* `Python 3.9 <https://www.python.org/downloads/release/python-3918/>`_
* `tensorflow-rocm 2.12.1 <https://pypi.org/project/tensorflow-rocm/2.12.1.570/>`_
* `Tensorboard 2.12.3 <https://github.com/tensorflow/tensorboard/tree/2.12>`_
Tag: `rocm5.7-tf2.13-dev <https://hub.docker.com/layers/rocm/tensorflow/rocm5.7-tf2.13-dev/images/sha256-6f995539eebc062aac2b53db40e2b545192d8b032d0deada8c24c6651a7ac332>`_
* Inventory:
* `ROCm 5.7 <https://repo.radeon.com/rocm/apt/5.7/>`_
* `Python 3.9 <https://www.python.org/downloads/release/python-3918/>`_
* `tensorflow-rocm 2.13.0 <https://pypi.org/project/tensorflow-rocm/2.13.0.570/>`_
* `Tensorboard 2.13.0 <https://github.com/tensorflow/tensorboard/tree/2.13>`_

View File

@@ -1,4 +1,4 @@
# GPU and OS Support (Linux)
# GPU Support and OS Compatibility (Linux)
(supported_distributions)=
@@ -67,11 +67,13 @@ The table below shows supported GPUs for Instinct™, Radeon Pro™ and Radeon
GPUs. Please click the tabs below to switch between GPU product lines. If a GPU
is not listed on this table, the GPU is not officially supported by AMD.
:::::{tab-set}
::::{tab-set}
::::{tab-item} AMD Instinct™
:::{tab-item} AMD Instinct™
:sync: instinct
Use Driver Shipped with ROCm
| Product Name | Architecture | [LLVM Target](https://www.llvm.org/docs/AMDGPUUsage.html#processors) |Support |
|:------------:|:------------:|:--------------------------------------------------------------------:|:-------:|
| AMD Instinct™ MI250X | CDNA2 | gfx90a | ✅ |
@@ -81,42 +83,33 @@ is not listed on this table, the GPU is not officially supported by AMD.
| AMD Instinct™ MI50 | GCN5.1 | gfx906 | ✅ |
| AMD Instinct™ MI25 | GCN5.0 | gfx900 | ❌ |
::::
:::
::::{tab-item} Radeon Pro™
:::{tab-item} Radeon Pro™
:sync: radeonpro
:::{note}
See {doc}`Radeon Software for Linux compability matrix <radeon:docs/compatibility>`
for those using select RDNA™ 3 GPU with graphical applications and ROCm.
:::
[Use Radeon Pro Driver](https://www.amd.com/en/support/linux-drivers)
| Name | Architecture |[LLVM Target](https://www.llvm.org/docs/AMDGPUUsage.html#processors) | Support|
|:----:|:------------:|:--------------------------------------------------------------------:|:-------:|
| AMD Radeon™ Pro W7900 | RDNA3 | gfx1100 | ✅ (Ubuntu 22.04 only)|
| AMD Radeon™ Pro W6800 | RDNA2 | gfx1030 | ✅ |
| AMD Radeon™ Pro V620 | RDNA2 | gfx1030 | ✅ |
| AMD Radeon™ Pro VII | GCN5.1 | gfx906 | ✅ |
::::
:::
::::{tab-item} Radeon™
:::{tab-item} Radeon™
:sync: radeonpro
:::{note}
See {doc}`Radeon Software for Linux compatibility <radeon:docs/compatibility>`
for those using select RDNA™ 3 GPU with graphical applications and ROCm.
:::
[Use Radeon Pro Driver](https://www.amd.com/en/support/linux-drivers)
| Name | Architecture |[LLVM Target](https://www.llvm.org/docs/AMDGPUUsage.html#processors) | Support|
|:----:|:---------------:|:--------------------------------------------------------------------:|:-------:|
| AMD Radeon™ RX 7900 XTX | RDNA3 | gfx1100 | ✅ (Ubuntu 22.04 only)|
| AMD Radeon™ RX 7900 XT | RDNA3 | gfx1100 | ✅ (Ubuntu 22.04 only)|
| AMD Radeon™ VII | GCN5.1 | gfx906 | ✅ |
| AMD Radeon™ VII | GCN5.1 | gfx906 | ✅ |
:::
::::
:::::
### Support Status
- ✅: **Supported** - AMD enables these GPUs in our software distributions for

View File

@@ -21,4 +21,3 @@ the compatibility combinations that are currently supported.
| 5.6.0 | 5.4.3, 5.5.1 |
| 5.6.1 | 5.7.0 |
| 5.7.0 | 5.5.0, 5.6.1 |
| 5.7.1 | 5.5.0, 5.6.1 |

View File

@@ -2,7 +2,6 @@
| Version | Release Date |
| ------- | ------------ |
| [5.7.1](https://rocm.docs.amd.com/en/docs-5.7.1/) | Oct 13, 2023 |
| [5.7.0](https://rocm.docs.amd.com/en/docs-5.7.0/) | Sep 15, 2023 |
| [5.6.1](https://rocm.docs.amd.com/en/docs-5.6.1/) | Aug 29, 2023 |
| [5.6.0](https://rocm.docs.amd.com/en/docs-5.6.0/) | Jun 28, 2023 |

View File

@@ -4,7 +4,7 @@
## Supported SKUs
AMD HIP SDK supports the following Windows variants.
AMD ROCm™ Platform supports the following Windows SKU.
| Distribution |Processor Architectures| Validated update |
|---------------------|-----------------------|--------------------|

View File

@@ -19,14 +19,6 @@ ROCm supports programming models, such as OpenMP and OpenCL, and includes all ne
compilers, debuggers, and libraries. ROCm is fully integrated into machine learning (ML) frameworks,
such as PyTorch and TensorFlow.
## Radeon Software for Linux with ROCm
Starting with Radeon Software for Linux® 23.20.00.48 with ROCm 5.7, researchers and developers working with Machine Learning (ML) models and algorithms can tap into the parallel computing power of the AMD desktop GPUs based on the RDNA™ 3 architecture.
A client solution built on powerful high-end AMD GPUs provides a local, private and often cost-effective workflow to develop ROCm and train ML (PyTorch) for the users who previously relied solely on cloud-based solutions.
For information about how to install ROCm on AMD desktop GPUs based on the RDNA™ 3 architecture, see {doc}`Use ROCm on Radeon GPUs<radeon:index>`. For more information about supported AMD Radeon™ desktop GPUs, see {doc}`Radeon Compatibility Matrices <radeon:docs/compatibility>`.
## ROCm on Windows
Starting with ROCm 5.5, the HIP SDK brings a subset of ROCm to developers on Windows.

View File

@@ -81,7 +81,7 @@ subtrees:
subtrees:
- entries:
- file: release/user_kernel_space_compat_matrix
- file: release/docker_image_support_matrix.rst
- file: release/docker_image_support_matrix
- file: release/3rd_party_support_matrix
- file: release/licensing
@@ -102,7 +102,7 @@ subtrees:
- entries:
- file: reference/gpu_libraries/linear_algebra
subtrees:
- entries:
- entries:
- title: rocBLAS
url: ${project:rocblas}
- title: hipBLAS

View File

@@ -172,7 +172,7 @@ all the flags necessary for device compilation.
.. note::
Compiling for the GPU device requires at least C++11.
This project can then be configured with for the following CMake commands:
This project can then be configured with the following CMake commands:
- Windows: ``cmake -D CMAKE_CXX_COMPILER:PATH=${env:HIP_PATH}\bin\clang++.exe``

View File

@@ -1,15 +1,13 @@
### Using the LLVM Address Sanitizer (ASAN) with the GPU (Beta Release)
### Using the LLVM Address Sanitizer (ASAN) on the GPU
The beta release LLVM Address Sanitizer provides a process that allows developers to detect runtime addressing errors in applications and libraries. The detection is achieved using a combination of compiler-added instrumentation and runtime techniques, including function interception and replacement.
The LLVM Address Sanitizer provides a process that allows developers to detect runtime addressing errors in applications and libraries. The detection is achieved using a combination of compiler-added instrumentation and runtime techniques, including function interception and replacement.
Until now, the LLVM Address Sanitizer process was only available for traditional purely CPU applications. However, ROCm has extended this mechanism to additionally allow the detection of some addressing errors on the GPU in heterogeneous applications. Ideally, developers should treat heterogeneous HIP and OpenMP applications like pure CPU applications. However, this simplicity has not been achieved yet.
Until now, the LLVM Address Sanitizer process was only available for traditional purely CPU applications. However, ROCm has extended this mechanism to additionally allow the detection of some addressing errors on the GPU in heterogeneous applications. Ideally, developers should treat heterogeneous HIP and OpenMP applications exactly like pure CPU applications. However, this simplicity has not been achieved yet.
This document provides documentation on using ROCm Address Sanitizer.
For information about LLVM Address Sanitizer, see [the LLVM documentation](https://clang.llvm.org/docs/AddressSanitizer.html).
**Note**: The beta release of LLVM Address Sanitizer for ROCm is currently tested and validated on Ubuntu 20.04.
### Compiling for Address Sanitizer
### Compile for Address Sanitizer
The address sanitizer process begins by compiling the application of interest with the address sanitizer instrumentation.
@@ -35,19 +33,9 @@ There are a few options if the compile time becomes unacceptable:
+ Add the option `-fsanitize-recover=address` to the compiles with the worst compile times. This option simplifies the added instrumentation resulting in faster compilation. See below for more information.
+ Disable instrumentation on a per-function basis by adding `__attribute__`((no_sanitize("address"))) to functions found to be responsible for the large compile time. Again, this will reduce the effectiveness of the process.
### Installing ROCm GPU Address Sanitizer Packages
### Use AMD Supplied Address Sanitizer Instrumented Libraries
For a complete ROCm GPU Sanitizer installation, including packages, instrumented HSA and HIP runtimes, tools, and math libraries, use the following instruction,
```bash
sudo apt-get install rocm-ml-sdk-asan
```
### Using AMD Supplied Address Sanitizer Instrumented Libraries
ROCm releases have optional packages containing additional address sanitizer instrumented builds of the ROCm libraries usually found in `/opt/rocm-<version>/lib`. The instrumented libraries have identical names as the regular uninstrumented libraries and are located in `/opt/rocm-<version>/lib/asan`.
These additional libraries are built using the `amdclang++` and `hipcc` compilers, while some uninstrumented libraries are built with g++. The preexisting build options are used, but, as descibed above, additional options are used: `-fsanitize=address`, `-shared-libsan` and `-g`.
ROCm releases provide optional packages containing address sanitizer instrumented builds of a subset of those ROCm libraries usually found in `/opt/rocm-<version>/lib`. These optional packages are typically named <library>-asan. However, the instrumented libraries themselves have identical names as the regular uninstrumented libraries and are located in `/opt/rocm-<version>/lib/asan`. It is expected that the subset of address sanitizer instrumented ROCm libraries will be expanded in future releases. They are built using the `amdclang++` and `hipcc` compilers, while some uninstrumented libraries are built with g++. The preexisting build options are used, but, as described above, additional options are used: `-fsanitize=address`, `-shared-libsan` and `-g`.
These additional libraries avoid additional developer effort to locate repositories, identify the correct branch, check out the correct tags, and other efforts needed to build the libraries from the source. And they extend the ability of the process to detect addressing errors into the ROCm libraries themselves.
@@ -224,11 +212,7 @@ $ rocgdb <path to application>
(gdb) c
```
### Using Address Sanitizer with a Short HIP Application
Refer to the following example to use address sanitizer with a short HIP application,
https://github.com/Rmalavally/rocm-examples/blob/Rmalavally-patch-1/LLVM_ASAN/Using-Address-Sanitizer-with-a-Short-HIP-Application.md
### Using Address Sanitizer with a Short HIP Application (LINK NEEDED HERE)
### Known Issues with Using GPU Sanitizer

View File

@@ -17,16 +17,16 @@
- Run this for 5.6.0 (change for whatever version you require)
- `GITHUB_ACCESS_TOKEN=my_token_here`
To generate the changelog from 5.0.0 up to and including 5.7.1:
To generate the changelog from 5.0.0 up to and including 5.6.0:
```sh
python3 tag_script.py -t $GITHUB_ACCESS_TOKEN --no-release --no-pulls --do-previous --compile_file ../../CHANGELOG.md --branch release/rocm-rel-5.7 5.7.1
python3 tag_script.py -t $GITHUB_ACCESS_TOKEN --no-release --no-pulls --do-previous --compile_file ../../CHANGELOG.md --branch release/rocm-rel-5.6 5.6.0
```
To generate the changelog only for 5.7.1:
To generate the changelog only for 5.6.0:
```sh
python3 tag_script.py -t $GITHUB_ACCESS_TOKEN --no-release --no-pulls --compile_file ../../CHANGELOG.md --branch release/rocm-rel-5.7 5.7.1
python3 tag_script.py -t $GITHUB_ACCESS_TOKEN --no-release --no-pulls --compile_file ../../CHANGELOG.md --branch release/rocm-rel-5.6 5.6.0
```
### Notes

View File

@@ -1,36 +0,0 @@
<!-- markdownlint-disable first-line-h1 -->
<!-- markdownlint-disable no-duplicate-header -->
### What's New in This Release
#### Installing all GPU Address sanitizer packages with a single command
ROCm 5.7.1 simplifies the installation steps for the optional Address Sanitizer (ASan) packages. This release provides the meta package *rocm-ml-sdk-asan* for ease of ASan installation. The following command can be used to install all ASan packages rather than installing each package separately,
sudo apt-get install rocm-ml-sdk-asan
For more detailed information about using the GPU AddressSanitizer, refer to the [user guide](https://rocm.docs.amd.com/en/docs-5.7.1/understand/using_gpu_sanitizer.html)
### ROCm Libraries
#### rocBLAS
A new functionality rocblas-gemm-tune and an environment variable ROCBLAS_TENSILE_GEMM_OVERRIDE_PATH are added to rocBLAS in the ROCm 5.7.1 release.
*rocblas-gemm-tune* is used to find the best-performing GEMM kernel for each GEMM problem set. It has a command line interface, which mimics the --yaml input used by rocblas-bench. To generate the expected --yaml input, profile logging can be used, by setting the environment variable ROCBLAS_LAYER4.
For more information on rocBLAS logging, see Logging in rocBLAS, in the [API Reference Guide](https://rocm.docs.amd.com/projects/rocBLAS/en/docs-5.7.1/API_Reference_Guide.html#logging-in-rocblas).
An example input file: Expected output (note selected GEMM idx may differ): Where the far right values (solution_index) are the indices of the best-performing kernels for those GEMMs in the rocBLAS kernel library. These indices can be directly used in future GEMM calls. See rocBLAS/samples/example_user_driven_tuning.cpp for sample code of directly using kernels via their indices.
If the output is stored in a file, the results can be used to override default kernel selection with the kernels found, by setting the environment variable ROCBLAS_TENSILE_GEMM_OVERRIDE_PATH, where points to the stored file.
For more details, refer to the [rocBLAS Programmer's Guide.](https://rocm.docs.amd.com/projects/rocBLAS/en/latest/Programmers_Guide.html#rocblas-gemm-tune)
#### HIP 5.7.1 (for ROCm 5.7.1)
ROCm 5.7.1 is a point release with several bug fixes in the HIP runtime.
### Fixed defects
The *hipPointerGetAttributes* API returns the correct HIP memory type as *hipMemoryTypeManaged* for managed memory.