Skip to main content

Incorporation of OpenMP Memory Consistency into Conventional Dataflow Analysis

  • Conference paper
OpenMP in a New Era of Parallelism (IWOMP 2008)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5004))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. OpenMP Forum. OpenMP: A Proposed Industry Standard API for Shared Memory Programming. Technical report (October 1997)

    Google Scholar 

  2. 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)

    Google Scholar 

  3. Lin, Y.: Static Nonconcurrency Analysis of OpenMP Programs. In: Proceedings of the first International Workshop on OpenMP (IWOMP 2005) (2005)

    Google Scholar 

  4. 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)

    Article  Google Scholar 

  5. 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)

    Google Scholar 

  6. 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)

    Chapter  Google Scholar 

  7. Shasha, D., Snir, M.: Efficient and correct execution of parallel programs that share memory. ACM Trans. Program. Lang. Syst. 10(2), 282–312 (1988)

    Article  Google Scholar 

  8. Krishnamurthy, A., Yelick, K.: Analyses and optimizations for shared address space programs. Journal of Parallel and Distributed Computing 38(2), 130–144 (1996)

    Article  MATH  Google Scholar 

  9. 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)

    Chapter  Google Scholar 

  10. Lee, J., Padua, D.A.: Hiding relaxed memory consistency with a compiler. IEEE Trans. Comput. 50(8), 824–833 (2001)

    Article  Google Scholar 

  11. Midkiff, S.P., Lee, J., Padua, D.A.: A compiler for multiple memory models. Concurrency and Computation: Practice and Experience 16, 197–220 (2004)

    Article  Google Scholar 

  12. Huang, L., Sethuraman, G., Chapman, B.: Parallel Dataflow Analysis for OpenMP Programs. In: Proceedings of the International Workshop on OpenMP (IWOMP 2007) (June 2007)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. Hoeflinger, J., de Supinski, B.: The OpenMP Memory Model. In: Proceedings of the first International Workshop on OpenMP (IWOMP 2005) (2005)

    Google Scholar 

  15. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Rudolf Eigenmann Bronis R. de Supinski

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics