AMD has released a new version of the Radeon Open Compute Linux stack for AMD graphics cards.
ROCm is designed to be a universal platform for gpu-accelerated computing. This modular design allows hardware vendors to build drivers that support the ROCm framework. ROCm is also designed to integrate multiple programming languages and makes it easy to add support for other languages.
Note: You can also clone the source code for individual ROCm components from the GitHub repositories.
ROCm Components
The following components for the ROCm platform are released and available for the v2.10 release:
• Drivers
• Tools
• Libraries
• Source Code
You can access the latest supported version of drivers, tools, libraries, and source code for the ROCm platform at the following location: https://github.com/RadeonOpenCompute/ROCm
Supported Operating Systems
The AMD ROCm platform is designed to support the following operating systems:
Ubuntu 20.04.1 (5.4 and 5.6-oem) and 18.04.5 (Kernel 5.4)
CentOS 7.8 & RHEL 7.8 (Kernel 3.10.0-1127) (Using devtoolset-7 runtime support)
CentOS 8.2 & RHEL 8.2 (Kernel 4.18.0 ) (devtoolset is not required)
SLES 15 SP2
Whats New in This Release
ROCm Compiler Enhancements
The ROCm compiler support in the llvm-amdgpu-12.0.dev-amd64.deb package is enhanced to include support for OpenMP. To utilize this support, the additional package openmp-extras_12.9-0_amd64.deb is required.
Note, by default, both packages are installed during the ROCm v3.9 installation. For information about ROCm installation, refer to the ROCm Installation Guide.
AMD ROCm supports the following compilers:
- C++ compiler - Clang++
- C compiler - Clang
- Flang - FORTRAN compiler (FORTRAN 2003 standard)
NOTE : All of the above-mentioned compilers support:
- OpenMP standard 4.5 and an evolving subset of the OpenMP 5.0 standard
- OpenMP computational offloading to the AMD GPUs
For more information about AMD ROCm compilers, see the Compiler Documentation section at,
https://rocmdocs.amd.com/en/latest/index.html
Auxiliary Package Supporting OpenMP
The openmp-extras_12.9-0_amd64.deb auxiliary package supports OpenMP within the ROCm compiler. It contains OpenMP specific header files, which are installed in /opt/rocm/llvm/include as well as runtime libraries, fortran runtime libraries, and device bitcode files in /opt/rocm/llvm/lib. The auxiliary package also consists of examples in the /opt/rocm/llvm/examples folder.
NOTE: The optional AOMP package resides in /opt/rocm//aomp/bin/clang and the ROCm compiler, which supports OpenMP for AMDGPU, is located in /opt/rocm/llvm/bin/clang.
AOMP Optional Package Deprecation
Before the AMD ROCm v3.9 release, the optional AOMP package provided support for OpenMP. While AOMP is available in this release, the optional package may be deprecated from ROCm in the future. It is recommended you transition to the ROCm compiler or AOMP standalone releases for OpenMP support.
Understanding ROCm Compiler OpenMP Support and AOMP OpenMP Support
The AOMP OpenMP support in ROCm v3.9 is based on the standalone AOMP v11.9-0, with LLVM v11 as the underlying system. However, the ROCm compiler's OpenMP support is based on LLVM v12 (upstream).
NOTE: Do not combine the object files from the two LLVM implementations. You must rebuild the application in its entirety using either the AOMP OpenMP or the ROCm OpenMP implementation.
Download ROCm 3.9.0
Release Notes