HomeMPI Programming MPI 1.1 Index Using MPI on the AC - Next ->

MPI Course Overview

MPI Course Overview
MPI References
Websites

Basic Concepts
Sequential Computer Architecture Paradigm
Sequential Programming Paradigm
Message-Passing Computer Architecture Paradigm
Message-Passing Programming Paradigm
Message-Passing Programming Paradigm (cont'd)
Exercise 0: Distributed Memory Message-Passing Concepts
What is SPMD?
Emulating General Message-Passing with SPMD: Fortran
Emulating General Message Passing with SPMD: C
Messages
Access
Addressing
Reception
Point-to-Point Communication
Point-to-point communication types
Collective communications
Collective Example: Barrier
Message Passing Interface (MPI) standard

MPI Programs
Header files
Constants
MPI Function Format
Initialising MPI
Handles
Communicators
MPI_COMM_WORLD communicator
Rank
Size
Exiting MPI
The Four Essentials
Basic Fortran MPI Program
Basic C MPI Program
Using MPI (AC)
Exercise 1: Hello World - the minimal MPI program

Messages
Message Datatypes
MPI Basic Datatypes - C
MPI Basic Datatypes - Fortran

Point-to-Point Communication
Point-to-Point Communication
Synchronous Sends
Asynchronous Sends
Synchronous vs Asynchronous
Blocking Operations
Non-Blocking Operations
Non-Blocking Operations (cont'd)
Non-Blocking Operation Examples
Summary
Communication modes
MPI Blocking Sender Modes
Sending a message
Receiving a message
Synchronous Blocking Message-Passing
For a communication to succeed:
Wildcarding
Communication Envelope
Communication Envelope Information
Received Message Count
Message Order Preservation
Exercise 2: Ping pong
Timers
Buffers

Non-Blocking Communications
Deadlock
Non-Blocking Communications
Non-Blocking Send
Non-Blocking Receive
Handles used for Non-blocking Communication
Non-blocking Synchronous Send
Non-blocking Receive
Blocking and Non-Blocking
Non-Blocking Restrictions
Communication Modes
Completion
Multiple Communications
Testing Multiple Non-Blocking Communications
Exercise 3: Non-blocking communication
ring.f90

Collective Communications
Collective Communication
Barrier
Broadcast
Reduction Operations
Characteristics of Collective Communication
Collective communications
Barrier Synchronisation
Broadcast
Scatter
Gather
Global Reduction Operations
Example of Global Reduction
Predefined Reduction Operations
MPI_REDUCE
Variants of MPI_REDUCE
MPI_ALLREDUCE
MPI_SCAN
User-Defined Reduction Operators
Reduction Operator Functions
Registering a User-Defined Reduction Operator
Exercise 4: Collective Communication

Miscellaneous
MPI Datatypes
Derived Datatypes - Type Maps
MPI IO
MPI IO (cont'd)
Virtual Topologies
How to use a Virtual Topology
MPI 2

Tools for Developing MPI Programs
Debugging - Totalview
Totalview Exercise
Profiling - Intel Trace Collector/Analyzer
Profiling - Jumpshot

Communication Modes

MPI vs OpenMP
MPI
OpenMP

APAC NATIONAL FACILITY- Next ->