A Nice Overview Of The ROCm Linux Compute Stack

Written by Michael Larabel in Radeon on 28 September 2018 at 11:55 AM EDT. 19 Comments
RADEON
It's easy to get confused by the Radeon GPU compute stack / OpenCL driver support as there has been multiple offerings over the years from the no longer supported Clover Gallium3D OpenCL driver to a still-maintained PAL-based OpenCL driver to their modern ROCm compute stack. When it comes to ROCm though, besides OpenCL there is also their HCC and HIP approaches and from there support for a variety of frameworks, libraries, etc. Here are some overviews of the current ROCm compute stack those interested.

Longtime AMD Linux engineer Felix Kuehling presented today during the XDC2018 conference in Spain about the ROCm stack and to quickly summarize this modern open-source GPU compute offering... ROCm has got into shape quite well including mainline support with discrete GPUs in recent versions, but still is quite a complex software stack and one that still isn't widely packaged by Linux distributions for easy usage by Radeon GPU Linux customers.


The mainline kernel bits live within the "AMDKFD" driver that as of the upcoming Linux 4.20~5.0 kernel cycle is now being merged into the AMDGPU module itself. While in user-space are the variety of ROCm components, but at least AMD nicely packages up these different bits for easy usage by RHEL and Ubuntu users. Hopefully in 2019 as this stack stabilizes we'll find it easier to utilize on other Linux distributions with less headaches.


While the recent Linux kernel releases are in good shape from the kernel side, Felix did point out that there are still a few features not yet upstreamed like peer-to-peer memory mappings (the ongoing HMM effort should help here), DMA-BUF import/export, GDB debugging support, and RDMA.


Besides ROCm supporting OpenCL, there is also the AMD HIP effort for converting NVIDIA CUDA code into portable C++ for execution on AMD GPUs. Their third programming model is HCC as a single-source C++ accelerator language.


Lastly is a look at the current machine learning software stack with the different options atop the ROCm platform.

There wasn't really anything else to the presentation as it was just a lightning talk, but the brief slide deck can also be downloaded from Google Drive if you want the PDF copy.
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