The OpenMP ARB is pleased to announce OpenMP 4.5, a major upgrade of the OpenMP standard language specifications. This release provides a substantial improvement on the support for programming of accelerator and GPU devices, and supports now also the parallelization of loops with well-structured dependencies. Implementation is underway in GCC and Clang. The new specification can be downloaded from here.
Standard for parallel programming extends its reach
With this release, OpenMP, the de-facto standard for parallel programming on shared memory systems, continues to extend its reach beyond pure HPC to include DSPs, real time systems, and accelerators. OpenMP aims to provide high-level parallel language support for a wide range of applications, from biotech and automotive to aeronautics, automation, robotics and financial analysis.
“OpenMP 4.5 is a significant achievement that demonstrates the industry-wide collaboration and the hard work and dedication within the OpenMP community,” says Michael Wong, CEO of the OpenMP ARB. “It is more than a minor release, representing the road towards OpenMP 5.0 while we continue on a cadence that delivers Technical Reports and/or Ratified Specifications annually, in keeping pace with the marketplace.”
Many new features
- Significantly improved support for devices. OpenMP now provides mechanisms for unstructured data mapping and asynchronous execution and also runtime routines for device memory management. These routines allow for allocating, copying and freeing.
- Support for doacross loops. A natural mechanism to parallelize loops with well-structured dependences is provided.
- New taskloop construct. Support to divide loops into tasks, avoiding the requirement that all threads execute the loop.
- Reductions for C/C++ arrays. This often requested feature is now available by building on support for array sections.
- New hint mechanisms. Hint mechanisms can provide guidance on the relative priority of tasks and on preferred synchronization implementations.
- Thread affinity support. It is now possible to use runtime functions to determine the effect of thread affinity clauses.
- Improved support for Fortran 2003. Users can now parallelize many Fortran 2003 programs.
- SIMD extensions. These extensions include the ability to specify exact SIMD width and additional data-sharing attributes.
Implementation is already almost complete in GCC version 6.0. It is starting in the current trunk of Clang 4.8. Other vendor compilers are following.
OpenMP 4.5 Specifications
- OpenMP 4.5 Complete Specifications (November 2015) PDF
- OpenMP 4.5 Summary Card - C/C++ (November 2015) PDF
- OpenMP 4.5 Summary Card - Fortran (November 2015) PDF
OpenMP: Where Are We and What’s Next? [Room 18AB]
We will showcase modern OpenMP (“The language that lets you use all your compute resources”) by presenting OpenMP 4.1 and the vision for OpenMP 5.0. Experts will give short presentations on key OpenMP 4.1 features and answer your technical questions. OpenMP CEO Michael Wong will present our vision for OpenMP 5.0 and we’ll finish with an audience-led discussion with a panel including members of the OpenMP ARB.
- Sunday, Nov 15th, 8:30am - 5:00pm
Hands-on Introduction to OpenMP [Room 17B]
Bring your laptop with installed OpenMP compiler for a hands-on introduction.
- Monday, Nov 16th, 8:30am - 5:00pm
Advanced OpenMP Tutorial: Performance and 4.1 Features [Room 13AB]
OpenMP performance, parallelization strategies, advanced features, and more.
- Monday, Nov 16th, 1:30pm - 5:00pm
Debugging and Performance Tools for MPI and OpenMP 4.0 APIs [Room 14]
Parallel debugging and optimization focused on techniques used with accelerators and coprocessors.
RELAX WITH A COLD BEER:
Attend a short talk in our booth [Booth# 2036, meet some of the pros behind the API, and participate in drawings after each talk for the latest book by James Reinders and Jim Jeffers.
- Tuesday, Nov 18th, 11:15 - 11:40am
Power Optimization Strategies in OpenMP – Abid Malik, University of Houston
- Tuesday, Nov 18th, 2:15 - 2:40pm
OpenMP and the Multicore Associates (MCA) – Sunita Chandrasekaran, (University of Delaware)
- Wednesday, Nov 19th, 11:15 - 11:40am
Getting Open Up to Speed – Ruud van der Pas, Oracle
- Wednesday, Nov 19th, 2:15 - 2:40pm
OpenMP Tasking – Michael Klemm, Intel and Christian Terboven, RWTH-Aachen
- Thursday, Nov 20th, 11:15 - 11:30am
OpenMP and Parallware – Manuel Arenaz, Appentra
- Overcoming Distributed Debugging Challenges in MPI + OpenMP Programming Model
- Directive-Based Pipelining Extension for OpenMP
- A Standard Debug Interface for OpenMP Target Regions
- A Deadlock Detection Concept for OpenMP Tasks and Fully Hybrid MPI-OpenMP Applications
Cray: Booth 1833
EPCC: Booth 2503
Fujitsu: Booth 1827
HP: Booth 603
IBM: Booth 522
Intel: Booths 1333, 1533
NASA: Booth 333
NEC: Booth 313
Nvidia: Booth 1021
Oracle: Booth 1327
RedHat: Booth 3112
TACC: Booth 548
Texas Instruments (in the Rapid IO Trade Assoc. Booth): Booth 2917
We managed to interview some of the participants, and those short interview videos are now up on our ≫OpenMP YouTube channel
Topics ranged from OpenMP SIMD to OpenACC and OpenCL, OpenMP usage in the national labs and in financial applications, automatic parallelization tools from Appentra and Silexica, and what’s in store for the next OpenMPCon in Kobe, Japan.
Videos of the actual presentations and the slideware are currently being prepared and will be made available very soon.
And thanks to everyone who attended this very first OpenMPCon, and the staff at SuperC, RWTH Aachen University!
OpenMPCon, the first OpenMP Conference is happening now in Aachen, Germany. Watch this space for links to video interviews and papers.
OpenMP CEO, Michael Wong, is blogging about the upcoming OpenMPCon Developers Conference on his website wongmichael.com:
OpenMPCon next month aims to bring a stellar lineup of the latest industry gurus, users and developers together with the language designers. As such we have 3 keynotes along with two full day tutorial and a day and a half of talks…
Three more talks at OpenMPCon in September…
For the last several years, the OpenMP team has been working in collaboration with Intel, IBM and many other companies to add OpenMP support into clang/llvm.
Over the last 2 years, more OpenMP support has appeared in clang/llvm in llvm 3.5, 3.6 releases.
Now we can announce that this collaboration has achieved full OpenMP 3.1 support in clang/llvm 3.7, which will be released at the end of August. Several features of the OpenMP 4.0 specifications are already supported in clang 3.7, and work continues on OpenMP 4.0 for clang 3.8.
The full details are on Michael Wong’s blog.
Michael Wong, the OpenMP ARB’s CEO, writes on his blog:
It is with great pleasure that I wish to announce OpenMPCon 2015 which is paired and co-located with the sister conference IWOMP 2015 on Sept 28-Oct 2. As OpenMP evolves rapidly with more releases to match pace with the rapidly evolving Hardware and Parallel world (one Technical Report followed by one ratified Specification every year; we are nearly delivering OpenMP 4.1 which you can preview at OpenMPCon), OpenMPCon aims to be the central place for the latest OpenMP Language development, tutorial, tips and tricks, as well developers connecting with language designers, and compiler/tool vendors. This will be done on Monday and Tuesday, and partially on Wednesday where the tutorial is shared with IWOMP but can be attended by both conferences.
IWOMP continues its rich history of academic refereed journal research paper presentations on Thursday and Friday on the latest research that will move OpenMP forward into the next generation, as well as offering experimental data on current OpenMP usage that will allow the Language Committee to refine existing constructs. These two combined conferences form a very healthy way for OpenMP to remain agile and moving forward.
Read the rest on his blog.
The OpenMP 4.1 draft specification has been released for public comment by the Language Committee.
Download the PDF from here: OpenMP 4.1 DRAFT
Comments should be submitted to the OpenMP 4.1 DRAFT - Public Comments forum. Forum membership is free, but is moderated. If not already a member of the OpenMP Discussion Forums, click on the Register link at http://openmp.org/forum/
Public comment closes September 30, 2015.