Tutorial: Linux MPI Parallel Clusters Programming
The MPI (Message Passing Interface) is a language-independent communications protocol used to program parallel computers. It allows many computers to communicate with one another. It is used in computer clusters.

The OpenMP (Open Multi-Processing) is an application programming interface (API) that supports multi-platform shared memory multiprocessing programming in C/C++ and Fortran on many architectures, including Unix / Linux and Microsoft Windows platforms. It consists of a set of compiler directives, library routines, and environment variables that influence run-time behavior.
This tutorial explains how to obtain, build, and use an MPI stack for Linux machines. This tutorial will take you from "hello world" to parallel matrix multiplication in a matter of minutes. The exercise takes slightly more than 30 minutes and allows one to develop and run MPI codes on a multi-core server or on a HPC cluster.
OpenMP has several strong points: it is a very simple system to use and it is widely available in compilers for most major platforms. There are however, other methods to express parallelism in your code. On distributed parallel systems, like Linux clusters, the Message Passing Interface (MPI) is widely used. MPI is not a programming language, but rather a standard library that is used to send messages between multiple processes. These processes can be located on the same system (a single multi-core SMP system) or on a collection of distributed servers. Unlike OpenMP, the distributed nature of MPI allows it to work on almost any parallel environment.
Want to stay up to date with the latest Linux tips, news and announcements? Subscribe to our free e-mail newsletter or full RSS feed to get all updates.
You can Email this page to a friend.
You may also be interested in...
- Oracle and Linux Global File System with Oracle RAC (Real Application Clusters) software
- Linux Xen High Availability Clusters Configuration Tutorial
- Linux open source scientific software and libraries list
- Bjarne Stroustrup explains why software sucks (bad)
- Python Network Programming howto
Leave a Reply
We encourage your comments, and suggestions. But please stay on topic, be polite, and avoid spam. Thank you very much for stopping by our site!
Tags: application programming interface, communications protocol, compiler directives, computer clusters, independent communications, interface mpi, library routines, linux clusters, matrix multiplication, memory multiprocessing, message passing interface, microsoft windows platforms, mpi message, openmp programming examples, parallel clusters, parallel environment, parallel systems ~ Last updated on: April 18, 2008



Recent Comments
Today ~ 2 Comments
Today ~ 37 Comments
Today ~ 1 Comment
Yesterday ~ 12 Comments
Yesterday ~ 2 Comments