Skip to main content

Hybrid Parallel Programming on SMP Clusters Using XPFortran and OpenMP

  • Conference paper

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

Abstract

Process-thread hybrid programming paradigm is commonly employed in SMP clusters. XPFortran, a parallel programming language that specifies a set of compiler directives and library routines, can be used to realize process-level parallelism in distributed memory systems. In this paper, we introduce hybrid parallel programming by XPFortran to SMP clusters, in which thread-level parallelism is realized by OpenMP. We present the language support and compiler implementation of OpenMP directives in XPFortran, and show some of our experiences in XPFortran-OpenMP hybrid programming. For nested loops parallelized by process-thread hybrid programming, it’s common sense to use process parallelization for outer loops and thread parallelization for inner ones. However, we have found that in some cases it’s possible to write XPFortran-OpenMP hybrid program in a reverse way, i.e., OpenMP outside, XPFortran inside. Our evaluation results show that this programming style sometimes delivers better performance than the traditional one. We therefore recommend using the hybrid parallelization flexibly.

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. Co-Array Fortran, http://www.co-array.org/

  2. Himeno Benchmark Program, http://accc.riken.jp/HPC_e/HimenoBMT_e.html

  3. EPCC OpenMP Microbenchmarks, http://www2.epcc.ed.ac.uk/computing/research_activities/openmpbench/openmp_index.html

  4. Message Passing Interface Forum. MPI: A message-passing interface standard, http://www.mpi-forum.org/

  5. OpenMP, http://openmp.org/wp/

  6. Iwashita, H., Aoki, M.: Mapping Normalization Technique on the HPF Compiler fhpf. In: Labarta, J., Joe, K., Sato, T. (eds.) ISHPC 2005 and ALPS 2006. LNCS, vol. 4759, pp. 315–329. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  7. Iwashita, H., Sueyasu, N., Kamiya, S., van Waveren, M.: VPP Fortran and the Design of HPF/JA Extensions. In: Concurrency and Computation: Practice and Experience, vol. 14(8-9), pp. 575–588. John Wiley &Sons Ltd., Chichester (2002)

    Google Scholar 

  8. Iwashita, H., Aoki, M.: A Code Generation Technique Common to Distribution Kinds on the HPF Translator. IPSJ Transactions on Advanced Computing Systems (ACS) 0(15), 329–339 (2006) (in Japanese)

    Google Scholar 

  9. Rabenseifner, R., Hager, G., Jost, G.: Hybrid MPI/OpenMP Parallel Programming on Clusters of Multi-Core SMP Nodes. In: Proc. of the 2009 17th Euromicro International Conference on Parallel, Distributed and Network-based Processing, pp. 427–436 (2009)

    Google Scholar 

  10. Benkner, S., Sipkova, V.: Language and Compiler Support for Hybrid-Parallel Programming on SMP Clusters. In: Zima, H.P., Joe, K., Sato, M., Seo, Y., Shimasaki, M. (eds.) ISHPC 2002. LNCS, vol. 2327, pp. 11–24. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Zhang, Y., Iwashita, H., Ishii, K., Kaneko, M., Nakamura, T., Hotta, K. (2010). Hybrid Parallel Programming on SMP Clusters Using XPFortran and OpenMP. In: Sato, M., Hanawa, T., Müller, M.S., Chapman, B.M., de Supinski, B.R. (eds) Beyond Loop Level Parallelism in OpenMP: Accelerators, Tasking and More. IWOMP 2010. Lecture Notes in Computer Science, vol 6132. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13217-9_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-13217-9_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-13216-2

  • Online ISBN: 978-3-642-13217-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics