The OpenMP 4.0 Release Candidate 2 is now available for public discussion on this forum.
http://openmp.org/wp/openmp-specifications/
In addition to a number of corrections and clarifications to the specifications, Release Candidate 2 includes the following major enhancements:
* cancel and cancellation point constructs to request cancellation of a parallel region 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 and C++ as well as adding sectioning support for Fortran. (Section 2.4, p36: Array Sections)
* Support for offloaded code regions to attached heterogeneous devices: Device Data Environments (p16), target constructs (p68: target, target data, target update, declare target, teams, distribute; p151: map clause, and associated runtime routines (p191).)
* Extends declare simd to allow multiple declarations. (p64)
* New environment variable OMP_DISPLAY_ENV instructs the runtime to display the OpenMP version number and initial values during initialization. (p219)
* New depend clause enforces additional constraints on the scheduling of tasks. (p91)
This is in addition to enhancements introduced in RC1: thread affinity, initial support for Fortran 2003, SIMD constructs to vectorize both serial and parallelized loops, TASKGROUP, user-defined reductions, and sequentially consistent atomics.
