Update on OpenMP support in clang / llvm

Hi All,

This is a short summary of news and new developments related to OpenMP support in clang / llvm:

  • ANL (1) and Pathscale contributed OpenMP patch re-based from clang trunk (original version of the patch is based on clang 3.3 release). This is currently under code review, and will be committed to a separate repository: https://github.com/clang-omp/clang_trunk. Kudos to Hal Finkel, Chris Bergström and everyone from ANL and Pathscale who worked on this!

  • OpenMP consortium added clang to the list of OpenMP-enabled compilers: http://openmp.org/wp/openmp-compilers/. Obviously, as OpenMP patch still hasn’t been committed to clang trunk, the link goes to clang-omp.github.com.

  • Jim Cownie from Intel delivered a talk on “OpenMP in Clang / LLVM” during recent Supercomputing’13 conference. Video of the talk is available on youtube: http://www.youtube.com/watch?v=7TIOB-0xwek

  • We (Intel) contributed support for the following new features of OpenMP 4 standard:

  • omp simd pragma

  • omp declare reduction pragma

  • proc_bind clause

This was contributed by two Intel engineers – Alexey Bataev and Alexander Musman and committed to clang-omp.github.com.

  • Alexey Bataev contributed support for usage of variable length arrays in openmp constructs. Again, the code committed to clang-omp.github.com.

  • Texas Instruments expressed strong interest in collaborating on advancing support of OpenMP 4 in clang / llvm. Currently we are discussing on how we can work effectively together. We intend to continue to work in open manner, putting all new developments on clang-omp.github.com (and eventually to clang / llvm trunk, as soon as code for basic infrastructure support will be accepted there).

(1): Obviously, I can’t speak for other people; thus, this is just my recollection of events. Hal, Chris and TI guys – please correct me if I got something wrong.

Andrey Bokhanko