The OpenMP 4.0 specification is moving quickly to implementation through the GNU toolchain and Clang. TechEnablement reported that GNU 4.9.1 now supports OpenMP in C/C++ and Fortran plus we now have confirmation that OpenMP will run on ARM64 as well, or as Jakub Jelinek wrote, “All architectures where libgomp is supported (which is essentially all which have pthreads).” The next big step will be GPU/Intel Xeon Phi support, which seems likely in the 2015 timeframe. Looking ahead, 2015 is shapeing up to be the year of the pragma performance competition between OpenACC and OpenMP 4.0.
Planet Clang also reported the successful merge of the Apple-contributed ARM64 backends back in May. In combination with the recent reports of Clang OpenMP support, we should see two opensource OpenMP 4.0 compilers presumably with x86 and ARM64 support. TechEnablement reported,
As a side note, Phoronix notes that Intel’s Compiler Team Is Trying To Land OpenMP In Clang ASAP. Phoronix recently ran some OpenMP benchmarks of the out-of-tree LLVM Clang OpenMP support and compared the OMP performance to GCC in various multi-threaded benchmarks workloads. The result they wrote is that, “Clang will be much more competitive to GCC on modern multi-core systems in the many scientific applications that take advantage of OpenMP”.