Introduction into Programming using MPI
The majority of the modern supercomputers in the world are nowadays simply built by combining huge numbers of smaller computers, communicating with each other through some interconnecting network by means of a software layer. In most cases the software layer used is MPI. MPI stands for "Message Passing Interface" and already indicates that it is basically a way of exchanging information between individual computers.
This MPI software layer is an extension of the C programming language, and can be used to program large supercomputers or simply a group of small desktop computers in an easy way. As this introduction mainly consists of examples in C we recommend having a (rudimentary) understanding of a C-like programming language, such as C++, Java or similar language.
In this 1-day course the basic principles to understand programming with MPI are explained. A large part of the course will be dedicated to laboratory sessions with many examples. After this course you should be able to make simple MPI programs to be run on a supercomputer, but the same code runs just as well - although a little slower :-) - on some of your own desktop systems or even on a single multicore system. This makes MPI more versatile than e.g. OpenMP that is confined to shared memory multicore systems.
09:30 - 09:45 Introduction
09:45 - 10:30 Parallel computing in general - Prof.dr.ir. C. Vuik
10:45 - 11:30 Some basic concepts of MPI - Ir. C.W.J. Lemmens
11:45 - 12:30 Laboratory session part 1 - Ir. C.W.J. Lemmens
12:45 - 13:30 Lunch
13:30 - 17:00 Laboratory session part 2 - Ir. C.W.J. Lemmens