Arun Chauhan, Cheryl McCosh, Ken Kennedy, and Richard Hanson (2003)
Automatic Type-Driven Library Generation for Telescoping Languages
In: ACM/IEEE SC 2003 Conference on High Performance Networking and Computing (Supercomputing), Washington, DC, USA, IEEE Computer Society.
Telescoping languages is a strategy to automatically generate highly-optimized domain-specific libraries. The key idea is to create specialized variants of library procedures through extensive offline processing. This paper describes a telescoping system, called ARGen, which generates high-performance Fortran or C libraries from prototype Matlab code for the linear algebra library, ARPACK. ARGen uses variable types to guide procedure specializations on possible calling contexts. ARGen needs to infer Matlab types in order to speculate on the possible variants of library procedures, as well as to generate code. This paper shows that our type-inference system is powerful enough to generate all the variants needed for ARPACK automatically from the Matlab development code. The ideas demonstrated here provide a basis for building a more general telescoping system for Matlab.