TMCnet News
OpenMP® 5.0 is a Major Leap Forward#SC18 The OpenMP Architecture Review Board (ARB) is pleased to announce Version 5.0 of the OpenMP API Specification, a major upgrade of the OpenMP language. The OpenMP community has made many requests since version 4.5 was introduced in 2015. As a result OpenMP 5.0 adds many new features that will be useful for highly parallel and complex applications. OpenMP now covers the entire hardware spectrum from embedded and accelerator devices to multicore systems with shared-memory. Vendors have made reference implementations of parts of the standard, and user courses will soon be given at OpenMP workshops and major conferences. User requests The OpenMP API is used in a wide range of fields, from physics, automotive and aeronautic simulations to biotech, and from automation and robotics, to financial analysis. Requests from users in these fields included adding features to enhance OpenMP for the embedded system and accelerator spaces, to provide a standard interface for debugging, and to improve performance tools. In addition to meeting these requests, OpenMP 5.0 also improves portability and usability, while bringing the specification to support the latest versions of C, C++, and Fortran. "OpenMP 5.0 adds critical features in several areas. For example, it significantly reduces the effort to use accelerators effectively through its support for unified shared memory via the requires directive and for implicit declare target directives," said Bronis R. de Supinski, the Chair of the OpenMP Language Committee and the ARB Representative from Lawrence Livermore National Laboratory. "I have personally represented user requirements not only from the CORAL procurements but also from the Department of Energy's Exascale Computing Project. Representatives from several other sites have brought a variety of other requirements, such as improvements to OpenMP's tasking model." Standard development Version 5.0 of the OpenMP specification was jointly developed by the OpenMP ARB, a group of major computer hardware and software vendors, as well as users throughout the OpenMP community. In addition to several minor improvements, the updated specification includes the following major additions:
Implementations Major vendors have implemented parts of the OpenMP 5.0 specification in their products. GNU is the furthest along with their implementation of GCC and they plan to have quite a few features in the next release of GCC, viz GCC 9. In addition, vendors' debugging and performance tools are being extended with OpenMP 5.0 features. More information can be found on the Resources tab of the OpenMP website, where you can also find links for OpenMP benchmarks and OpenMP research projects. Auxiliary Documents The OpenMP ARB has released several auxiliary documents to accompany OpenMP 5.0. These documents provide OpenMP context definitions in addition to example header files and interfaces that previously appeared in appendices of the OpenMP specification. A header file for the new tool interfaces is also provided. These associated source example will now be available in a compilable form. Education The OpenMP YouTube channel is a great place to find educational videos about OpenMP, from entry-level to advanced, including information about the new features. On the OpenMP website you can find links to tutorials and advanced courses on OpenMP 5.0 given at OpenMP workshops and the SC conferences (SC18 & SC19). OpenMP workshops where courses on OpenMP 5.0 are offered are the International Workshop on OpenMP (IWOMP), the OpenMP Developers Conference (OpenMPCon), and the UK OpenMP Users' Group. Of course, once OpenMP 5.0 implementations are widely available, the basic OpenMP courses given at universities and other venues will be updated. Finally, several books about OpenMP provide detailed lessons on the language and many OpenMP examples are available on the OpenMP website. Social Media Follow the latest OpenMP developments and news on Twitter (News - Alert) at @OpenMP_ARB, on Facebook at the OpenMP ARB page, and on the OpenMP Users LinkedIn page. About OpenMP The OpenMP ARB has as mission to standardize directive-based multi-language high-level parallelism that is performant, productive and portable. Jointly defined by a group of major computer hardware and software vendors, the OpenMP API is a portable, scalable model that gives parallel programmers a simple and flexible interface for developing parallel applications for platforms ranging from embedded systems and accelerator devices to multicore systems and shared-memory systems. The OpenMP ARB owns the OpenMP brand, oversees the OpenMP specification and produces and approves new versions of the specification. Further information can be found at http://www.openmp.org/. View source version on businesswire.com: https://www.businesswire.com/news/home/20181108005688/en/ |