AspectMatlab | McIR and analysis and transformation engine | McVM and McJIT | Matlab to Fortran | Domain-Specific Scientific Languages

McFor: a MATLAB-to-Fortran 95 Compiler

Overview

The MATLAB-to-Fortran 95 compiler, McFor, is designed to translate MATLAB programs that are focussed on scientific computations to efficient and reusable Fortran code. The primary objective of this project is to apply static type inference and transformation techniques to produce efficient Fortran code and gain performance improvement over the current runtime execution environment. The second objective is to explore the possibility of using the Fortran language to simulate as many MATLAB language features as possible.

The McFor starts as a backend of the McLab system, and is developed by Jun Li as part of his M.Sc. thesis. The McFor compiler uses McLab's front end, including the MATLAB-to-Natlab translator, the Natlab Lexer and Parser. The initial results show that the generated Fortran programs perform better than corresponding MATLAB executions, with speedups on supported benchmarks ranging from 1.16 to 102, depending on the characteristics of the program.

Anton Dubrau joins the project since the beginning. He has created number of benchmarks and participated in the design of the compiler. His current research is focussed on extending the compiler to support more MATLAB language features and further improve the performance.

Publications

Availability

McLab will be open sourced under the Apache 2.0 license. The source code will be made available in the (near) future. For more information, please refer here.

Projects Publications Software People FAQs