FLOSS Weekly 50
Guest: Jeff Squyres
Topic: Open MPI, a software implementation of the Message Passing Interface standard.
Recorded: December 31, 2008
Published: January 3rd, 2009
FLOSS Weekly 50: Open MPI
Open MPI, a software implementation of the Message Passing Interface standard.
Jeff Squyres works at cisco and is one of the core developer and chief evangelist of Open MPI.
MPI is a spec of about 600 pages which descries a communication protocol used to program parallel computers. Beside Open MPI there are a lot of closed source MPI implementations.
There are about 20 stakeholders in the Open MPI Projects, half of them are academic and the other half are vendors.
Open MPI provides libraries for different programming languages:
- bcMPI: bcMPI is a software package that implements MPI extensions for MATLAB and GNU Octave. It consists of a core library (libbcmpi) that interfaces to the MPI library, a toolbox for MATLAB (mexmpi), and a toolbox for Octave (octmpi).
- MPI Toolbox for Octave (MPITB): Octave Linux users in a cluster with several PCs can use MPITB in order to call MPI library routines from within the Octave environment.
- Parallel::MPI: Perl bindings for MPI.
- mpi4py: MPI for Python (or mpi4py) provides bindings of the Message Passing Interface (MPI) standard for the Python programming language, allowing any Python program to exploit multiple processors.
- pyMPI: a project integrating the Message Passing Interface (MPI) into the Python interpreter.
- Boost MPI: Boost C++ class library for MPI.
Open MPI is licenced under the BSD License.
The current fastest machine in the Top500 is the IBM Roadrunner at the Los Alamos National Laboratory in New Mexico, USA. It is running Open MPI. The system is a hybrid design with 12,960 IBM PowerXCell 8i CPUs and 6,480 AMD Opteron dual-core processor.
A tutorial is available at the National Center for Supercomputing Applications (NCSA) at the University of Illinois.