OpenMP Architecture Review Board Releases Technical Report that Addresses Top User Requests
Technical Report 6 is a preview of OpenMP 5.0, expected in November 2018
Denver, Colorado – November 13, 2017 – The OpenMP® Architecture Review Board (ARB) has released Technical Report 6, the second preview for the future OpenMP API, version 5.0.
“Technical Report 6 demonstrates the importance of user feedback to the OpenMP specification,” says Bronis R. de Supinski, the Chair of the OpenMP Language Committee. “Users have indicated that several features are vitally important to them, such as multilevel memory support, deep copy, easy access to unified shared memory and a descriptive loop construct. As a result of that feedback, OpenMP 5.0 will include all of these major additions.”.
New Features included in Technical Report 6Technical Report 6 (TR6) extends Technical Report 4 (TR4), the previous preview of OpenMP 5.0 that was released one year ago. The key features that are added in TR6 include:
- Support for multilevel memory systems: OpenMP 5.0 will include memory allocation mechanisms that intuitively place data in different kinds of memories;
- Support for deep copy of complex data structures: TR6 adds user-defined mappers, a composable mechanism that easily allows object-oriented data structures to be copied correctly to accelerator devices;
- Additional enhancements to OpenMP device constructs: Other major additions to OpenMP support of accelerators include a mechanism to require unified shared memory support, the ability to use device-specific function implementations, better control of implicit data mappings and the ability to override device offload at runtime;
- Support for descriptive loop optimizations: The concurrent construct asserts that all iterations of the associated loop nest may be executed concurrently in any order, which will enable many implementation-specific compiler optimizations;
- Support for improved debugging of OpenMP applications: TR6 adds OMPD, a third-party tool interface that enables intuitive debugging of OpenMP code and complements OMPT, the first-party tool interface that was added in TR4 to support deeper analysis of OpenMP performance;
- New forms of task dependencies: New mechanisms support (1) task sets that require mutual exclusion within the set and ordering with respect to other tasks and (2) tasks with dynamically determined dependency sets;
- Greater memory model flexibility: OpenMP 5.0 will include support for acquire/release semantics, which will allow optimization of low-level memory synchronization activities.
TR6 also improves several features added in TR4 such as OMPT and task reductions.
Feedback on the Technical Report is solicitedTR6 is an important milestone on the path to OpenMP 5.0. Users and implementers are encouraged to provide feedback on the proposed API. Feedback can be posted on the OpenMP Forum.
“This technical report provides a preview for the OpenMP community, our users, and the implementers to comment on the features planned for OpenMP 5.0,” says Michael Klemm, CEO of the OpenMP ARB. “Version 5.0 will be released in November 2018 and will be a major leap forward to ready the OpenMP programming model for exascale computing.”
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 http://www.openmp.org/.