Ever since the first FORmula TRANslator, compilers have purported to take an algorithm, formulated in human terms, and compile it to an efficient executable. Practice clearly does not live up to this ideal, as programming languages force execution-oriented design decisions on the programmer, and compiler imperfections necessitate further manual optimizations. While the ordinary programmer can ignore this problem by using libraries, the library developer cannot. The problem appears more desperate now than ever, since it is not known what form future architectures will take, combined with a trend towards pushing complexity away from the architecture (for example to lower power consumption) and onto the program and compiler.

The FLAME project already allows linear algebra libraries to be developed and coded at a high level of abstraction that better captures the underlying algorithms. It has already been shown that these technique greatly simplify the porting of libraries to different platforms ranging from conventional sequential computers to exotic multiGPU accelerators. However, the APIs for coding at a high level of abstraction incur a considerable performance penalty for operations that in each step perform relatively little computation (e.g., level-2 BLAS operations and ``unblocked'' algorithms). As a result, a nontrivial part of libflame, the library that has resulted from the project, still requires coding at a low level.

The project will develop a source-to-source translator will take algorithms expressed at a high level of abstraction and will transform these into a range of representations, including high-performance low-level code. This will overcome the final legitimate objection to the FLAME methodology since coding at a high level of abstraction will no longer carry a performance penalty. The approach will be generalized so that code transformations that an expert applies by hand in order to target different platforms will be made mechanical. Together, these represent a major departure from traditional approaches to library development.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Type
Standard Grant (Standard)
Application #
0917167
Program Officer
Almadena Y. Chtchelkanova
Project Start
Project End
Budget Start
2009-09-01
Budget End
2013-08-31
Support Year
Fiscal Year
2009
Total Cost
$400,000
Indirect Cost
Name
University of Texas Austin
Department
Type
DUNS #
City
Austin
State
TX
Country
United States
Zip Code
78712