Gallium3D's Gallivm Gets Basic AVX2 Support
José Fonseca of VMware has added basic support for AVX2 to Gallivm, the driver-independent portion of LLVM integration with Gallium3D.
Gallivm is notably used by the LLVMpipe Gallium3D driver for LLVM-accelerated execution of OpenGL on CPUs. With the latest Git, Gallivm has basic support for Advanced Vector Extensions 2 (AVX2). AVX2 has been supported on Intel CPUs since Haswell and on the AMD side with Carrizo and Zen. AVX2 expands support for most instructions to 256 bits, three-operand bit manipulation and multiply, gather support, vector shifts, and other additions over the original AVX extensions found since Intel Sandy Bridge and AMD Bulldozer CPUs.
There was this commit for making use of the greater instruction size along with this commit to make use of its gather instrinsics. It will be interesting to see if this latest work has any affect on performance for modern CPUs with LLVMpipe.
Gallivm is notably used by the LLVMpipe Gallium3D driver for LLVM-accelerated execution of OpenGL on CPUs. With the latest Git, Gallivm has basic support for Advanced Vector Extensions 2 (AVX2). AVX2 has been supported on Intel CPUs since Haswell and on the AMD side with Carrizo and Zen. AVX2 expands support for most instructions to 256 bits, three-operand bit manipulation and multiply, gather support, vector shifts, and other additions over the original AVX extensions found since Intel Sandy Bridge and AMD Bulldozer CPUs.
There was this commit for making use of the greater instruction size along with this commit to make use of its gather instrinsics. It will be interesting to see if this latest work has any affect on performance for modern CPUs with LLVMpipe.
15 Comments