Skip to main content

Parallel Data Flow Analysis for OpenMP Programs

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4935))

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.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

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

    Chapter  Google Scholar 

  2. Buttlar, D., Nichols, B., Farrell, J.P.: Pthreads Programming. O’Reilly & Associates, Inc., Sebastopol (1996)

    Google Scholar 

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

    Chapter  Google Scholar 

  4. Hoeflinger, J.P., de Supinski, B.R.: The openmp memory model. In: The 1st International Workshop on OpenMP (IWOMP 2005) (2005)

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  7. OpenMP: Simple, portable, scalable SMP programming (2006), http://www.openmp.org

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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Barbara Chapman Weiming Zheng Guang R. Gao Mitsuhisa Sato Eduard Ayguadé Dongsheng Wang

Rights and permissions

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

Publish with us

Policies and ethics