Linux Kernel Still Picking Up AVX Optimizations

Posted by Michael Larabel on December 19, 2012

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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. The Cost Of Ubuntu Disk Encryption
  2. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  3. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  4. F2FS File-System Shows Regressions On Linux 3.10
Latest Linux News
  1. Mageia 3 Released, Still Using Legacy GRUB
  2. NetBSD 6.1 Brings In More Features
  3. Using Six Monitors With AMD's Open-Source Linux Driver
  4. Benchmarking The Intel P-State, CPUfreq Changes
  5. FreeBSD Still Working On Next-Gen Package Manager
  6. DNF Still Advancing As Experimental Yum For Fedora
  7. Logitech Begins Supporting Linux Users
  8. Modern Intel Gallium3D Driver Still Being Toyed With
  9. Linux 3.10 Kernel Benchmarks On A Core i7 Laptop
  10. GCC 4.8.1 Compiler Due To Be Out Next Week
  11. Linux 3.10 Kernel Benchmarks For Intel Ivy Bridge
Latest Forum Talk
  1. Logitech supports linux!
  2. A New Set Of OpenGL Benchmarks Come To...
  3. Mageia 3 Released, Still Using Legacy GRUB
  4. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  5. Using Six Monitors With AMD's Open-Source Linux...
  6. The Cost Of Ubuntu Disk Encryption
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite