discover_ncsa
spotlight
partnerships
adv_computing
outreach
science
software_tech
divisions

search
ncsa_access_online
employment
ncsa_home



Programming with the Message Passing Interface (MPI)

Presented by NCSA Consulting Services

4/15/97


Click here to start


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

Author: John Towns

Email: hpc-training@ncsa.uiuc.edu

Copyright © 1996-1997 Board of Trustees of the University of Illinois.
All rights reserved. Do not copy or redistribute in any form.


NCSA
The National Center for Supercomputing Applications
University of Illinois at Urbana-Champaign

hpc-training@ncsa.uiuc.edu

Last modified: April 14, 1997