AMD Will Continue Maintaining Multiple Compute Stacks For Linux

Written by Michael Larabel in Radeon on 17 May 2018 at 06:19 AM EDT. 40 Comments
RADEON
With the great shape that ROCm has been getting into recently for open-source Radeon GPU compute support on Linux including advancing OpenCL support, one might have rightfully assumed that was going to be their centralized compute stack moving forward. It turns out that their PAL-based compute stack will continue to be maintained too.

AMD's longtime Linux/open-source guru John Bridgman and frequent Phoronix Forums contributor recently was commenting in this thread about the Radeon Linux compute support. Among the interesting takeaways:

- For those not familiar with the ROCm vs. PAL stack differences, here's how John sums it up, "ROCm is our compute-focused stack, using hardware features initially developed for HSA then extended to mid-high end dGPUs. PAL is a more conventional graphics/compute stack, with command submission via ioctl to the kernel DRM driver."

- Given that and the hardware differences, while ROCm has been making great progress recently especially with mainline kernel dGPU support, it's not going to be used by all future hardware. "PAL will be implemented on all new hardware, integrated or discrete, large or small, while ROCm will be implemented mostly on the larger parts."

- But the older "Orca" OpenCL driver will likely be dropped moving forward. This is the older OpenCL driver long used by AMDGPU-PRO/fglrx. "OpenCL for all of the new chips will be using PAL rather than Orca so eventually PAL will completely replace Orca for sure. Shorter term plans are still being worked out, but the fact that we already have an open source implementation of PAL in AMDVLK is an attractive argument for broader use of PAL."

- ROCm generally can be faster than the PAL-based driver, "Quick answer is that the ROCm stack can run a bit faster (since it makes use of HSA hardware features) but the PAL stack can run on all our hardware, not just parts explicitly designed with full HSA/ROCm hardware support. In general you will see the ROCm paths tested more heavily on ROCm stack releases while testing for the amdgpu/pro packaged releases will focus on PAL paths."

See the aforelinked thread for more interesting discussion and commentary. The Portable Abstraction Layer (PAL) code is open-source as part of the AMDVLK project.
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