Matlab D: Compiling parallel Matlab with user-defined data distributions
Fletcher, Mary E.
Kennedy, Kenneth W., Jr.
Master of Science
While many scientists prefer to write applications in high-level languages like Matlab, these languages often do not deliver high performance. For computationally-intense applications, scientists typically write parallel code in low-level languages, which is tedious. To enable the translation from Matlab directly into high-performance parallel code, we augmented Matlab with distributed arrays and parallel forall loops to create the Matlab D language. We developed a compiler that translates Matlab D into parallel Fortran for distributed-memory machines. The compiler partitions work among processors using array distributions as a guide. To generate quality code for a broad range of applications, the Matlab D compiler supports user-defined distributions. Our experiments show that the Matlab D compiler generates parallel code with significantly higher performance than serial Matlab, enabling users to obtain high performance from high-level languages. This thesis describes the compiler implementation and demonstrates its promise with studies of several computational kernels.
Computer science; Applied sciences