Improving programmer productivity is a crucial challenge, especially with the emergence of multi- and many-core processors. High level mathematical equations serve as declarative specifications for a large class of compute- and data- intensive parts of programs. The expressivity of such equations is greatly enhanced when users are allowed to specify collective operations called "reductions:" associative and commutative operators applied to sets of values. Another common feature of such equational programs is "reuse:" at different points in a set, the same intermediate value is (re)- computed or used. Certain extremely effective program optimizations are possible when equational programs have both reductions and reuse. These optimizations yield new equations with lower computational complexity (e.g., a quadratic time equation can be transformed into one with linear complexity). This project investigates how to perform these simplifications automatically and optimally. The PIs will develop and deploy a tool called Reduction Simplification Engine (RSE) that implements such optimizations techniques. Traditional compiler optimizations simply seek a few percentage points of performance gains, at best a small, constant factor. On the other hand, the optimizations performed by the RSE have significantly more benefits since they reduce the asymptotic complexity of the program.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Type
Standard Grant (Standard)
Application #
0811852
Program Officer
Almadena Y. Chtchelkanova
Project Start
Project End
Budget Start
2008-09-01
Budget End
2010-08-31
Support Year
Fiscal Year
2008
Total Cost
$72,000
Indirect Cost
Name
Colorado State University-Fort Collins
Department
Type
DUNS #
City
Fort Collins
State
CO
Country
United States
Zip Code
80523