Today in open-source multi-threading compiler news there's been word of Intel having their OpenMP Run-Time Library be a new LLVM sub-project
and Cilk-Plus multi-threading support being cleared for GCC
. In an abnormally interesting day for open-source compiler news, OpenMP 4.0 support is now ready for mainlining in GCC.
is the latest specification for the popular and widely-used multi-processing interface on C, C++, and Fortran languages. Open Multi-Processing 4.0 was unveiled in August with new support for moving data between different compute devices, support for accelerators like DSPs, SIMD constructs are present, there's improved error handling, support for Fortran 2003, new tasking API extensions, and many other changes.
Support for OpenMP 4.0 within GCC -- which already supports OpenMP 3.1 -- has been underway for a while. Jakub Jelinek of Red Hat proposed today merging most of the "GOMP 4.0" branch into GCC trunk. The code implements the OpenMP 4.0 standard except for a few open bugs, the Fortran front-end not yet being written, offloading support isn't yet implemented, the new SIMD pragma isn't fully ready, and there's a couple of other minor issues. Seeing the OpenMP 4.0 support ready is very good news considering that the specification is still very fresh and that even Intel's OpenMP LLVM/Clang contribution is only the v3.1 specification (the same as what's in GCC at present).
Jelinek is hoping to merge the GNU Compiler Collection support, the C and C++ front-end changes, GCC test suite coverage, and the libgomp changes. The call for merging the OpenMP 4.0 patches into GCC compiler can be found on the GCC-Patches mailing list
OpenMP 4.0 should make it as a feature for GCC 4.9
, which should be released as stable in the first half of 2014.