AMD today released Radeon Open eCosystem 4.5 (ROCm 4.5) as the latest version of its open source GPU compute stack for Linux systems. ROCm 4.5 brings a number of new features and improvements, but a mainstream Radeon side domain will leave some potential users frustrated.
First, regarding the installation of ROCm 4.5, they added support for using the amdgpu-install / amdgpu-uninstall scripts, just like the packaged Radeon Software for Linux driver. The amdgpu-install based process aims to streamline the Radeon Open Compute installation process and make it the same as installing the supplied driver driver. It also makes it easier to uninstall.
The ROCm 4.5 installation based on the amdgpu installation supports OpenCL, HIP runtimes, ROCm libraries, ROCm applications, ROCm compiler and device libraries, as well as ROCr runtime and thunk. Existing distribution-specific sources and packaging also remain available for ROCm 4.5.
One of the major feature additions in ROCm 4.5 is support for unified memory through Heterogeneous Memory Management (HMM). Unified memory allows applications to map and migrate data between CPU and GPU without the need for 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 that it is apparently in good shape.
By default, ROCm 4.5 uses a new “Dispatch direct” HIP model to avoid the conventional producer-consumer behavior where orders are queued in a command queue and then processed separately with a worker thread by flux. With HIP Direct Dispatch, the runtime environment directly queues a packet from the user mode queue to the GPU.
ROCm 4.5 also offers extended HIP Graph support, HIP runtime complication (hipRTC) support for the possibility of more optimizations over static offline compilation, the “–setpoweroverdrive” ROCm SMI can be used to simply lower the GPU power cap without enabling all OverDrive features, better OpenMP support, and other changes.
All in all, Radeon ROCm 4.5 is another good update and works to make this open source compute stack a very viable alternative to the closed world of NVIDIA CUDA. Official ROCm support is currently reserved for GFX9 / Vega and MI100 CDNA GPUs. There remains unofficial support for the GFX8 / Polaris and GFX7 / Hawaii GPUs.
The frustrating thing is still not supporting RDNA / RDNA2 “Navi” graphics processors. AMD has consistently stated that they are working on enabling RDNA / RDNA2 GPUs for ROCm, but this is clearly not a priority for them as they are working on feature development to make ROCm compete with CUDA and ensure that their Instinct accelerators are poised to win in supercomputing. / HPC space. I haven’t seen any public indication when they intend to have RDNA (2) support in place for ROCm but unfortunate for developers who might want to experiment with AMD’s open source compute stack but are missing necessary material. This is an area where NVIDIA CUDA is in much stronger shape with its wide range of supported graphics processors.
AMD ROCm 4.5 can be downloaded from GitHub.