Abstract
Code-passing abstractions based on lambdas and blocks are becoming increasingly popular to capture repetitive patterns that are amenable to parallelization. These abstractions improve code mantainability and simplify choosing from a range of mechanisms to implement parallelism. Several frameworks that use this model, including RAJA and Kokkos, employ OpenMP as one of their target parallel models. However, OpenMP inadequately supports the abstraction since it frequently requires information that is not available within the abstraction. Thus, OpenMP requires access to variables and parameters not directly supplied by the base language. This paper explores the issues with supporting these abstractions in OpenMP, with a particular focus on device constructs and the aggregation and passing of OpenMP state through base language abstractions. We propose mechanisms to improve support for these abstractions and also to reduce the burden of duplication in existing OpenMP applications.
This material is based upon work supported by the U.S. Department of Energy (LLNL-CONF-671602).
The rights of this work are transferred to the extent transferable according to title 17 §105 U.S.C.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
OpenACC 2.0 application programming interface specification, June 2013. http://www.openacc.org/sites/default/files/OpenACC%202%200.pdf
Hornung, R., Keasler, J.: The RAJA portability layer: overview and status. Technical report, Lawrence Livermore National Laboratory (LLNL), Livermore, CA (2014)
ISO/IEC: Iso international standard iso/iec 14882:2011 - information technology - programming langugages - c++ (2011). http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=50372
ISO/IEC: Iso international standard iso/iec 14882:2014 - information technology - programming langugages - c++ (2011). http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=64029
OpenMP ARB: OpenMP 4.0 specification, June 2013. http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf
Sakamoto, K., Furumoto, T.: Grand central dispatch. In: Proceedings of Multithreading and Memory Management for iOS and OS X, pp. 139–145. Springer (2012)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland (outside the US)
About this paper
Cite this paper
Scogland, T.R.W., Keasler, J., Gyllenhaal, J., Hornung, R., de Supinski, B.R., Finkel, H. (2015). Supporting Indirect Data Mapping in OpenMP. In: Terboven, C., de Supinski, B., Reble, P., Chapman, B., Müller, M. (eds) OpenMP: Heterogenous Execution and Data Movements. IWOMP 2015. Lecture Notes in Computer Science(), vol 9342. Springer, Cham. https://doi.org/10.1007/978-3-319-24595-9_19
Download citation
DOI: https://doi.org/10.1007/978-3-319-24595-9_19
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-24594-2
Online ISBN: 978-3-319-24595-9
eBook Packages: Computer ScienceComputer Science (R0)