Mesa3D Project’s LLVMpipe Driver Introduces AVX-512 In AMD’s Zen 4 CPUs

Mesa3D Project's LLVMpipe Driver Introduces AVX-512 In AMD's Zen 4 CPUs `

Yonggang Luo, an independent contributor to the Mesa3D graphics project, has begun work to enable AVX-512 support for the LLVMpipe implementation. The reason the Mesa contributor took it upon themselves to add support to the Mesa3D graphics pipeline is to allow AVX-512 to be utilized within the new AMD Ryzen 7950X processors and the remainder of the 7000 series.

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.

Related StoryHassan Mujtaba
Microcenter Is Giving Away A Free 32 GB DDR5 EXPO Memory Kit & $20 US Off on Each AMD Ryzen 7000 CPU Purchase

"As AVX512 can be a thing with Ryzen 7950x, so I'd like to enable it in llvmpipe[...]"

— Yonggang Luo in the newest merge request for the LLVMpipe driver in Mesa3D

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.

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

WccfTech Tv
Subscribe
Filter videos by
Order