OpenMP Support For LLVM/Clang Still Being Drawn

Written by Michael Larabel in LLVM on 27 December 2012 at 08:27 AM EST. 4 Comments
LLVM
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.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week