By Luc Hogie

> Download
Click here to get the documented Java source code and the bytecode. Examples are included.

> Documentation
Javadoc

> Links
MPI forum
OO MPI
FAQs
MPJ Express

MPI is a standard programming model for the message-passing paradigm. Because of the distributed nature of MPI programs - and because of the lack of a confortable development environment for MPI applications - using MPI toolkits (usually written in C and Fortran) often is a tough experience.

This is mainly because distributed algorithms are inherently difficult to manage. But the fact is that learning message-passing programming does not require actual distribution: learning contents with a software layer that emulates distribution. This is what mpi4lectures does.

MPI4lectures is a 100% Pure Java library that emulates a read distributed MPI environment. This allows student to get familiar with MPI, by working in their favourite developement environment, without having to manage the distributed infrastructure.

MPI4lectures is not a full implementation of the MPI standard. It implements a subset of itsprimitives that it a suited to teaching and prototyping. prototyping parallel programs.

> Example
In order to realize how easy is MPI4lectures, you may take a look at this code example. Here is what is does: the processor 0 creates a text message and send it to processor 1 which randomly alter on character of the text and transfer the resulting message to the next processor.
The message is then chained until it reaches the last processor that send it back to processor 0. This behaves like a ring of processors.