Abstract
Writing correct and efficient parallel programs is more difficult than doing so for sequential programs. One of the challenges comes from the nature of concurrent execution of a parallel program by different threads. Determining exact concurrency is NP-hard [10], and is impossible for real-world programs at compile time.
OpenMP provides an easy and incremental way to write parallel programs. The well-structured OpenMP constructs and well-defined semantics of OpenMP directives make compiler analyses more effective on OpenMP programs than on more loosely structured parallel programs that are solely based on runtime libraries, such as MPI and Pthreads.
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
OpenMP Fortran Application Program Interface, Version 2.0 (November 2000), http://www.openmp.org/specs
Balasundaram, V., Kennedy, K.: Compile-time detection of race conditions in a parallel program. In: Conference Proceedings, 1989 International Conference on Supercomputing, Crete, Greece, June 5– 1989, ACM SIGARCH, pp. 175–185 (1989)
Callahan, D., Kennedy, K., Subhlok, J.: Analysis of event synchronization in a parallel programming tool. In: Proceedings of the Second ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Seattle WA, March 1990, pp. 21–30 (1990)
Emrath, P., Padua, D.: Automatic detection of nondeterminacy in parallel programs. In: Proceedings of the ACM SIGPLAN and SIGOPS Workshop on Parallel and Distributed Debugging, January 1989, vol. 24(1), pp. 89–99. ACM Press, New York (1989)
Jeremiassen, T.E., Eggers, S.J.: Static analysis of barrier synchronization in explicitly parallel programs. In: International Conference on Parallel Architectures and Compilation Techniques, August 1994, pp. 171–180 (1994)
Lin, Y., Terboven, C., an Mey, D., Copty, N.: Automatic scoping of variables in parallel regions of an openmp program. In: Proceedings of the 2004 Workshop on OpenMP Applications and Tools, Houston, TX (May 2004)
Netzer, R.H.B., Ghosh, S.: Efficient race condition detection for shared-memory programs with post/wait synchronization. In: Shin, K.G. (ed.) Proceedings of the 1992 International Conference on Parallel Processing, Software, Ann Arbor, MI, August 1993, vol. 2, pp. 242–246. CRC Press, Boca Raton (1993)
Netzer, R.H.B., Miller, B.P.: What are race conditions? Some issues and formalizations. ACM Letters on Programming Languages and Systems 1(1), 74–88 (1992)
Satoh, S., Kusano, K., Sato, M.: Compiler optimization techniques for openMP programs. Scientific Programming 9(2-3), 131–142 (2001)
Taylor, R.N.: Complexity of analyzing the synchronization structure of concurrent programs. Acta Informatica 19, 57–84 (1983)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lin, Y. (2008). Static Nonconcurrency Analysis of OpenMP Programs. In: Mueller, M.S., Chapman, B.M., de Supinski, B.R., Malony, A.D., Voss, M. (eds) OpenMP Shared Memory Parallel Programming. IWOMP 2005. Lecture Notes in Computer Science, vol 4315. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-68555-5_4
Download citation
DOI: https://doi.org/10.1007/978-3-540-68555-5_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-68554-8
Online ISBN: 978-3-540-68555-5
eBook Packages: Computer ScienceComputer Science (R0)