RadeonSI Gallium3D Driver Wires Up Wave32 Improvements For RDNA GPUs

Written by Michael Larabel in Radeon on 13 December 2021 at 03:00 AM EST. Add A Comment
RADEON
AMD's "RDNA" class GPUs support wavefront sizes of 32 and 64 compared to older GCN GPUs at 64 threads. Going back to 2019 RadeonSI began making use of Wave32 for some shaders but now for Mesa 22.0 next quarter there are greater Wave32 improvements that have landed.

Well known open-source AMD OpenGL driver expert Marek Olšák has now landed the merge request, radeonsi: add Wave32 and primitive binning heuristics and shader profiles, stronger loop unrolling. In there is support for unrolling loops of up to roughly 128 iterations that helps the performance in some scenarios (like SPECViewPerf13), various NIR improvements, and then the Wave32 heuristics and shader profiles.

With that merge is a new RadeonSI debug option of "w32psdiscard" for Wave32 discard in expanded use-cases. The option reads, "Use Wave32 for pixel shaders even if they contain discard and LLVM is buggy."

Long story short, these Wave32 additions should help with better performance in some areas on AMD Radeon RDNA-class GPUs. Fortunately, it's time for our year-end graphics driver benchmark comparisons, so we'll see how things are shaking.

More details in this MR now part of Mesa 22.0-devel.
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