Abstract
The process of manually specifying scopes of variables when writing an OpenMP program is both tedious and error-prone. To improve productivity, an autoscoping feature was proposed in [1]. This feature leverages the analysis capability of a compiler to determine the appropriate scopes of variables. In this paper, we present the proposed autoscoping rules and describe the autoscoping feature provided in the Sun StudioTM 9 Fortran 95 compiler. To investigate how much work can be saved by using autoscoping and the performance impact of this feature, we study the process of parallelizing PANTA, a 50,000-line 3D Navier-Stokes solver, using OpenMP. With pure manual scoping, a total of 1389 variables have to be explicitly privatized by the programmer. With the help of autoscoping, only 13 variables have to be manually scoped. Both versions of PANTA achieve the same performance.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
http://www.compunity.org , see section New Ideas for OpenMP with a link to http://support.rz.rwth-aachen.de/public/AutoScoping.pdf
an Mey, D., Schmidt, S.: From a Vector Computer to an SMP-Cluster - Hybrid Parallelization of the CFD Code PANTA. In: 2nd European Workshop on OpenMP, Edinburgh (2000)
Institute for Jet Propulsion and Turbomachinery, RWTH Aachen University, http://www.ist.rwth-aachen.de [/en/forschung/instationaere_li.html]
Volmar, T., Brouillet, B., Gallus, H.E., Benetschik, H.: Time Accurate 3D Navier-Stokes Analysis of a 11/2 Stage Axial Flow Turbine, AIAA 98-3247, 1998.
Zima, H., Chapman, B.: Supercompilers for Parallel and Vector Computers. ACM Press, New York (1991)
Wolfe, M.J.: Optimizing Supercompilers for Supercomputers, Ph. D. Thesis, Department of Computer Science, University of Illinois at Urbana-Champaign (1982)
Banerjee, U., Eigenmann, R., Nicolau, A., Padua, D.A.: Automatic program parallelization. Proceedings of the IEEE 81(2) (February 1993)
Blume, W., Doallo, R., Eigenmann, R., Grout, J., Hoeflinger, J., Lawrence, T., Lee, J., Padua, D., Paek, Y., Pottenger, W., Rauchwerger, L., Tu, P.: Parallel Programming with Polaris. IEEE Computer 29(12), 78–82 (1996)
Hall, M.W., Anderson, J.M., Amarasinghe, S.P., Murphy, B.R., Liao, S.-W., Bugnion, E., Lam, M.S.: Maximizing Multiprocessor Performance with the SUIF Compiler. IEEE Computer (December 1996)
Polychronopoulos, C., Girkar, M.B., Haghighat, M.R., Lee, C.L., Leung, B.P., Schouten, D.A.: Parafrase-2: An Environment for Parallelizing, Partitioning, Synchronizing, and Scheduling Programs on Multiprocessors. In: Proceedings of the International Conference on Parallel Processing, St. Charles IL, August 1989, vol. II, pp. 39–48 (1989)
Fortran 77 Programmer’s Guide, document number: 007-0711-060, Silicon Graphics, Inc. (1994)
CF90TM Commands and Directives Reference Manual – S-3901-35, Cray Inc.
Sun Studio 8: Program Performance Analysis Tools, Sun Microsystems, Inc., http://docs.com/db/doc/817-5068
Voss, M., Chiu, E., Chow, P., Wong, C., Yuen, K.: An Evaluation of Auto-Scoping in OpenMP. In: Chapman, B.M. (ed.) WOMPAT 2004. LNCS, vol. 3349, Springer, Heidelberg (2005)
Jin, H., Frumkin, M., Yan, J.: Automatic Generation of OpenMP Directives and Its Application to Computational Fluid Dynamic Codes. In: WOMPEI 2000: International Workshop on OpenMP: Experiences and Implementations, Tokyo, Japan (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lin, Y., Terboven, C., Mey, D.a., Copty, N. (2005). Automatic Scoping of Variables in Parallel Regions of an OpenMP Program. In: Chapman, B.M. (eds) Shared Memory Parallel Programming with Open MP. WOMPAT 2004. Lecture Notes in Computer Science, vol 3349. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31832-3_8
Download citation
DOI: https://doi.org/10.1007/978-3-540-31832-3_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-24560-5
Online ISBN: 978-3-540-31832-3
eBook Packages: Computer ScienceComputer Science (R0)