OpenMP Face to Face meeting 2018-2
Venue: INRIA. Bordeaux, FRANCE. Event date: From 14 May 2018 to 18 May 2018.A good week in Bordeaux, France focused on closing different open topics in the specification and many of those who have been discussed during past weeks have been shaping up and they are in good condition to go through the committee’s votes.
In relation to the quality of the specification, groups of sections will be defined and assigned to the different partners with the aim of detecting possible incoherencies in the text or clarifications that allow a better understanding of the specification.
Among the various topics that we have been discussed, and that are not framed within any subcommittee group, we have: the relaxation of non-rectangular loops, extensions of SIMD with respect to inclusive/exclusive scan or the linear clause; the new array shaping format and the definition of iterators (some minor changes in the wording).
In the task subcommittee we have started the discussion of two new APIs. The first one aims to expose the OpenMP dependencies through opaque handlers. This mechanism will allow to interact with other software components (e.g. specific libraries) running witing the same parallel program. The second one is based on external events that allow to synchronize tasks with external asynchronous services (such as CUDA services or MPI calls). Both proposals seem mature enough to enter the next release (OpenMP 5.0).
We have continued with the discussion of the concurrent-loop proposal. With the semantics already clarified we have started a new discussion about how it could interact with other OpenMP mechanisms (mainly teams and parallels).
Tools and debug interfaces have incorporated numerous corrections and modifications to the specification. Both of these APIs will benefit from this improvement so that the text will be much clearer to understand, and some small semantic or syntax errors have been also fixed.
Accelerators remains as one of the most active subcommittees and new corrections, extensions, restrictions and modifications on existing mechanisms have been incorporated into the standard. To highlight some of them: the directive/clause requires or the improvement to the unified memory support. Potential candidates to OpenMP 5.0 have been also discussed: the meta-directive when and the reverse-offload mechanism.
The support and interaction with the corresponding base languages continues and we are discussing new topics and issues which allow to adapt the standard to Fortran 2003 and C++ 11/17.
In the following weeks we expect to close all pending issues and get the OpenMP 5.0 draft version open for comments ready. By mid-July it is expected to start the specification’s quality control pass and discuss the next steps necessary to have prepared the final OpenMP 5.0 release by next November.