LLVMpipe driver for Mesa3D Project adds AVX-512 optimizations for the upcoming AMD Zen 4 architecture
Yonggang felt the implementation was necessary because AMD’s newest Ryzen 7000 Zen 4 processors could benefit from the latest performance. LLVMpipe is a unique Mesa OpenGL software execution that is utilized when the graphics card or GPU driver is not found by the computer system or is not on the system. Readers will remember that the LLVM is a collection of “compiler and toolchain technologies used to create a front end for any programming language and a back end for any instruction set architecture.” The LLVMpipe will allow the LLVM to utilize a particular set of extensions and produce more performance than other software executables, such as Softpipe and OpenGL. — Yonggang Luo in the newest merge request for the LLVMpipe driver in Mesa3D AVX-512 has seen the most use with Intel processors for several years. However, it is interesting to see LLVMpipe support the unreleased Ryzen 7000 series CPUs since it features an integrated RDNA 2 graphics integration and performs better than LLVMpipe. With AMD Zen 4 CPUs not released yet, it is unknown if AVX-512 will offer increased performance on the newer architecture. AVX-512 is utilized by a 256-bit pathway and not a 512-bit path. The newest merge request will alter the essential sections to enable AVX-512 in Gallium, where AVX-512 was not activated. This request will also include an environment variable called “GALLIUM_OVERRIDE_CPU_CAPS” to allow the CPU abilities to be overridden inside Softpipe and LLVMpipe. AVX, SSE, and several other features can be disabled or enabled after overriding the processor. Lastly, “LP_NATIVE_VECTOR_WIDTH” will allow for altering vector bits width to utilize AVX/AVX2/AVX-512 in LLVMpipe. News Sources: Phoronix, Freedesktop