The Ongoing Evolution of OpenMP
- Lawrence Livermore National Lab. (LLNL), Livermore, CA (United States)
- Intel Corp., Madrid (Spain)
- Intel Deutschland GmbH, Feldkirchen (Germany)
- Barcelona Supercomputing Center, Barcelona (Spain)
- Sandia National Lab. (SNL-NM), Albuquerque, NM (United States)
- RWTH Aachen Univ., Aachen (Germany)
- Intel, Hillsboro, OR (United States)
Here, this paper presents an overview of the past, present and future of the OpenMP application programming interface (API). While the API originally specified a small set of directives that guided shared memory fork-join parallelization of loops and program sections, OpenMP now provides a richer set of directives that capture a wide range of parallelization strategies that are not strictly limited to shared memory. As we look toward the future of OpenMP, we immediately see further evolution of the support for that range of parallelization strategies and the addition of direct support for debugging and performance analysis tools. Looking beyond the next major release of the specification of the OpenMP API, we expect the specification eventually to include support for more parallelization strategies and to embrace closer integration into its Fortran, C and, in particular, C++ base languages, which will likely require the API to adopt additional programming abstractions.
- Research Organization:
- Sandia National Lab. (SNL-NM), Albuquerque, NM (United States); Lawrence Livermore National Lab. (LLNL), Livermore, CA (United States)
- Sponsoring Organization:
- USDOE National Nuclear Security Administration (NNSA)
- Grant/Contract Number:
- AC04-94AL85000; AC52-07NA27344
- OSTI ID:
- 1465188
- Alternate ID(s):
- OSTI ID: 1735813
- Report Number(s):
- SAND-2018-7212J; LLNL-JRNL-754009; 665399
- Journal Information:
- Proceedings of the IEEE, Vol. 106, Issue 11; ISSN 0018-9219
- Publisher:
- Institute of Electrical and Electronics EngineersCopyright Statement
- Country of Publication:
- United States
- Language:
- English
Web of Science
Similar Records
A ROSE-based OpenMP 3.0 Research Compiler Supporting Multiple Runtime Libraries
Center for Programming Models for Scalable Parallel Computing - Towards Enhancing OpenMP for Manycore and Heterogeneous Nodes