![]()
The OpenMP Architecture Review Board (ARB) is pleased to announce Version 6.1 of the OpenMP API specification, which brings substantial advancements to the OpenMP API ecosystem. This new version defines multidimensional execution spaces, enabling grid-based programming devices. It adds support for dynamic-lifetime data and expanded thread‑affinity controls allowing the use of fast memory and optimized parallel execution. Finally, this version features new loop transformations and provides better control over data locality on devices.
“While OpenMP API 6.1 is a minor release, it includes improvements to existing features such as the device model and support for affinity control and default data-mapping and data-sharing attributes,” said Bronis R. de Supinski, Chair of the OpenMP Language Committee. “Overall, this release provides greater control over device regions that will enable higher performance while indicating future directions that will capture all available performance for those regions.”
OpenMP API development
OpenMP API 6.1 was jointly developed by the OpenMP ARB, a group of major computer hardware and software vendors, as well as users throughout the OpenMP community (OpenMP ARB members).
OpenMP API 6.1 features
In addition to several minor improvements, the updated specification includes the following key features:
- Multidimensional execution spaces: Extensions to existing parallel constructs and a set of new multidimensional routines enable a grid-based view of OpenMP teams on a device.
- Support for dynamic-lifetime data: The use of small, fast device memory for data with dynamic lifetimes is supported through the new dyn_groupprivate clause and corresponding supplementary API routines.
-
More loop transformations:
- Coalescing of multiple nested loops into a single loop with the new flatten directive.
- Fusing of all loops up to a specified depth using the fuse directive with the depth clause.
- The sizes modifier was added to the sizes clause to specify the number of tiles.
-
More control over data locality:
- A new variable category and a new modifier for the default and defaultmap clauses that facilitate selection of data-sharing and data-mapping attributes.
- The attach modifier was added to the map clause to provide more control over pointer attachment for mapped data.
-
Expanded thread‑affinity controls:
- Extensions to OMP_PLACES express hierarchical place groups and reserve structured places.
- Spread-affinity behavior operates over this hierarchy.
- Enhancements to OMP_PROC_BIND with the reset and noreset modifiers control whether a thread’s original affinity is restored after a parallel region.
- Scalable SIMD support: To support the use of scalable SIMD instructions, the scaled modifier was added to the simdlen clause.
- Improved device selection: The omp_get_device_distances routine was added to guide device selection for device constructs. The omp_default_device predefined identifier was added as a mnemonic device number.
- Improved Fortran support: Support of the begin declare_variant directive was extended to Fortran.
You can download the OpenMP API 6.1 specification from the OpenMP ARB website.
“OpenMP API 6.1 begins the adoption of support for what Johannes Doerfert called ‘kernel language,’” said Michael Klemm, CEO of the OpenMP ARB. “It brings the grid-based programming style that many GPU developers know from CUDA and HIP to a portable, open standard. Multi-dimensional execution spaces will help exploit performance on accelerators while keeping code portable across vendors.”
About OpenMP
The OpenMP Architecture Review Board (ARB) standardizes high-level, directive-based, multi-language 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 giving parallel programmers a simple, 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.
View source version on businesswire.com: https://www.businesswire.com/news/home/20261112246259/en/
Media gallery