OpenMP 3.1 Support Implementation In Clang Is Available

[This is a cross-posting of a message posted in cfe-dev mailing list (; sorry for double-posting.]


This is to announce availability of a full OpenMP 3.1 support implementation in Clang compiler.

The project is hosted there:

It is based on clang 3.3 (and will be updated as new clang/llvm releases become available); also, we plan to eventually contribute everything to the clang trunk (initial patches have already been committed).

This implementation supports 3.1 version of OpenMP standard in full; it passes all OpenMP tests we tried with it so far (this includes OpenMP Validation Suite from OpenUH Research Compiler, SPEC OMP2012 and internal Intel test suites). Performance-wise, it demonstrates similar gains and scalability as other compilers with OpenMP support. (Sorry, I can’t be more specific here, as properly reporting performance results is a precise and laborious process. You are welcome to try clang compiler with OpenMP support on your own OpenMP programs, awe performance gains and share excitement with the community. :-))

The project was started by Mahesha HS (then at AMD), who created initial patch. After that, it was carried out by several Intel engineers; Alexey Bataev did most of the coding. Hal Finkel, Dmitry Gribenko and Doug Gregor contributed a lot with code reviews.

OpenMP in an evolving standard; thus, there is always something still left to be done, and your contributions (of any kind – patches, code reviews, testing, bug reports) are very much welcome!

Andrey Bokhanko

Thanks a lot Andrey (and team) for finally getting this done.

AMD India

Great news! Congratulations Andrey & team!

Looking forward to seeing the code upstream.