Radeon ROCm 4.5 Released With HIP Runtime Compilation, Unified Memory Support

Written by Michael Larabel in Radeon on 1 November 2021 at 07:15 PM EDT. 58 Comments
AMD today released Radeon Open eCosystem 4.5 (ROCm 4.5) as the latest version to their open-source GPU compute stack for Linux systems. ROCm 4.5 brings with it a number of new features and improvements but one area on the consumer Radeon side will leave some potential users frustrated.

First up when it comes to installing ROCm 4.5, they have added support for using the amdgpu-install / amdgpu-uninstall scripts just like the Radeon Software for Linux packaged driver. The amdgpu-install-based process aims to streamline the Radeon Open Compute install process and make it just like installing the packaged driver driver. It also makes it easy to uninstall too.

The amdgpu-install based ROCm 4.5 installation supports OpenCL, HIP run-times, ROCm libraries, ROCm applications, the ROCm compiler and device libraries, and the ROCr run-time and thunk. The sources and existing distribution-specific packaging also remain available for ROCm 4.5.

One of the big feature additions in ROCm 4.5 is Unified Memory Support by way of Heterogeneous Memory Management (HMM). The unified memory lets applications map and migrate data between the CPU and GPU without needing explicit copies. The HMM / Unified Memory Support work has been a long time coming especially with the HMM kernel-side changes over the years, so good to see with ROCm 4.5 it apparently being in good shape.

By default ROCm 4.5 uses a new HIP "Direct Dispatch" model to avoid the conventional producer-consumer behavior where commands are enqueued to a command queue and then processed separately with a per-stream worker thread. With HIP Direct Dispatch, the run-time directly queues a packet from the user-mode queue to the GPU.

ROCm 4.5 also features extended support for HIP Graph, support for HIP run-time complication (hipRTC) for the possibility of more optimizations compared to offline static compilation, ROCm SMI's "--setpoweroverdrive" can be used for just lowering the GPU's power cap without enabling all OverDrive functionality, better OpenMP support, and other changes.

Overall, Radeon ROCm 4.5 is another good update and working to make this open-source compute stack a very viable alternative to the closed NVIDIA CUDA world. The official support for ROCm is currently just for GFX9/Vega and MI100 CDNA GPUs. There remains unofficial support for GFX8/Polaris and GFX7/Hawaii GPUs.

The frustrating element is still not having any support for "Navi" RDNA/RDNA2 graphics processors. AMD routinely has said they are working on enabling RDNA/RDNA2 graphics processors for ROCm but is clearly not a priority for them as they work on feature development for ROCm to compete with CUDA and ensuring their Instinct accelerators are primed for winning in the super-computing/HPC space. I have not seen any public indication when they intend to have RDNA(2) support in place for ROCm but unfortunate for those developers that may want to experiment with AMD's open-source compute stack but lacking the necessary hardware. This is an area where NVIDIA CUDA is in much stronger shape with their wide range of supported graphics processors.

AMD ROCm 4.5 can be downloaded from GitHub.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week