Table of Contents
Programming with the Message Passing Interface (MPI)
Outline
Types of Parallel Computing
Communicating With Other Processes
Cooperative Operations
One-sided Operations
One-Sided Operations
Class Example
What is MPI?
What is MPI?
Motivation for a New Design
Motivation for a New Design
Motivation for a New Design
The MPI Process
The MPI Process
Who Designed MPI?
Features of MPI
Features of MPI
Features of MPI
Features not in MPI
Features not in MPI
To MPI or not to MPI?
To MPI or not to MPI?
Why learn MPI?
Getting started
Writing MPI programs
Commentary
Compilation Commands
Running MPI programs
Finding out about the environment
A Simple Program (F77)
A Simple Program (F77)
A Simple Program (C)
A Simple Program (C)
Sending and Receiving Messages
MPI Basic Send/Receive
MPI Basic Collective Operation
Getting information about a message
Simple Fortran example
Simple Fortran Example
Simple Fortran Example
Six Function MPI
A taste of things to come
Broadcast and Reduction
pi.f
pi.f
pi.f
Exercise - PI
Exercise - Ring
Topologies
Cartesian Topologies
Defining a Cartesian Topology
Defining a Cartesian Topology
Finding neighbors
Finding Neighbors
Who am I?
Partitioning
Other Topology Routines
Why are these routines in MPI?
Why are these routines in MPI?
The Periods Argument
Periodic Grids
Nonperiodic Grids
Collective Communications in MPI
Collective Communications
Synchronization
Available Collective Patterns
Available Collective Computation Patterns
MPI Collective Routines
Built-in Collective Computation Operations
Buffering Issues
Better Buffering
Better Buffering
Blocking and Non-Blocking Communication
Blocking and Non-Blocking Communication
Some Solutions to the “Unsafe” Problem
Some Solutions to the “Unsafe” Problem
MPI's Non-Blocking Operations
Multiple completions
More on nonblocking communication
More on nonblocking communication
More on nonblocking communication
Communication Modes
Communication Modes
Buffered Send
Buffered Send
Buffered Send
Other Point-to-Point Features
Datatypes and Heterogeneity
Datatypes in MPI
Datatypes in MPI
Basic Datatypes (Fortran)
Basic Datatypes (C)
Further References on MPI
Further References on MPI
|