Skip to main content

MPC and Coarray Fortran: Alternatives to Classic MPI Implementations on the Examples of Scalable Lattice Boltzmann Flow Solvers

  • Conference paper
  • First Online:
  • 1598 Accesses

Abstract

In recent years, more and more parallel programming concepts have emerged as alternatives or improvements to the well established MPI concept. Arguments for all the new parallel languages or alternative communication frameworks are typically the increasing number of cores in modern systems and the hierarchical memory structure in clusters of multi-socket multi-core compute nodes.

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   129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   169.99
Price excludes VAT (USA)
  • Durable hardcover 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

References

  1. P. Carribault, M. Pérache, and H. Jourdren. Enabling low-overhead hybrid MPI / OpenMP parallelism with MPC. Beyond Loop Level Parallelism in OpenMP Accelerators Tasking and More, pages 1–14, 2010.

    Google Scholar 

  2. J. Dáz Martín, J. Rico Gallego, J. Álvarez Llorente, and J. Perogil Duque. An MPI-1 compliant thread-based implementation. In M. Ropo, J. Westerholm, and J. Dongarra, editors, Recent Advances in Parallel Virtual Machine and Message Passing Interface, volume 5759 of Lecture Notes in Computer Science, pages 327–328. Springer Berlin / Heidelberg, 2009. doi:10.1007/978-3-642-03770-2_42.

    Google Scholar 

  3. E. Demaine. A threads-only MPI implementation for the development of parallel programs. In Proceedings of the 11th International Symposium on High Performance Computing Systems, pages 153–163, 1997.

    Google Scholar 

  4. S. Didelot, P. Carribault, M. Pérache, and W. Jalby. Improving MPI communication overlap with collaborative polling. EuroMPI, 2012. to appear.

    Google Scholar 

  5. G. Hager and G. Wellein. Introduction to High Performance Computing for Scientists and Engineers. CRC Press, 2010.

    Google Scholar 

  6. M. Hasert, H. Klimach, and S. Roller. CAF versus MPI – applicability of CoArray Fortran to a flow solver. In Proceedings of the 18th European MPI Users’ Group conference on Recent advances in the message passing interface, EuroMPI’11, pages 228–236, Berlin, Heidelberg, 2011. Springer-Verlag.

    Google Scholar 

  7. Intel Corp. Intel MPI Benchmarks. http://software.intel.com/en-us/articles/intel-mpi-benchmarks, 2012.

  8. Media Engineering Group (GIM) at the University of Extremadura. AzequiaMPI. http://gim.unex.es/azequiampi, 2012.

  9. MPC. MPC project web site, 2012. http://mpc.sourceforge.net/.

  10. M. Pérache, H. Jourdren, and R. Namyst. MPC: A unified parallel runtime for clusters of NUMA machines. In Proceedings of the 14th international Euro-Par conference on Parallel Processing, Euro-Par ’08, pages 78–88, Berlin, Heidelberg, 2008. Springer-Verlag. doi:10.1007/978-3-540-85451-7_9.

    Google Scholar 

  11. G. Schubert, H. Fehske, G. Hager, and G. Wellein. Hybrid-parallel sparse matrix-vector multiplication with explicit communication overlap on current multicore-based systems. Parallel Processing Letters, 21(03):339–358, 2011. doi:10.1142/S0129626411000254.

    Article  MathSciNet  Google Scholar 

  12. K. Sembritzki. Evaluation of the CoArray Fortran programming model on the example of a lattice Boltzmann code. Master’s thesis, Erlangen Regional Computing Center, University of Erlangen-Nuremberg, 2012. http://blogs.fau.de/hager/files/2012/07/MASembritzki.pdf.

  13. H. Tang, K. Shen, and T. Yang. Compile/run-time support for threaded MPI execution on multiprogrammed shared memory machines. SIGPLAN Not., 34(8):107–118, May 1999. doi:10.1145/329366.301114.

    Article  Google Scholar 

Download references

Acknowledgements

This work was financially supported through the framework of the Competence Network for Technical, Scientific High Performance Computing in Bavaria (KONWIHR) and by BMBF under grant No. 01IH08003A (project SKALB).

It was also partly conducted at the Exascale Computing Research Center (ECR), with support provided by CEA, GENCI, Intel, and UVSQ. The hospitality of the Exascale Computing Research Center at Université de Versailles St-Quentin-en-Yvelines while working on the MPC benchmarks is gratefully acknowledged by Markus Wittmann.

Special thanks go to Prof. William Jalby for enabling this research visit at ECR, and to Marc Tchiboukdjian and Sylvain Didelot for their kind help with MPC.

The Coarray Fortran tests have been done by Klaus Sembritzki as part of his Master Thesis, which was also carried out in cooperation with ECR at UVSQ.

Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the CEA, GENCI, Intel or UVSQ.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Markus Wittmann .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Wittmann, M., Hager, G., Wellein, G., Zeiser, T., Krammer, B. (2013). MPC and Coarray Fortran: Alternatives to Classic MPI Implementations on the Examples of Scalable Lattice Boltzmann Flow Solvers. In: Nagel, W., Kröner, D., Resch, M. (eds) High Performance Computing in Science and Engineering ‘12. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33374-3_27

Download citation

Publish with us

Policies and ethics