Optimizing strategies for telescoping languages

Arun Chauhan, Ken Kennedy
2001 Proceedings of the 15th international conference on Supercomputing - ICS '01  
At Rice University, we have undertaken a project to construct a framework for generating high-level problem solving languages that can achieve high performance on a variety of platforms. The underlying strategy, called telescoping languages, builds problemsolving systems from domain-specific libraries and scripting langauges. To accomplish this it extensively preanalyzes and transforms the library to produce a scripting language precompiler that optimizes library calls within the scripts as if
more » ... the scripts as if they were primitives in the underlying language. A major technical issue is how to preoptimize a library for use in applications that are yet to be seen. To address this issue, we have conducted a study of applications written in Matlab by the signal processing group at Rice University. This has identified a collection of old and new optimizations that show promise for this particular domain. Two promising new optimizations are procedure vectorization and procedure strength reduction. The latter of these is particularly useful in this problem domain and we expect it to be just as applicable in other contexts as well. We report on the results of an exploration of the effectiveness of procedure strength reduction on three real Digital Signal Processing (DSP) applications. By transforming these programs according to the strategies described in this paper, we were able to achieve speedups ranging from 10 to 40 percent over the entire application -speedups for individual functions were even more dramatic.
doi:10.1145/377792.377812 dblp:conf/ics/ChauhanK01 fatcat:2kuf6afy55hajlqv4aspqof7hq