The OpenMP 3.1 specification was released today as a minor update that retains 100% backward compatibility with Version 3.0.
Version 3.1 represents a significant effort on the part the OpenMP Language Committee, and lays the ground work for future extensions to better support emerging hardware directions,” stated OpenMP Language Committee Chair Bronis R. de Supinski. “We have added extensions that handle some of the most frequent user requests while also working to make the specification and its associated examples more clear. We expect these extensions will improve usability and performance. “Concurrent to our work on version 3.1, we have also made progress on several significant enhancements to the specification that we expect to serve as the basis for our next version,” de Supinski continued. “Topics under consideration include support for accelerators such as GPUs, major enhancements to the tasking model, mechanisms to handle runtime errors and general user defined reductions.”
The new spec adds several new features including:
- The addition of predefined min and max reduction operators for C++ and C
- Extensions to the atomic construct to allow the value of the updated variable to be captured or overwritten
- A mechanism to bind threads to processors
- Additions to support optimizations within the OpenMP tasking model