Benchmarking Valve's RADV+ACO Yields Fastest Open-Source Radeon Vulkan Driver
Last week Valve formally announced their new Radeon shader compiler for AMD's open-source Linux graphics drivers. At this stage it's an out-of-tree solution providing generally faster performance to the Mesa RADV Vulkan driver over the current AMDGPU LLVM shader compiler but they also have ambitions of wiring it up to the RadeonSI OpenGL driver once mature too, assuming AMD's developers are willing to make use of this new compiler code. For those wondering about the Vulkan performance, here are our independent benchmarks of the current Mesa 19.2 RADV performance with the LLVM shader compiler compared to Valve's new "ACO" compiler back-end and then also using AMD's official AMDVLK reference driver that is also leveraging LLVM.
This is our first of a series of benchmarks looking at the performance of the new Valve ACO shader compiler for Radeon Linux graphics. As outlined last week, Valve's open-source developers have been working on getting this code to provide the best code generation for game shaders and with the fastest possible compilation speeds in order to help game loading times. ACO is not based on LLVM and has been in development since last year.
At this stage ACO hasn't been merged to Mesa 19.2 but the developers are certainly working towards that goal in enabling it for RADV. Within Valve's code-base and for their PPA/AUR packages, the ACO back-end is enabled by default but can still fall-back to using the LLVM shader compiler.
In my testing of their Mesa ACO build using their Ubuntu 19.04 PPA, it was quite well on a Radeon RX Vega 64 and without any hangs or noticeable rendering problems at least for my benchmark-friendly games tested. Linux 5.1 was in use on this Ubuntu 19.04 + Core i9 9900K system.
Tests were done today just on the Radeon RX Vega 64 for comparing to the current stock RADV Mesa 19.2 performance and to AMDVLK 2019.Q3.1 as the official AMD open-source Vulkan driver. Tests on additional graphics cards will come in due course; it's obviously been hectic recently given the recent AMD Ryzen 3000 and Navi launches among the other daily benchmarking and news coverage on Phoronix all delivered by your's truly. Oh yeah, and all the Phoronix Test Suite related work on top. If you appreciate all that I work on for providing Linux/open-source coverage, consider showing your support by joining Phoronix Premium or making a PayPal tip.
Needless to say, this RADV ACO benchmarking ended up being quite interesting...