MATmarks: Shared Memory Programming with MATLAB

Availability/ Documentation
Coming Attractions
About Us
Related Projects


MATmarks is an environment that allows users to run several
MATLAB® programs in parallel using the shared memory programming style. The environment extends the Matlab language with several primitives to enable shared variables and synchronization primitives.

MATmarks is built on top of Treadmarks® , a distributed memory system built at Rice University. Matmarks source code is basically like MATLAB® source code, except for a few new functions (implemented as .mex files). The most important of these is MMK_Share, which allows multiple running instances of MATLAB to share the value of a variable.

Other MATmarks commands enable process synchronization (locks and barriers) and introspection (like finding out one's "processor number").

The number of MATmarks primitives is small (<10) in order to keep the language as close to the original MATLAB as possible.

Availability and Documentation

Conditions: MATLAB 5 or later, Treadmarks source or binary release.

MATmarks is available free of cost for non-commercial use. However, a MATmarks user must have licenses for both Matlab and TreadMarks.

Read the MATmarks licensing terms before you start downloading the software.

SolarisIRIXLinux WinNT
Binaries coming soon coming soon not for a while not for a good while
Source code
not until we solve a licensing problem



MATmarks: A Shared Memory Environment for MATLAB Programming
George Almasi, Calin Cascaval, and David A. Padua
Published as poster in
HPDC '99
Download a compressed postscript version.

Coming Attractions

  • We are thinking about putting Treadmarks on top of the Illinois Fast Messages networking layer.
  • We are about to adapt the FALCON compiler to work with MATmarks.

    About the Authors

    We are
    George Almasi and Calin Cascaval, wasting our valuable time, not to mention government money, on MATmarks with our advisor's blessing and support: Prof. David Padua

    Related Projects