The OpenMP Consortium has released OpenMP 4.0, a major upgrade of the OpenMP standard language specifications. OpenMP aims to provide high-level parallel language support for a wide range of applications, from automotive and aeronautics to biotech, automation, robotics and financial analysis. In addition to several major enhancements, this release provides a new mechanism to describe regions of code where data and/or computation should be moved to another computing device.
New features in OpenMP 4.0 include support for accelerators; SIMD constructs to vectorise both serial as well as parallelised loops; error handling; thread affinity; tasking extensions; support for Fortran 2003; user-defined reductions; and sequentially consistent atomics – a clause has been added to allow a programmer to enforce sequential consistency when a specific storage location is accessed atomically.
‘This release represents collaborative work by many of the brightest in industry, research, and academia, and it builds on the consensus of 26 members. We strive to deliver high-level parallelism that is portable across three widely-implemented common General Purpose languages, that is productive for HPC and consumers, and that delivers highly competitive performance,’ commented Michael Wong, CEO of the OpenMP ARB.
‘I want to congratulate all the members for coming together to create such a momentous advancement in parallel programming, under such tight constraints and industry challenges. After this release, OpenMP will move immediately forward to the next release to bring even more usable parallelism to everyone,’ he added.