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. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  2. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  3. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
  4. AMD Radeon Gallium3D More Competitive With Catalyst On Linux
Latest Software Articles
  1. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  2. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  3. F2FS File-System Shows Regressions On Linux 3.10
  4. Previewing The Radeon Gallium3D Shader Optimizations
Latest Linux News
  1. Modern Intel Gallium3D Driver Still Being Toyed With
  2. Linux 3.10 Kernel Benchmarks On A Core i7 Laptop
  3. GCC 4.8.1 Compiler Due To Be Out Next Week
  4. Linux 3.10 Kernel Benchmarks For Intel Ivy Bridge
  5. Linux's "Ondemand" Governor Is No Longer Fit
  6. Firefox 22 Beta Enables WebRTC Support
  7. OpenSUSE 13.1 Milestone 1 Released
  8. DRM Graphics Driver Comes For Dove/Cubox
  9. JADE: An LLVM-Based Video Decoder For MPEG RVC
  10. Ubuntu 13.10 Likely Switching To Chromium Browser
  11. Unity 7, Compiz To Be Polished For Ubuntu 13.10
Latest Forum Talk
  1. Linux's "Ondemand" Governor Is No...
  2. Greater Radeon Gallium3D Shader Optimization Tests
  3. Kubuntu, KDE Has Little Hope For Ubuntu's Mir
  4. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  5. Modern Intel Gallium3D Driver Still Being Toyed...
  6. OpenSUSE Considers Replacing LXDE With E17
  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