OpenMP ARB Releases OpenMP 5.2 with Improvements and Refinements
Syntax is refined and several API features are improved
Saint Louis, Missouri – November 9, 2021 – The OpenMP® Architecture Review Board (ARB) has released Version 5.2 of the OpenMP API. With this release of the standard, the OpenMP API improves its quality and usability. Join the OpenMP ARB at SC21 virtually or in-person to learn more about the specifics of Version 5.2.
“Version 5.2 refactors the OpenMP specification to improve consistency of its syntax and semantic restrictions.” OpenMP Language Committee Chair Bronis R. de Supinski said. “The inclusion of C++ attribute syntax in OpenMP 5.1 motivated us to develop the 5.2 version, which is an addition to our usual release schedule.”
New Features
Version 5.2 of the OpenMP specification was jointly developed by the OpenMP ARB, a group of major computer hardware and software vendors, as well as users throughout the OpenMP community. The updated specification includes the following key additions:
- Simplified unstructured data offload usage. The default map type of the map clause on a target enter data (target exit data) now provides the same behavior as the to (from) map type.
- Extended support of user-defined mappers. The declare mapper directive was extended to accept additional modifiers.
- Improved memory allocators. The allocators construct was added to support the use of OpenMP allocators for variables that are allocated by Fortran, and the executable form of allocate directive and dispatch construct were extended with an optional end directive.
- Improved usage of a Fortran PURE procedure. The directives allowed in a PURE procedure were extended to include assumption, nothing, and error directives, and metadirectives and loop transformation constructs.
- Improved usage of the scope construct. The allocate and firstprivate clauses are now allowed on the scope construct.
- More consistent linear clause. The linear clause was updated to be more consistent with other clauses.
- Refined the syntax of OpenMP directives. Structure is now more concise and consistent.
“Version 5.2 improves and simplifies the usage of the OpenMP API by the user”, noted Michael Klemm, OpenMP ARB CEO. “In addition, the changes will also facilitate the automated generation of a variety of OpenMP documents, including our Quick Reference Guides, and so will improve the quality of the official OpenMP documentation.”
Collection of Programming Examples
A collection of programming examples has been released by the OpenMP ARB in order to familiarize users with the directives, library routines and environment variables of the OpenMP API. The source code of the programming examples is available on GitHub.
Implementations
Major vendors and open source compilers have implemented parts of the OpenMP 5 specification in their products. In addition, debugging and performance tools are being extended with OpenMP 5 features. More details on compilers and tools can be found on the OpenMP website.
Newsletter and Social Media
Follow the latest OpenMP developments and news by subscribing to the OpenMP newsletter. Follow us also on Twitter at @OpenMP_ARB, on Facebook, and on LinkedIn.
About OpenMP
The mission of the OpenMP Architecture Review Board (ARB) is to standardize directive-based multi-language high-level parallelism that is performant, productive and portable. Jointly defined by a group of major computer hardware and software vendors, and users, the OpenMP API is a portable, scalable model that gives parallel programmers a simple and flexible interface for developing parallel applications for platforms ranging from embedded systems and accelerator devices to multicore systems and shared-memory systems. The OpenMP ARB owns the OpenMP brand, oversees the OpenMP specification and produces and approves new versions of the specification. Further information can be found at https://www.openmp.org.
OpenMP® is a registered trademark of the OpenMP Architectural Review Board.
For more information, press only: Matthijs van Waveren, [email protected]