RADV Driver Sees Dramatic Improvement To Reduce CPU Overhead For Draw Calls

Written by Michael Larabel in Radeon on 14 September 2022 at 02:46 PM EDT. 29 Comments
RADEON
Mike Blumenkrantz has been working under contract for Valve on the open-source Zink OpenGL-on-Vulkan implementation for Mesa but that work has carried over into the Mesa Vulkan drivers too where there is common overlap. His recent work has been focused on lowering the CPU overhead of some operations with the RADV Vulkan driver.

As noted recently he's been working on vkoverhead as a Vulkan overhead benchmark. From there he noticed that the RADV driver was slower than the AMDGPU-PRO driver for the very basic "draw" test. For that most basic Vulkan test, RADV was only achieving around 28.3 million draws per second while AMDGPU-PRO was getting around 32.8 million draws per second.

Well, with profiling the RADV execution for this very simple Vulkan test and finding the bottlenecks to address, he ended his little adventure hitting 44 million draws per second on RADV! Yes, a 55% increase in the RADV draw throughput compared to the current RADV code in mainline Mesa and around a 30% lead over the AMDGPU-PRO proprietary Vulkan driver from AMD.

This merge request is pending for Mesa 22.3 to reduce the CPU overhead and achieve this mighty improvement. It took 20 patches touching just around 200 lines of RADV driver code for this latest optimization work from Blumenkrantz.


Mike Blumenkrantz posted another creative blog entry today outlining his draw overhead optimization crusade.


He didn't comment though in his blog post if/what sort of improvement this translates to for any real-world Vulkan workloads / Linux gaming. In any event, a nice boost to RADV performance for the basic draw throughput.
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