Skip to content

Future plans of OpenMP


The OpenMP Architecture Review Board recently published a press release detailing the future plans of OpenMP. OpenMP is the de-facto standard for parallel programming on shared-memory systems, and wishes to become the standard for programming on multicore systems.

One of the advantages is that continued usage of OpenMP will mean that your applications will in the future also run on accelerators. OpenACC is a programming standard that shows a preview of the accelerator features that OpenMP will support.

One of the stated goals of OpenMP is that it will run on a wide variety of computing devices, making sure that your applications will also run on a wide variety of computing devices. So keep on using OpenMP, or if you do not use it yet, look here to find guidance on how to get started.

The key features that the OpenMP ARB is working on include:

  • Support for accelerators. A mechanism will be provided to describe regions of code where data and/or computation should be moved to any of a wide variety of computing devices. User experiences with the OpenACC directives will provide important information to the OpenMP effort. The minimum feature core required for an initial release has been defined.
  • Error handling. Error handling capabilities of OpenMP will be defined to improve the resiliency and stability of OpenMP applications in the presence of system-level, runtime-level, and user-defined errors. Features to cleanly abort parallel OpenMP execution have been defined, based on conditional cancellation and user-defined cancellation points.
  • Thread affinity. Users will be given a way to define where to execute OpenMP threads. Platform-specific data and algorithm-specific properties are separated, offering a deterministic behavior and simplicity in use. The advantages for the user are better locality, less false sharing and more memory bandwidth.
  • Tasking extensions. The new tasking extensions being considered are task deep synchronization, dependent tasks, reduction support for tasks, and task-only threads. Task-only threads are threads that do not take part in worksharing constructs, but just wait for tasks to be executed.
  • Support for Fortran 2003. The Fortran 2003 standard adds many modern computer language features. Having these features in the specification allows users to take advantage of using OpenMP directives to parallelize Fortran 2003 complying programs. This includes interoperability of Fortran and C, which is one of the most popular features in Fortran 2003.

From → HPC

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: