1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

Linux Kernel Still Picking Up AVX Optimizations

Linux Kernel

Published on 19 December 2012 01:04 AM EST
Written by Michael Larabel in Linux Kernel
2 Comments

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.

Latest Linux Hardware Reviews
  1. 13-Way Low-End GPU Comparison With AMD's AM1 Athlon
  2. ASUS AM1I-A: A Mini-ITX Board For Socketed Kabini APUs
  3. Mini-Box M350: A Simple, Affordable Mini-ITX Case
  4. Overclocking The AMD AM1 Athlon & Sempron APUs
Latest Linux Articles
  1. Ubuntu 12.04.4 vs. 13.10 vs. 14.04 LTS Desktop Benchmarks
  2. AMD OpenCL Performance With AM1 Kabini APUs
  3. A Quick Look At GCC 4.9 vs. LLVM Clang 3.5
  4. Are AMD Athlon/Sempron APUs Fast Enough For Steam On Linux?
Latest Linux News
  1. Wine 1.7.17 Works On Its Task Scheduler, C Run-Time
  2. The Improv ARM Board Still Isn't Shipping; Riding A Dead Horse?
  3. Debian To Maintain 6.0 Squeeze As An LTS Release
  4. Wasteland 2 Is Finally Released For Linux Gamers
  5. FreeBSD Advances For ARM, Bhyve, Clang
  6. Ubuntu 14.04 LTS "Trusty Tahr" Officially Released
  7. Ubuntu 12.04 LTS vs. 14.04 LTS Server Benchmarks
  8. QEMU 2.0 Released With ARM, x86 Enhancements
  9. Running The Unity 8 Preview Session On Ubuntu 14.04 LTS
  10. R600 Gallium3D Disables LLVM Back-End By Default
  11. Fedora 21 Gets GNOME 3.12, PHP 5.6, Mono 3.4
  12. Fedora Workstation Is Making Me Quite Excited
Latest Forum Discussions
  1. Suggestions about how to make a Radeon HD 7790 work decently?
  2. The GNOME Foundation Is Running Short On Money
  3. Updated and Optimized Ubuntu Free Graphics Drivers
  4. Radeon 8000M problematic on Linux?
  5. Linux Kernel Developers Fed Up With Ridiculous Bugs In Systemd
  6. After Jack Keane, RuseSoft will briing Ankh 3 to Linux through Desura
  7. Suspected PHP Proxy Issue
  8. Change installation destination from home directory