Abstract
The paper presents a compiler framework for analyzing and optimizing OpenMP programs. The framework includes Parallel Control Flow Graph and Parallel Data Flow equations based on the OpenMP relaxed memory consistency model. It enables traditional compiler analyses as well as specific optimizations for OpenMP. Based on the framework, we describe dead code elimination and barrier elimination algorithms. An OpenMP code example is showed in the paper to illustrate the optimizations. The framework guarantees that the traditional optimizations can be performed safely to OpenMP programs, and it further increases the opportunities for more aggressive optimizations.
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
Balasundaram, V., Kennedy, K.: Compile-time detection of race conditions in a parallel program. In: ICS 1989. Proceedings of the 3rd international conference on Supercomputing, pp. 175–185. ACM Press, New York (1989)
Buttlar, D., Nichols, B., Farrell, J.P.: Pthreads Programming. O’Reilly & Associates, Inc., Sebastopol (1996)
Callahan, D., Kennedy, K., Subhlok, J.: Analysis of event synchronization in a parallel programming tool. In: PPOPP 1990. Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming, pp. 21–30. ACM Press, New York (1990)
Hoeflinger, J.P., de Supinski, B.R.: The openmp memory model. In: The 1st International Workshop on OpenMP (IWOMP 2005) (2005)
Huang, L., Chapman, B., Liu, Z.: Towards a more efficient implementation of OpenMP for clusters via translation to Global Arrays. Parallel Computing 31(10-12) (2005)
Liao, C., Hernandez, O., Chapman, B., Chen, W., Zheng, W.: OpenUH: An optimizing, portable OpenMP compiler. Concurrency and Computation: Practice and Experience, Special Issue on CPC 2006 selected papers (2006)
OpenMP: Simple, portable, scalable SMP programming (2006), http://www.openmp.org
Tian, X., Bik, A., Girkar, M., Grey, P., Saito, H., Su, E.: Intel OpenMP C++/Fortran compiler for hyper-threading technology: Implementation and performance. Intel Technology Journal 6, 36–46 (2002)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Huang, L., Sethuraman, G., Chapman, B. (2008). Parallel Data Flow Analysis for OpenMP Programs. In: Chapman, B., Zheng, W., Gao, G.R., Sato, M., Ayguadé, E., Wang, D. (eds) A Practical Programming Model for the Multi-Core Era. IWOMP 2007. Lecture Notes in Computer Science, vol 4935. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69303-1_14
Download citation
DOI: https://doi.org/10.1007/978-3-540-69303-1_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69302-4
Online ISBN: 978-3-540-69303-1
eBook Packages: Computer ScienceComputer Science (R0)