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

Intel Is Nearing OpenMP Support In LLVM/Clang

Compiler

Published on 06 May 2013 07:51 PM EDT
Written by Michael Larabel in Compiler
7 Comments

At the recent European LLVM meeting in Paris, Andrey Bokhanko and Alexey Bataev of Intel covered their work on supporting OpenMP within LLVM.

LLVM's lack of OpenMP support for multi-processing is what's made the Clang compiler not too suitable at the moment for some multi-threaded benchmarks, as Phoronix tests so frequently show. For years now there's been efforts to support OpenMP in LLVM/Clang, but nothing that's yet been merged to mainline.

In 2012, work on OpenMP in LLVM heated up but still with the forthcoming LLVM 3.3 release there is not full support for Open Multi-Processing.

In the Intel OpenMP LLVM presentation from France, the state and current work was covered. The slides can be found here (PDF slides).

Intel's efforts build upon earlier work done by AMD in supporting OpenMP and the Clang compiler can generate OpenMP RTL calls without changes to the LLVM IR. The GCC compiler uses libgomp as its OpenMP library but with that being GPLv3 and is incompatible with LLVM's more permissive BSD-style license, Intel stepped up to the place. Released in April was the Intel OpenMP runtime that is under a three-clause BSD license. Intel's OpenMP runtime that they put out under the BSD license is their production runtime used by the ICC compiler and Ifort. This Intel OpenMP runtime has been in development since before OpenMP was officially conceived and has proven to be highly-scalable.

What's been implemented and committed so far when it comes to the LLVM/Clang OpenMP support is handling the -fopenmp compiler switch, supporting the #pragma omp threadprimitive, and parsing and semantic analysis with AST representation. There's code currently under review for supporting all OpenMP pragmas while still under development is code generation support for OpenMP constructs.

While no time-line was shared in regards to mainline OpenMP LLVM/Clang support, hopefully with the current pace of activity, that there will be some functioning support prior to year's end.

Latest Linux Hardware Reviews
  1. Mini-Box M350: A Simple, Affordable Mini-ITX Case
  2. Overclocking The AMD AM1 Athlon & Sempron APUs
  3. AMD Athlon 5350 / 5150 & Sempron 3850 / 2650
  4. Upgraded Kernel & Mesa Yield A Big Boost For Athlon R3 Graphics
Latest Linux Articles
  1. AMD OpenCL Performance With AM1 Kabini APUs
  2. A Quick Look At GCC 4.9 vs. LLVM Clang 3.5
  3. Are AMD Athlon/Sempron APUs Fast Enough For Steam On Linux?
  4. AMD Athlon's R3 Graphics: RadeonSI Gallium3D vs. Catalyst
Latest Linux News
  1. R600 Gallium3D Disables LLVM Back-End By Default
  2. Fedora 21 Gets GNOME 3.12, PHP 5.6, Mono 3.4
  3. Fedora Workstation Is Making Me Quite Excited
  4. Maynard: A Lightweight Wayland Desktop
  5. Chromium Browser Going Through Growing Pains In Ubuntu 14.04
  6. KDE 4.13 Is Being Released Today With New Features
  7. Trying Out Radeon R9 290 Graphics On Open-Source
  8. Intel Broadwell GT3 Graphics Have Dual BSD Rings
  9. Early Linux 3.15 Benchmarks Of Intel Core i7 + Radeon
  10. Red Hat Releases Its RHEL 7 Release Candidate
  11. New Features Coming To Xubuntu 14.04 LTS
  12. NVIDIA Officially Releases CUDA 6
Latest Forum Discussions
  1. Linux Kernel Developers Fed Up With Ridiculous Bugs In Systemd
  2. After Jack Keane, RuseSoft will briing Ankh 3 to Linux through Desura
  3. Change installation destination from home directory
  4. Updated and Optimized Ubuntu Free Graphics Drivers
  5. The GNOME Foundation Is Running Short On Money
  6. Bye bye BSD, Hello Linux: A Sys Admin's Story
  7. New tool for undervolt/overclock AMD K8L and K10 processors
  8. How to enable opengl 3.3 on r9 270?