OpenMP Support For LLVM/Clang Still Being Drawn

Posted by Michael Larabel on December 27, 2012

One of the features sadly not found in the recent release of LLVM/Clang 3.2 is OpenMP support.

While OpenMP is a very common cross-platform parallel programming interface and its usage is very common to open-source projects with works spanning from desktop applications to super-computer workloads, OpenMP support in LLVM/Clang has been notably missing. There's been OpenMP patches before, talk of how to best represent OpenMP in LLVM, and other attempts, but nothing that's fully materialized within mainline for handling this industry-standard for parallel programming.

This past January it looked like OpenMP was finally coming to LLVM/Clang, LLVM was getting close to handling OpenMP, and then some out-of-tree patches were floating around. Sadly though with OpenMP being around for the past decade there still isn't this support. The roadblocks up to this point with earlier work have been about LLVM IR changes for handling OpenMP that are complex and could lead to other messy changes.

Fortunately, the OpenMP LLVM/Clang discussion has been reignited. Intel's Compiler Team this week sent in an RFC about OpenMP support in Clang. A couple Intel compiler engineers submitted a proposal for comments about the general design description for OpenMP constructs representation within LLVM's AST (Abstract Syntax Tree). "We seek feedback on the proposed design and ways to improve it." This document only covers handling OpenMP within the Abstract Syntax Tree but not the run-time library, ABI, or other design areas.

Hopefully with Intel investing in LLVM OpenMP now we'll see some real progress soon. The proposal and other information can be found from the Clang mailing list. Another parallel programming standard that isn't widely loved by open-source compilers is OpenACC.

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. GCC 4.8.0 vs. LLVM Clang 3.3 Compiler Performance
  2. Intel Linux OpenGL Driver Leading Over Apple OS X
  3. The Cost Of Ubuntu Disk Encryption
  4. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
Latest Linux News
  1. A New X.Org-Free Wayland LiveCD Released
  2. Unity 8, Mir Made Progress This Week On Features
  3. LLVM Clang 3.3 RC2 Is Ready For Testing
  4. AMD RadeonSI Gallium3D Begins Simple CL Demos
  5. Intel Shows Off GNOME3-Based Tizen Shell
  6. Linux Desktop Security Could Be A Whole Lot Better
  7. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  8. New NVIDIA Linux Driver Supports The GeForce GTX 780
  9. Chrome 28 To Offer More Speed Improvements
  10. Digia Announces "Boot To Qt" Project
  11. X.Org Libraries Hit By Round Of Security Issues
Latest Forum Talk
  1. KDE 4.11 Will Be The Last Major KDE4 Workspaces...
  2. Intel Shows Off GNOME3-Based Tizen Shell
  3. Openbenchmarking.org (again) issue
  4. GCC 4.8.0 vs. LLVM Clang 3.3 Compiler Performance
  5. Unity 8, Mir Made Progress This Week On Features
  6. AMD RadeonSI Gallium3D Begins Simple CL Demos
  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