Advertisement

Supporting Indirect Data Mapping in OpenMP

  • Thomas R. W. ScoglandEmail author
  • Jeff Keasler
  • John Gyllenhaal
  • Rich Hornung
  • Bronis R. de Supinski
  • Hal Finkel
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9342)

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.

Keywords

Base Language Reference Type Array Section Default Mapping Default Clause 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
  2. 2.
    OpenACC 2.0 application programming interface specification, June 2013. http://www.openacc.org/sites/default/files/OpenACC%202%200.pdf
  3. 3.
    Hornung, R., Keasler, J.: The RAJA portability layer: overview and status. Technical report, Lawrence Livermore National Laboratory (LLNL), Livermore, CA (2014)Google Scholar
  4. 4.
    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
  5. 5.
    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
  6. 6.
    OpenMP ARB: OpenMP 4.0 specification, June 2013. http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf
  7. 7.
    Sakamoto, K., Furumoto, T.: Grand central dispatch. In: Proceedings of Multithreading and Memory Management for iOS and OS X, pp. 139–145. Springer (2012)Google Scholar

Copyright information

© Springer International Publishing Switzerland (outside the US) 2015

Authors and Affiliations

  • Thomas R. W. Scogland
    • 1
    Email author
  • Jeff Keasler
    • 1
  • John Gyllenhaal
    • 1
  • Rich Hornung
    • 1
  • Bronis R. de Supinski
    • 1
  • Hal Finkel
    • 2
  1. 1.Lawrence Livermore National LaboratoryLivermoreUSA
  2. 2.Argonne National LaboratoryLemontUSA

Personalised recommendations