Linux Kernel Still Picking Up AVX Optimizations

Written by Michael Larabel in Linux Kernel on 19 December 2012 at 01:04 AM EST. 2 Comments
LINUX KERNEL
Advanced Vector Extensions (AVX) have been present in Intel and AMD hardware since last year with Sandy Bridge and Bulldozer processors, respectively, but their use isn't too very widespread at this point. Fortunately, the Linux kernel has been receiving some AVX1/AVX2 optimizations.

The AVX instruction set extensions are designed to better floating-point-intensive applications, increased parallelism for floating-point SIMD calculations, and reduce register loads in certain conditions (You can find additional information via Wikipedia). The Linux kernel has had basic AVX support going back to 2009, but it hasn't been until recently that there's been more AVX-optimized functions appearing within the kernel.

Already for the Linux 3.8 kernel merge window there were the Intel cryptography performance improvements. Intel added an AVX implementation for the Camellia cipher along with AVX optimizations for CAST5/CAST6/Serpent/Twofish. That's not all but today in a different part of the kernel there's now some AVX2 optimizations.

Sandy Bridge CPUs with AVX1 support are nearly two years old while just a few months out is Advanced Vector Extensions 2 (AVX2). AVX2 builds upon AVX1 by making most integer instructions 256-bit, three-operand bit manipulation and multiply, Gather support, vector shifts, and other new features.

The AVX2 work today comes via the MD layer pull that provides AVX2-optimized functions for RAID6 calculations with disks. The commits are "lib/raid6: Add AVX2 optimized gen_syndrome functions" and "lib/raid6: Add AVX2 optimized recovery functions."

Let's hope other prominent open-source projects also continue to pick-up support for these newer CPU instruction set extensions to enhance Linux performance.
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