Commit e4a395dc authored by Jussi Enkovaara's avatar Jussi Enkovaara
Browse files

Description of exercises and examples

parent 7c82d98b
...@@ -2,7 +2,39 @@ ...@@ -2,7 +2,39 @@
This repository contains various exercises and examples on parallel programming with message passing interface (MPI). This repository contains various exercises and examples on parallel programming with message passing interface (MPI).
A working MPI installation is needed, please see individual exercise/example for detailed build instructions. A working MPI installation is needed for building the code. Simple cases can
be built and run as:
- mpicc -o exe exercise.c ; mpirun -np xxx ./exe (C)
- mpif90 -o exe exercise.c ; mpirun -np xxx ./exe (Fortran)
- mpirun -np xxx python program.py (Python)
where mpicc/mpif90/mpirun should be replaced by the correct commands for
the particular computer platform. For more complex cases a Makefile is
provided.
## Exercises
- [Hello world](hello-world) Simplest possible MPI program (C, Fortran and
Python versions). Level: *basic*
- [Message exchange](message-exchange) Simple point-to-point communication
(C, Fortran and Python versions). Level: *basic*
- [Message chain](message-chain) Point-to-point communication in one
dimensional aperiodic chain. (C, Fortran and Python versions).
Level: *intermediate*
- [Collective communciation](collectives) Basic collective communication
patterns (C, Fortran and Python versions). Level: *basic/intermediate*
- [Parallel I/O](parallel-io) Simple parallel I/O using Posix calls and
MPI I/O (C and Fortran versions). Level: *basic/intermediate*
- [User defined datatypes](datatypes) Communication of non-uniform data using
user defined datatypes (C, Fortran and Python versions).
Level: *intermediate/advanced*
## Examples
- [Heat equation](heat-equation) A two dimensional heat equation solver which
is parallelized with MPI. The code features non-blocking point-to-point
communication, user defined datatypes, and parallel I/O with MPI I/O
(C, Fortran and Python versions). Level: *advanced*
## How to contribute ## How to contribute
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment