AMD Adds Native Object Code Support To Clover/Radeon: Big Performance Win

Written by Michael Larabel in Radeon on 6 October 2014 at 07:20 PM EDT. 17 Comments
Tom Stellard announced his latest OpenCL-related improvements to the open-source Radeon Linux graphics driver.

Announced this afternoon by Tom Stellard are patches that add support to Gallium3D's Clover -- the OpenCL state tracker -- for compiling compute kernels into native object code. These native object code binaries from Clover are then accepted by the R600g and RadeonSI Gallium3D drivers.

Tom Stellard, the GSoC student developer turned AMD employee, explained, "This change significantly reduces the number of compiles that the drivers need to do. Since the OpenCL programs can now be stored in native format by clover, the drivers no longer needs to recompile them every time the compute state changes."

For an example of the significance of this set of 10 patches, it changes the time of running Piglit's OpenCL tests on the RadeonSI Gallium3D driver from over 23 minutes to just over 3 minutes!

This sounds terrific and will be a welcomed addition to Mesa 10.4. The only minor, temporary downside to this code is that it's dependent upon LLVM 3.5.1 or newer -- a bit of a high requirement for those Linux distributions not yet liberally packaging the latest LLVM code. The patches for now are residing on the Mesa-dev list.

The open-source Radeon Gallium3D GPGPU stack is finally getting into good shape ahead of open-source HSA coming about on Linux.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of 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 automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week