O'Caml for Numerical Computing

Project Description

In the paper, "Flops to Megaflops", Moreira, et. al enumerate many reasons why current Java compilers are not able to obtain anywhere near the level of performance that a C or C++ compiler is able to obtain for matrix computations. Some of these reasons include,

In addition to spelling out these problems, the paper spells out possible compiler techniques that might be used to overcome them.

Objective Caml (O'Caml) is a dialect of ML that suffers many of the same defects as Java.

Project Goals

The goal of this project is to implement the Moreira's techniques in the O'Caml native code compiler and show that a Higher-Order Typed language, like O'Caml, can be used to generate code for matrix computations thtat is competitive in performance with commercial C or Fortran compilers.

What you need to do

References