Abstract
Current OpenMP compilers are often limited in their analysis and optimization of OpenMP programs by the challenge of incorporating OpenMP memory consistency semantics into conventional data flow algorithms. An important reason for this is that data flow analysis within current compilers traverse the program’s control-flow graph (CFG) and the CFG does not accurately model the memory consistency specifications of OpenMP. In this paper, we present techniques to incorporate memory consistency semantics into conventional dataflow analysis by transforming the program’s CFG into an OpenMP Producer-Consumer Flow Graph (PCFG), where a path exists from writes to reads of shared data if and only if a dependence is implied by the OpenMP memory consistency model. We present algorithms for these transformations, prove the correctness of these algorithms and discuss a case where this transformation is used.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
OpenMP Forum. OpenMP: A Proposed Industry Standard API for Shared Memory Programming. Technical report (October 1997)
Satoh, S., Kusano, K., Sato, M.: Compiler Optimization Techniques for OpenMP Programs. In: Proc. of the Second European Workshop on OpenMP (EWOMP 2000) (September 2000)
Lin, Y.: Static Nonconcurrency Analysis of OpenMP Programs. In: Proceedings of the first International Workshop on OpenMP (IWOMP 2005) (2005)
Adve, S.V., Hill, M.D.: A Unified Formalization of Four Shared-Memory Models. IEEE Trans. on Parallel and Distributed Systems 4(6), 613–624 (1993)
Lee, S.-I., Johnson, T.A., Eigenmann, R.: Cetus - An Extensible Compiler Infrastructure for Source-to-Source Transformation. In: Rauchwerger, L. (ed.) LCPC 2003. LNCS, vol. 2958, pp. 539–553. Springer, Heidelberg (2004)
Basumallik, A., Eigenmann, R.: Towards automatic translation of openmp to mpi. In: ICS 2005: Proceedings of the 19th annual International Conference on Supercomputing, Cambridge, Massachusetts, USA, pp. 189–198. ACM Press, New York (2005)
Shasha, D., Snir, M.: Efficient and correct execution of parallel programs that share memory. ACM Trans. Program. Lang. Syst. 10(2), 282–312 (1988)
Krishnamurthy, A., Yelick, K.: Analyses and optimizations for shared address space programs. Journal of Parallel and Distributed Computing 38(2), 130–144 (1996)
Fang, X., Lee, J., Midkiff, S.P.: Automatic fence insertion for shared memory multiprocessing. In: ICS 2003: Proceedings of the 17th annual international conference on Supercomputing, pp. 285–294. ACM Press, New York (2003)
Lee, J., Padua, D.A.: Hiding relaxed memory consistency with a compiler. IEEE Trans. Comput. 50(8), 824–833 (2001)
Midkiff, S.P., Lee, J., Padua, D.A.: A compiler for multiple memory models. Concurrency and Computation: Practice and Experience 16, 197–220 (2004)
Huang, L., Sethuraman, G., Chapman, B.: Parallel Dataflow Analysis for OpenMP Programs. In: Proceedings of the International Workshop on OpenMP (IWOMP 2007) (June 2007)
Lin, Y., Terboven, C., an Mey, D., Copty, N.: Automatic Scoping of Variables in Parallel Regions of an OpenMP Program. In: Chapman, B.M. (ed.) WOMPAT 2004. LNCS, vol. 3349, pp. 83–97. Springer, Heidelberg (2005)
Hoeflinger, J., de Supinski, B.: The OpenMP Memory Model. In: Proceedings of the first International Workshop on OpenMP (IWOMP 2005) (2005)
Bronevetsky, G., de Supinski, B.: Complete Formal Specification of the OpenMP Memory Model. In: Proceedings of the second International Workshop on OpenMP (IWOMP 2006) (2006)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Basumallik, A., Eigenmann, R. (2008). Incorporation of OpenMP Memory Consistency into Conventional Dataflow Analysis. In: Eigenmann, R., de Supinski, B.R. (eds) OpenMP in a New Era of Parallelism. IWOMP 2008. Lecture Notes in Computer Science, vol 5004. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-79561-2_7
Download citation
DOI: https://doi.org/10.1007/978-3-540-79561-2_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-79560-5
Online ISBN: 978-3-540-79561-2
eBook Packages: Computer ScienceComputer Science (R0)