MATLAB is the most popular language among scientists for solving numerically intensive
problems but it does not allow scientists to take full advantage of today’s supercomputers which
they have access to. We try to solve this problem by developing a MATLAB to X10 translator.
X10 is a programming language being developed by IBM research to provide
a programming model that provides scalability and productivity for new generation
supercomputing architectures. X10 is based on four basic principles of asynchrony, locality,
atomicity, and order developed on a type-safe, class-based, object-oriented foundation.
MiX10 is a part of the McLab project at SABLE lab that provides a static backend with
X10 as the target language for our MATLAB compiler. Two major challenges in translating
MATLAB to X10 are 1) Mapping programming constructs of a matrix-based, dynamic and “wild”
language to those of a statically typed, object-oriented, parallel programming language and 2)
Providing support for a huge number of MATLAB builtin methods that are a major reason behind
its success as a scientific programming language. MiX10 builds upon McLab’s Tamer analysis
framework and aims for performance and readability of generated X10 code.