Skip to main content

A C++ Infrastructure for Automatic Introduction and Translation of OpenMP Directives

  • Conference paper
  • First Online:
OpenMP Shared Memory Parallel Programming (WOMPAT 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2716))

Included in the following conference series:

Abstract

In this paper we describe a C++ infrastructure for source-to-source translation. We demonstrate the translation of a serial program with high-level abstractions to a lower-level parallel program in two separate phases. In the first phase OpenMP directives are introduced, driven by the semantics of high-level abstractions. Then the OpenMP directives are translated to a C++ program that explicitly creates and manages parallelism according to the specified directives. Both phases are implemented using the same mechanisms in our infrastructure.

This work was performed under the auspices of the U.S. Department of Energy by University of California Lawrence Livermore National Laboratory under contract No. W-7405-Eng-48.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Daniel Quinlan, Brian Miller, Bobby Philip, and Markus Schordan. Treating a user-defined parallel library as a domain-specific language. In 16th International Parallel and Distributed Processing Symposium (IPDPS, IPPS, SPDP), pages 105–114. IEEE, April 2002.

    Google Scholar 

  2. Eduard Ayguade, Marc Gonzalez, and Jesus Labarta. Nanoscompiler: A research platform for openMP extensions. In European Workshop on OpenMP, September 1999.

    Google Scholar 

  3. Edison Design Group. http://www.edg.com.

  4. R. Parsons and D. Quinlan. A++/P++ array classes for architecture independent finite difference computations. In Proceedings of the Second Annual Object-Oriented Numerics Conference, April 1994.

    Google Scholar 

  5. Federico Bassetti, David Brown, Kei Davis, William Henshaw, and Dan Quinlan. OVERTURE: An object-oriented framework for high-performance scientific computing. In Proceedings of Supercomputing’98 (CD-ROM), Orlando, FL, November 1998. ACM SIGARCH and IEEE. Los Alamos National Laboratory.

    Google Scholar 

  6. Centre Europeu de Parallelism de Barcelona, Spain. Nanos Manual. http://nereida.deioc.ull.es/html/nanos.html.

  7. Christian Brunschen and Mats Brorsson. OdinMP/CCp-a portable implementation of openMP for c. In European Workshop on OpenMP, September 1999.

    Google Scholar 

  8. Mitsuhisa Sato, Shigehisa Satoh, Kazuhiro Kusano, and Yoshio Tanaka. Design of openMP compiler for an SMP cluster. In European Workshop on OpenMP, September 1999.

    Google Scholar 

  9. Seung Jai Min, Seon Wook Kim, Michael Voss, Sang Ik Lee, and Rudolf Eighmann. Portable compilers for openMP. In Workshop on OpenMP Applications and Tools, July 2001.

    Google Scholar 

  10. Silican Graphics Inc. Optimizing Compilers for High-Performance Computing. http://www.sgi.com/developers/devtools/languages/mipspro.html.

  11. IBM. VisualAge C++ Professional for AIX V6.0. http://www-1.ibm.com/servers/eserver/ecatalog/us/software/6146.html.

  12. Xinmin Tian, Aart Bik, Milind Girkar, Paul Grey, Hideki Saito, and Ernesto Su. Intel openMP C++/Fortran compiler for hyper-threading technology: Implementation and performance. Intel Technology Journal, 6(1):36–46, 2002.

    Google Scholar 

  13. Fujitsu. Fortran & C Packages for SPARC Solaris. http://www.fr.fse.fujitsu.com/devuk/solaris.shtml.

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Quinlan, D., Schordan, M., Yi, Q., de Supinski, B.R. (2003). A C++ Infrastructure for Automatic Introduction and Translation of OpenMP Directives. In: Voss, M.J. (eds) OpenMP Shared Memory Parallel Programming. WOMPAT 2003. Lecture Notes in Computer Science, vol 2716. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45009-2_2

Download citation

  • DOI: https://doi.org/10.1007/3-540-45009-2_2

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-40435-4

  • Online ISBN: 978-3-540-45009-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics