AMD RADV “Radeon Vulkan” Driver receives enhancements to limit CPU overhead for draw calls, improving performance by 55%
Mike Blumenkrantz is a computer programmer whose work can be seen on EFL/Enlightenment, the browser “Servo,” protocol specifications for Wayland, Mesa drivers, and other various projects. Recently, he has worked for Valve (under a contractual obligation) to assist with the Zink OpenGL-on-Vulkan execution in Mesa. While his work has been focused on the Zink implementation, he has also assisted in helping to reduce CPU overhead operations within the RADV Vulkan driver. Recently, Blumenkrantz has been working on vkoverhead, utilizing the code as an overhead benchmark for Vulkan. While working on vkoverhead, he learned that the driver for RADV was running much slower than the AMDGPU-PRO driver during the “draw” testing. AMDGPU-PRO produced 32.8 million draws each second, while the RADV driver only produced 28.3 million. Once Blumenkrantz located and fixed the issues within the RADV implementation, he finally produced a 55% improvement in Mesa and a 30% percent improvement in Vulkan, bringing the draws per second in RADV to 44 million, surpassing AMD’s proprietary “AMDGPU-PRO” drivers. The merge request with the new fix is currently awaiting review in Mesa 22.3. Blumenkrantz published twenty patches and slightly under two hundred lines of code for AMD. Blumenkrantz also posted his discovery to his website, listing it under humorous imagery that he makes to create the best recipe for spaghetti. If the above image speaks to you, it is well worth the read. He breaks down the initial find and then takes the reader through every step of discovery, research, and solution to the problem. Along with this post, you can also find a fair amount of work or code he has contributed over the years. Blumenkrantz did not comment whether this will improve workloads in Vulkan or if it will show any significant improvements in gaming in Linux. Mesa 22.3 will release before the end of this year and will offer support for AMD and the company’s newest GPUs. AMD has worked around the clock to ensure as much code is prepped for implementation before the release of the RDNA 3 architecture. News Sources: Phoronix, Super Good Code, Freedesktop