RadeonSI Switches To Make Greater Wave64 Use On Navi

Written by Michael Larabel in Radeon on 1 July 2020 at 07:11 AM EDT. 8 Comments
RADEON
While RDNA/Navi brought Wave32 support, the open-source RadeonSI Gallium3D driver for Linux has decided to switch to make greater use now of Wave64 for more shaders.

Well known AMD open-source developer Marek Olšák wrote:
ac,radeonsi: use Wave64 for HS/GS/VS, gpu_info fix

As said in the commit, Wave64 is probably better, because:

- greater chance of L0 cache hits, because more threads are assigned to the same CU
- scalar instructions are only executed once for 64 threads instead of twice
- VGPR allocation granularity is half of Wave32, so 1 Wave64 can sometimes use fewer VGPRs than 2 Wave32
- TessMark X64 with NGG culling is faster with Wave64

The change to use Wave64 for more shader stages was merged this week for Mesa 20.2. The commit does add the new "nggctess" perf flag for always using NGG culling for tessellation, complementing the existing nggc (for always using NGG culling) and nonggc for disabling NGG culling.
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