In my previous blog post I stated that OpenMP 4.5 is on it’s way and scheduled for a release during SC15. If you are interested in learning about OpenMP, SC15 can be a great opportunity. This blog post points out all the related activities that I have been made aware of.
Tutorials on Sunday and Monday
On Sunday the full-day tutorial A Hands-On Introduction to OpenMP will take place, covering the core features of OpenMP 4.0. On Monday, there will be the full-day tutorial Advanced OpenMP: Performance and 4.1 Features (we did not expect the name change at the time of the submission) which basically continues from the introductory tutorial and concentrates on getting performance from OpenMP codes as well as it discusses language features introduced with OpenMP 3.x and 4.x in-depth. In addition to those two tutorials with a focus on programming, the half-day tutorial Debugging & Performance Tools for MPI and OpenMP 4.0 APIs provides exploration of parallel debugging and optimization focused on techniques that can be used with accelerators and coprocessors.
The OpenMP BoF
This year’s BoF is titled OpenMP: Where Are We, and What’s Next?. I think that is a reasonable question to ask at this point. The BoF will take place on Tuesday 5:30 – 7:00 pm in room 291. From the description: 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.
The OpenMP Booth and Booth Talks
As in previous years the OpenMP organization has its own booth, which is number #2036. Most important, every day from 4 pm to 6 pm there will be free beer (while supply lasts), and with that the opportunity to talk to OpenMP folks in person. There are also a couple of talks scheduled to take place right at the OpenMP booth, which will be recorded and published online:
Power Optimization Strategies in OpenMP, on Tuesday 11:15 – 11:40 am, by A. Malik (University of Houston),
OpenMP and the Multicore Association (MCA), on Tuesday 2:15 to 2:40 pm, by S. Chandrasekaran (University of Delaware),
Getting OpenMP up to Speed, on Wednesday 11:15 – 11:40 pm, by R. van der Pas (Oracle),
OpenMP Tasking, on Wednesday 2:15 to 2:40 pm, by M. Klemm (Intel) and C. Terboven (RWTH Aachen University),
Parallelware and OpenMP, on Thursday 11:15 – 11:40 pm, by M. Arenaz (Appentra).
During SC14, Michael Klemm from Intel and myself teamed up to give an OpenMP 4.0 overview talk at the OpenMP booth. Our goal was to touch on all important aspects, from thread binding over tasking to accelerator support, and to entertain our audience in doing so. Although not all jokes translate from German to English as we intended, I absolutely think that the resulting video is a fun-oriented 25-minutes run-down of OpenMP 4.0 and worth sharing here:
Last week’s OpenMP Language Committee face-to-face (F2F) meeting was meant to resolve the final outstanding issues to get the OpenMP 4.0 specification ready. With this week’s concall I assume we achieved just that and now it is our editor’s turn to apply all remaining tickets to the spec document. After that, the OpenMP ARB will perform the official vote on July 11th (if my calendar is correct), which in case of a positive vote will then also be the release date of the OpenMP 4.0 spec. This voting is generally considered just a formality, as the OpenMP member companies and institutions sending staff to the Language Committee also constitute the OpenMP ARB. OpenMP 4.0 will not break existing codes.
If you are interested in learning about the new features, you may want to stop by at the JARA-HPC booth #755 at ISC in Leipzig next week. We have (preliminary) OpenMP 4.0 syntax reference cards as handouts for you. If you want to meet me in person, you are welcome to visit the booth during my booth duties on Monday (11:30h to 13:00h), Tuesday (11:30 to 13:00h) or Wednesday (13:00h to 14:30h).
The International Supercomputing Conference (ISC) will take place in Leipzig, Germany, next week from June 16th to June 20th, 2013. This year the program contains tutorials again and the team of Bronis de Supinski (LLNL), Michael Klemm (Intel) and myself will offer the Advanced OpenMP Programming tutorial on June 16th, 9:00 AM to 1:00 PM. If you are interested in learning about performance-focused OpenMP programming and the new features in OpenMP 4.0, this might be the right one for you, although we obviously cannot cover everything in detail in just the 4 hours we got. We asked for a full day, but got only a half one.
While we quickly review the basics of OpenMP programming, we assume attendees understand basic parallelization concepts and will easily grasp those basics. We focus on performance aspects, such as data and thread locality on NUMA architectures, false sharing, and exploitation of SIMD vector units. We discuss language features in-depth, with emphasis on features recently added to OpenMP such as tasking. We close with an overview of the new OpenMP 4.0 directives for attached compute accelerators. This is our detailed agenda:
Task dependency support through the new depend clause. (p91)
Initial error model support through cancel and cancellation point constructs to request cancellation of specified region types and to declare a user-defined cancellation point to check for cancellation requests. (Section 2.13, p116: Cancellation Constructs)
Support for array sections in C, C++ and Fortran. (Section 2.4, p36: Array Sections)
Extended declare simd directive to allow multiple declarations. (p64)
New environment variable OMP_DISPLAY_ENV instructing the runtime to display the OpenMP version number and ICV values during initialization. (p219)
Additional enhancements to support Fortran 2003.
As we were not yet able to incorporate all the feedback that has been reported so far, a few know issues are still in the document. Additionally, some more minor changes are already in preparation. Feedback and questions are of course still welcomed, so head over to http://openmp.org/wp/openmp-specifications/ and download the new document.