The ACO Radeon Compiler Alternative To AMDGPU LLVM Looks Good But Work Isn't Done Yet

Written by Michael Larabel in Radeon on 4 October 2019 at 09:46 AM EDT. 7 Comments
RADEON
In addition to Intel announcing their work on the new "IBC" compiler back-end for their OpenGL/Vulkan drivers, the developers working on the Radeon "ACO" in cooperation with Valve were presenting the latest work on their compiler back-end at this week's XDC 2019 event in Canada.

For those that missed it, this Valve-funded ACO shader compiler landed in Mesa 19.3-devel last month after being announced earlier in the year. This compiler back-end is an alternative to the existing AMDGPU LLVM compiler back-end used currently by both the OpenGL and Vulkan drivers. ACO is focused on better gaming performance and also quicker shader compile times over LLVM. So far though ACO has just been plumbed into RADV and not the AMDVLK driver or RadeonSI OpenGL.

ACO isn't the default on Mesa 19.3-devel and the developers at XDC 2019 made it clear more work is still pending. They have GFX10/Navi support being worked on but for now only Polaris/GFX8 and Vega/GFX9 hardware fully supports ACO. ACO is working with vertex, fragment, and compute shaders and all of the same extensions as the RADV driver with LLVM except for supporting sub-32-bit data types for now.

There is also still more optimizations possible with ACO that have yet to be tapped. But already their latest numbers show performance improvements ranging from a couple percent in games like Talos Principle and Rise of the Tomb Raider to over 20% better performance in Doom running under Steam Play. The average improvement is just over 5% better. (And, yes, I'll be having some fresh ACO benchmarks out in the next few days.)

Those wishing to learn more about the ACO back-end can see the PDF slide deck from the XDC2019 presentation by Bas Nieuwenhuizen and Daniel Schürmann.
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