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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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.
Eduard Ayguade, Marc Gonzalez, and Jesus Labarta. Nanoscompiler: A research platform for openMP extensions. In European Workshop on OpenMP, September 1999.
Edison Design Group. http://www.edg.com.
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.
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.
Centre Europeu de Parallelism de Barcelona, Spain. Nanos Manual. http://nereida.deioc.ull.es/html/nanos.html.
Christian Brunschen and Mats Brorsson. OdinMP/CCp-a portable implementation of openMP for c. In European Workshop on OpenMP, September 1999.
Mitsuhisa Sato, Shigehisa Satoh, Kazuhiro Kusano, and Yoshio Tanaka. Design of openMP compiler for an SMP cluster. In European Workshop on OpenMP, September 1999.
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.
Silican Graphics Inc. Optimizing Compilers for High-Performance Computing. http://www.sgi.com/developers/devtools/languages/mipspro.html.
IBM. VisualAge C++ Professional for AIX V6.0. http://www-1.ibm.com/servers/eserver/ecatalog/us/software/6146.html.
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.
Fujitsu. Fortran & C Packages for SPARC Solaris. http://www.fr.fse.fujitsu.com/devuk/solaris.shtml.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
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