C/C++ and Fortran

OpenMP 15th year Birthday at SuperComputing 12, Meeting C++ trip report and ISOCPP.org

By Archive User posted Sat November 10, 2012 09:59 AM


Originally posted by: Michael_Wong

Happy Birthday OpenMP! About 15 years ago, the OpenMP ARB Corporation was incorporated as a Minnesota  non-profit company. Not-many mains stream parallel language can make that claim. I think it was Bjarne who commented that new parallel languages get invented by the hundreds every year. Fortunately, nearly the same number also die every year. Our longevity in this rapidly changing world is a testament to our importance, the efforts of our members, and our intention to keep pace, and even lead the world in adoptions that allow people to take advantage of the full power of their machine.

We will be celebrating this occasion with multiple events at SC12 which includes an OpenMP BoF where I will give a keynote (and some historical figures from OpenMP's birth will make an appearance), giveaway, short-talks, and beer at the OpenMP booth. I will also give a talk on The Future of OpenMP, something I have been discussing with the members for the last year based on the rapid changes that has been coming for some time in the world of parallel computing.
Upcoming will be Supercomputing 2012 in Salt Lake City, I will be busy as OpenMP will be releasing a 1st Public Comment Draft for OpenMP 4.0. This news was the direct result of the Toronto OpenMP meeting where we:

  • finalized the creation of the OpenMP Technical Report Process, something that we have been talking about a year now since the January 2012 San Francisco Meeting
  • Use this process for the introduction of the OpenMP Accelerator Technical Report
  • Decided on potential final contents of the OpenMP 4.0 Public Content Draft
All this was of course, based on a set of increasingly rigorous level of votes that must be carried out through the variouse subgroup committees, Language Committee, and the Architecture Review Board.
I am happy to announce that we are already well on tract to achieve all of that. We have an approved OpenMP Technical report process based on which we have published the OpenMP Technical Report 1 on Accelerators.This is, by all observations seems to be a momentous event as it has already garnered numerous blogs, and discussions on twitter as well as other social networks (not by us). This shows the key importance of this much anticipated entry into the high level programming language support for accelerators.
Two influential blogs have been written on OpenMP 4.0, by James Reinders and by Christian Terboven. These blogs and our press releases led to quite some action in the Twitter space.
The other aspect, even more important to a broader parallel community is the impending announcement of the release of the comment draft for OpenMP 4.0. This one promises support for:
  • Accelerator support for a heterogeneous hardware environment (initially as a TR with the intention of being in final OpenMP 4.0)
  • Thread and data affinity to improve the performance on non-uniform memory architectures
  • User defined reductions (UDRs)
  • Fortran 2003 base language support
  • Sequentially consistent atomic operations with atomic swaps
  • SIMD support
The release will be staged through several Release Candidate (RC) comment releases. TR1 for accelerators is already released. RC1 will be essentially the content above.
RC2 will aim for early February after the OpenMP Winter 2013 F2F meeting in Houston and may contain additional material such as:
  • Specify subarrays in C
  • Error handling to deal with thread-related execution failures 
  • Enhance the tasking model with groupings, dependencies, and scheduling constraints
Right now I am still at the 2nd day of the 2 day Meeting C++ event, the European version of C++Now organized by Europeans where I gave my keynote yesterday to a packed room of almost 145 people on Good C++11 Coding Style. Video of this talk will probably become available, but there were many favorable comments.

This event has the blessing on multiple Users group from Dusseldorf, Berlin, and Belgium and truly has the potential to be the European C++ event. Even at this event, there is a noticeable slant on how to better support for parallel programming and accelerators in particular. This event was organized by Jens Weller, whom I had the fortune of meeting at ADC++ 2012, then again at C++Now 2012 (aka BoostCon). He has worked tirelessly to make this conference a success and I must congratulate him in pulling together both the funding, sponsorship (especially Think-Cell), the great talks, and the very large attendee list. This attendee list is much greater then comparably priced C++ conferences elsewhere for a first conference. I am very hopeful that this event will grow to encompass all of Europe and make it easier and cheaper for Europeans to travel to learn more about C++. Given that, many European still and continue to make the effort of traveling to C++Now to link up with the latest experts. These 2 events being nearly 6 months apart, is probably ideal separation as so much will be happening.
In fact, at this event, I was queried about the newly created ISOCPP.org (which was announced on Nov 2 at a Microsoft /BUILD conference) where I have accumulated even more title as the Director and Vice President.
The aim of ISOCPP.org is to create a central place for the latest dissemination of latest C++ news, education, libraries, and events. Specifically, they are:

(a) dissemination of up-to-date information about how clean, safe and fast C++ is today; and

(b) greater availability of high-quality C++ libraries, both standard libraries (by reducing barriers to submitting and adopting libraries in Standard C++ itself) and community libraries (by having an organized, and ideally tool-supported, way for C++ developers to discover and use libraries).

There is simply so much C++ information out there that is out-of-date especially with the ratification of C++, that it was high time. In Bjarne's HOPL-II paper, he commented how he lamented that there was no such central body.
I will be next flying to Salt Lake City and work with OpenMP's new release, but also work with other Accelerator Programming Models to see how to create an even better OpenMP Accelerator support for the broadest range of accelerator possible. As such I will be leaving my own OpenMP BoF after my keynote to go to an Nvidia/PGI/Cray sponsored BoF on Accelerators where I will have the opportunity to discuss such a better future.