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

Compilers Mature For Intel Sandy/Ivy Bridge, Prep For Haswell

Michael Larabel

Published on 27 January 2012
Written by Michael Larabel
Page 1 of 7 - 1 Comment

The leading open-source code compilers -- namely the GNU Compiler Collection (GCC) and LLVM/Clang -- now have maturing support for Intel's Sandy Bridge microarchitecture with further optimizations for the forthcoming Ivy Bridge successor. With the current and next-generation Intel support covered, open-source compiler developers have already moved onto beginning work for supporting Intel's Haswell microarchitecture that will not be launched until 2013.

It's not only the Sandy Bridge graphics driver that has been maturing (it can even outperform the Mac OS X Intel driver for some OpenGL workloads), but the compiler support has been moving in parallel. GCC and LLVM/Clang have been the primary targets for compiler coverage with this latest and greatest Intel hardware, but other code compilers have been advancing too.

When it comes to GCC 4.6, which is the latest GNU Compiler Collection series and was released last March just two months after the Sandy Bridge launch, there was initial AVX support. GCC 4.6 brought support for the Sandy Bridge processors with the AVX support via the march/mtune "corei7-avx" options. Advanced Vector Extensions (AVX) made their debut with Sandy Bridge as an x86 instruction set extension and designed to benefit floating-point-intensive workloads, increase parallelism and performance with floating-point SIMD instructions, and reduce register load. GCC 4.6 was the first release to support the AVX extensions, which then made their debut with AMD hardware later in 2011 when Bulldozer was finally launched.

With GCC 4.6 being the current stable series for this de facto Linux compiler, it's currently found in Ubuntu 11.10, Fedora 16, and will be used in the upcoming Ubuntu 12.04 LTS release. AVX support within the Linux kernel-side was introduced in the Linux 2.6.30 release some time ago. To be released in March/April will be GCC 4.7 with better Sandy/Ivy Bridge support and preliminary support for Intel's architecture of 2013, Haswell.

GCC 4.7 has added in two additional AVX vector conversion instructions (exposed via the "-mf16c" option) and support for the Intel rdrnd instruction (via "-mrdrnd"). The Intel rdrand is an x86 instruction for returning random numbers from a random number generator built into the processor itself. The Ivy Bridge optimizations within GCC can be tapped via the "core-avx-i" model (there's an "-i" prefix compared to the Sandy Bridge "core-avx" mode) for the march/mtune options. This hardware random number generator, which is codenamed "Bull Mountain", is one of the new additions to the Intel Ivy Bridge CPUs that GCC 4.7 will support. The Ivy Bridge optimizations also add in FSGSBASE and F16C instruction support.

GCC 4.7 also adds in support for Intel AVX2. The Advanced Vector Extensions 2 intrinsics, built-in functions, and code generation is exposed via the "-mavx2" option. AVX2 is not an Ivy Bridge feature (it's still AVX1), but a feature of Intel's Haswell microarchitecture for a year later. AVX2 / Haswell New Instructions builds upon Advanced Vector Extensions by expanding most integer AVX instructions to 256-bit, gather support, vector shifts, 3-operate fused multi-accumulate support, and other additions.

Beyond AVX2, there is also support for FMA, BMI1, BMI2, and LZCNT instructions for Haswell, which are other instruction set introduces to be introduced in 2013 with Haswell. The Intel Haswell support within GCC is being exposed by "core-avx2" for march/mtune. It's really great to see the AVX2/BMI2 support already coming to the Free Software Foundation's compiler more than a year before the first hardware using it is set to ship, which is much better than the original AVX compiler support that arrived after the Sandy Bridge hardware was shipping. By the time Intel Haswell processors are shipping, GCC 4.7 should already be widespread. The first distribution set to deploy GCC 4.7 by default is the Fedora 17 "Beefy Miracle" release in May while Ubuntu 12.10 and other Linux distributions should begin adopting this major compiler update in H2'2012.

Besides the greater Sandy/Ivy Bridge and Haswell support, there are also many other improvements to be found in GCC 4.7, but those other features will be saved for another article. Now let's see where LLVM / Clang is at in supporting this exciting Intel hardware.

<< Previous Page
1
Latest Linux Hardware Reviews
  1. AMD Radeon R9 290: Gallium3D vs. Catalyst Drivers
  2. AMD Radeon R9 290 Open-Source Driver Works, But Has A Ways To Go
  3. Trying The Configurable 45 Watt TDP With AMD's A10-7800 / A6-7400K
  4. Sumo's Omni Gets Reloaded
Latest Linux Articles
  1. Preview: OS X 10.10 Yosemite vs. Ubuntu Linux GPU Performance
  2. Radeon Graphics Yield Mixed Results With Linux 3.17 Kernel
  3. AMD's RadeonSI Driver Sped Up A Lot This Summer
  4. Intel's Latest Linux Graphics Code Competes Against OS X 10.9
Latest Linux News
  1. Google Chrome 37 Brings Many Security Fixes
  2. MenuetOS Updated With SMP Threads & Onscreen Keyboard
  3. Mesa Has A New Release Manager
  4. Enlightenment E19 Lands Its New Wayland Compositor Code
  5. Nouveau Turns Into A Mess In Latest Linux 3.17 + Mesa 10.3-dev Tests
  6. New GCC 5.0 Changes, Command-Line Options That Landed So Far
  7. SteamOS Update 133 Has Better Intel Performance, VA-API
  8. DRM Graphics Changes For Linux 3.18 Might End Up Being Smaller
  9. Ioquake3 Works On Finally Switching Over To SDL2
  10. Linux 3.17-rc2 Release Celebrates 23 Years Of Linux
Latest Forum Discussions
  1. Updated and Optimized Ubuntu Free Graphics Drivers
  2. AMD Releases UVD Video Decode Support For R600 GPUs
  3. Announcing radeontop, a tool for viewing the GPU usage
  4. Users defect to Linux as OpenBSD removes Lynx from base system
  5. Chinese People Try To Patent Wine On ARM
  6. American Citizens running AMOK for food stamps
  7. "The World's Most Highly-Assured OS" Kernel Open-Sourced
  8. What Linux Distribution Should Be Benchmarked The Most?