程序代写代做代考 c++ Fortran case study Message-Passing Programming

Message-Passing Programming
Neil MacDonald, Elspeth Minty, Joel Malard, Tim Harding, Simon Brown, Mario Antonioletti, David Henty

Reusing this material
This work is licensed under a Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International License.
http://creativecommons.org/licenses/by-nc-sa/4.0/
This means you are free to copy and redistribute the material and adapt and build on the
material under the following terms: You must give appropriate credit, provide a link to the license and indicate if changes were made. If you adapt or build on the material you must distribute your work under the same license as the original.
Acknowledge EPCC as follows: “© EPCC, The University of Edinburgh, www.epcc.ed.ac.uk”
Note that this presentation contains images owned by others. Please seek their permission before reusing these images.
3

Syllabus
– Message Passing Concepts
– Basic MPI Programs
– Point-to-Point Communication
– Modes, Tags and Communicators
– Non-blocking Communication
– Collective Communications
– Virtual Topologies
– Derived Datatypes
– Case Study: Image processing
– MPI design
– Performance measurement and scalability
6

Aims
• A practical course to teach you to
– understand the message-passing model for parallel programming – write parallel programs in C, C++ or Fortran using the MPI library
• You will learn this through – lectures
– notes
• But MOST IMPORTANTLY by
– writing and executing example MPI programs
• each lecture has an associated practical example
7

Motivation
• The MPI library is the most important piece of software in parallel programming
• All of the world’s largest supercomputers are programmed using MPI
• Writing parallel programs using MPI is fun!
8