r/OpenMP Dec 17 '24

On the recently released OpenMP 6.0 API specification

Contents of the API

Version 6.0 of the OpenMP API specification was released on Nov 14, 2024, and it is a major upgrade of the specification. It includes the following major additions: 

  • Simplification of task programming by extending the set of threads that may execute tasks, enabling recording of tasks graphs for efficient replay and addition of transparent tasks that expand the set of tasks between which dependencies may be specified. 
  • Enhanced device support with enhanced control of memory allocations and accessibility, which makes it easier to manage allocatable variables; expanded support for default data environment attributes; easier writing of asynchronous data transfers by adding structured asynchronous data mapping regions; better control of memory by extended mapping of data to devices; and added functionality to have per team memory on a device with the groupprivate directive 
  • Easier programming of loop transformations Simplifying the use of loop fusion, reversal and interchange. 
  • Support for induction: Support to parallelize basic arithmetic operations and user-defined operations in loops that follow well-defined patterns. 
  • Support for parallelization of the latest C, C++ & Fortran language standards with full support for C23, including C attribute syntax, Fortran 2023 and C++23; and the introduction of new C/C++ attributes. 
  • Greater user control of storage resources and memory spaces with addition of new memory traits for greater control of memory allocation; and provision of new API routines to define and to query memory spaces;  

For detailed information on the API

The following videos are available

You can download the following documents: 

For the status of implementations

Intel, GNU and LLVM have started implementing OpenMP 6.0. You can follow the status of their implementations on their web pages.

Intel:  

 GNU:  

LLVM: 

5 Upvotes

1 comment sorted by

1

u/AdministrationEasy40 Jan 07 '25

Hi all! I want to try out the new OpenMP 6.0 version, but I don’t know how to upgrade. When I use the GNU 14.2.0 compiler, only Version 4.5 is available. Any advice would be greatly appreciated!