Telescoping MATLAB for DSP applications
Doctor of Philosophy
This dissertation designs and implements a prototype MATLAB compiler for Digital Signal Processing (DSP) libraries, based on a novel approach called telescoping languages for compiling high-level languages. The thesis of this work is that it is possible to effectively and efficiently compile DSP libraries written in MATLAB using the telescoping languages approach that aims to automatically develop domain-specific application development environments based on component libraries for high performance computing. Initial studies on DSP applications demonstrated that the approach was promising. During this study two new techniques, procedure strength reduction and procedure vectorization, were developed. In a joint work, a new approach to MATLAB type inference was developed. The inferred type information can be used to specialize MATLAB libraries and generate code in C or Fortran. A new technique to engineer the optimizing compiler emerged during the course of the compiler development. This technique allows the optimizations of interest to be expressed in an XML-based language and the optimizer in the compiler to be a light-weight specialization engine. The type inference engine and type-based specialization were evaluated on a set of DSP procedures that constitute an informal library used by researchers in the Electrical and Computer Engineering department at Rice. The evaluation validated the effectiveness of the library generation strategy driven by specialization.