300x Faster Matlab using MatlabMPI
Jeremy Kepner (MIT Lincoln Lab), Stan Ahalt (Ohio St. Univ.)

TL;DR
MatlabMPI enables Matlab programs to efficiently utilize multiple processors by implementing MPI standards through simple file I/O, achieving high speedups and excellent software efficiency on various high-performance computing systems.
Contribution
This paper introduces MatlabMPI, a compact and portable implementation of MPI in Matlab that achieves near-C performance and high productivity for parallel computing in Matlab.
Findings
Achieves ~300x speedup with 304 CPUs on an IBM SP2.
Matches C MPI bandwidth at large message sizes.
High software efficiency with 0.85 Gflop/SLOC.
Abstract
The true costs of high performance computing are currently dominated by software. Addressing these costs requires shifting to high productivity languages such as Matlab. MatlabMPI is a Matlab implementation of the Message Passing Interface (MPI) standard and allows any Matlab program to exploit multiple processors. MatlabMPI currently implements the basic six functions that are the core of the MPI point-to-point communications standard. The key technical innovation of MatlabMPI is that it implements the widely used MPI ``look and feel'' on top of standard Matlab file I/O, resulting in an extremely compact (~250 lines of code) and ``pure'' implementation which runs anywhere Matlab runs, and on any heterogeneous combination of computers. The performance has been tested on both shared and distributed memory parallel computers (e.g. Sun, SGI, HP, IBM and Linux). MatlabMPI can match the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · CCD and CMOS Imaging Sensors
