Abstract
The recent parallel language standard for shared memory multiprocessor (SMP) machines, OpenMP, promises a simple and portable interface for programmers who wish to exploit parallelism explicitly. In this paper, we present our effort to develop portable compilers for the OpenMP parallel directive language. Our compiler consists of two parts. Part one is an OpenMP parallelizer, which transforms sequential languages into OpenMP. Part two transforms programs written in OpenMP into thread-based form and links with our runtime library. Both compilers are built on the Polaris compiler infrastructure. We present performance measurements showing that our compiler yields results comparable to those of commercial OpenMP compilers. Our infrastructure is freely available with the intent to enable research projects on OpenMP-related language development and compiler techniques.
This work was supported in the part by NSF grants #9703180-CCR and #9872516-EIA.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
William Blume, Ramon Doallo, Rudolf Eigenmann, John Grout, Jay Hoeflinger, Thomas Lawrence, Jaejin Lee, David Padua, Yunheung Paek, Bill Pottenger, Lawrence Rauchwerger, and Peng Tu. Parallel programming with Polaris. IEEE omputer, pages 78–82, December 1996.
Mitsuhisa Sato, Shigehisa Satoh, Kazuhiro Kusano, and Yoshio Tanaka. Design of OpenMP compiler for a SMP cluster. In The 1st European Workshop on OpenMP (EWOMP’99), pages 32–39, September 1999.
C. Brunschen and M. Brorsson. OdinMP/CCp — a porable implementation of OpenMP for C. Concurrency: Practice and Experience, (12):1193–1203, 2000.
Seon Wook Kim, Michael Voss, and Rudolf Eigenmann. Performance analysis of parallel compiler backends on shared-memory multiprocessors. In Compilers for Parallel Computers (CPC2000), pages 305–320, January 2000.
Mike Voss. Portable level-parallelism for shared-memory multiprocessor architectures. Master’s thesis, Electrical and Computer Engineering, Purdue University, December 1997.
Bill Pottenger and Rudolf Eigenmann. Idiom Recognition in the Polaris Parallelizing Compiler. Proceedings of the 9th ACM International Conference on Supercomputing, pages 444–448, 95.
John L. Henning. SPEC CPU2000: Measuring CPU performance in the new millennium. IEEE Computer, July 2000.
Sun Microsystems Inc., Mountain View, CA, http://www.sun.com/servers/enterprise/e4000/index.html. Sun Enterprise 4000.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Min, S.J., Kim, S.W., Voss, M., Lee, S.I., Eigenmann, R. (2001). Portable Compilers for OpenMP. In: Eigenmann, R., Voss, M.J. (eds) OpenMP Shared Memory Parallel Programming. WOMPAT 2001. Lecture Notes in Computer Science, vol 2104. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44587-0_2
Download citation
DOI: https://doi.org/10.1007/3-540-44587-0_2
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42346-1
Online ISBN: 978-3-540-44587-6
eBook Packages: Springer Book Archive