NMPD

Numeriske Metoder for Parallelle Datamaskiner
(Numerical Methods for Parallel Computers)

[Lectures] [Literature] [Using MPI] [Examples] [Hotlist]

En viktig melding til studenter!

Alle studenter må huske å trykke opp e-mail adressen sin på første side av obligen!

Det viser seg at programmet fra i fjor, som er laget for å løse 2D varmeledningslikning, innholder en feil. Det er nemlig funksjonen updateDataStrukture som er feilprogrammert. Den riktig koden skal se ut som

void updateDataStrukture(double*** u_prev, double*** u)
{
double** tmp;

tmp = *u_prev;
*u_prev = *u;
*u = tmp;
}

Og i hovedprogrammet skal det være

updateDataStrukture(&u_prev, &u);

De studenter som har vanskelighet med obligen nettopp på grunn av dette kan søke om en ukes utsettelse for levering av obligen. Men husk å sende en søknad til nmpd først!

Course information in English is available.

En forelesningsplan gir en oversikt over hva som blir gjennomgått og den obligatoriske prosjektoppgaven

Literature

The readings for the NMPD course consist of

Using MPI

The program development in this course is based on the message passing standard MPI. For a short and practical introduction to the use of MPI at IfI, we refer to the tutorial Getting started with MPI and Parallel Programming. This document describes how to compile, link and run your MPI programs on modsognir, the local four-processor SGI Power Challenge L computer. For further information on the MPI version we are running, please have a look at the MPICH Guide. The MPI commands are listed in the MPI Reference Card (only a small subset of these functions are needed for the NMPD exercises ;-). Further details can be found in the MPI User's Guide, or in the list of Frequently Asked Questions.

Although the NMPD course will focus on MPI as the basic tool for interprocessor communication, there are several other alternatives based on message passing. One widely used protocol is PVM, which is an acronym for Parallel Virtual Machine.

Example programs

If problems encountered when compiling the following example programs, please send an e-mail.

The MPICH distribution includes some sample programs, see /usr/local/mpi/examples. In addition, here are some example programs from the NMPD course. Some of these examples will serve as a basis for project assignment. Copy these files to your own directory, compile and run!

Remember: In order to generate a Makefile for your own application, you should run mpireconfig as described in the tutorial Getting started with MPI and Parallel Programming.

Net resources on parallel computing

Here are some WWW pages that focus on parallel computations:

Designing and Building Parallel Programs
This is the electronic version of Ian Foster's textbook.

The MPI Home Page
The ultimate WWW resource on MPI.

The MPI FAQ
A list of frequently asked questions about MPI.

The PVM Home Page
Entry point for PVM related information.

Charm's Home Page
The parallel programming laboratory at the University of Illinois.

The PETSc Package for Scientific Computing.
An object-oriented, parallel environment for numerical solution of PDEs.

Parallel Iterative Methods
A Fortran library of iterative solvers.

HPCCP
The NASA High Performance Computations and Communications Program.

The ZIB Home Page
Konrad-Zuse-Zentrum, Berlin.

AHPCRC Research Projects
The Army High Performance Computing Research Center at the Minnesota Supercomputer Institute.

The University of Oslo Supercomputing Facilities
The computing center at the University of Oslo.

Para//ab
The supercomputing laboratory at the University of Bergen.

Collected Supercomputing Sites
A comprehensive hotlist for supercomputing sites world wide.

National HPCC Software Exchange
More pointers to high performance computing resources.

Last updated October 25, 1996 by nmpd@ifi.uio.no