Login
Computer Science @ Rochester
Monday, September 27, 2004
11:00 AM
CSB 209
Ken Kennedy
Rice University
High Performance (and Grid) Computing without a Degree in Computer Science (Distinguished Seminar Series)
One way to increase national productivity is to broaden the community of programmers by making it possible for end users to develop applications for themselves. Indeed, many users today are producing highly functional applications using scripting languages and high-level problem-solving systems such as Matlab, Visual Basic, and S+. Unfortunately, the productivity gains are offset by the costs of rewriting these applications in "production" programming languages such as C or Fortran once they are determined to be useful. Eliminating the need for this rewriting step would bring about a dramatic increase in global programming productivity.

This talk will describe an emerging research theme, called telescoping languages, that is exploring ways to generate optimized high-level problem-solving languages from annotated domain libraries. The strategy involves an extensive, compute-intensive preliminary analysis of the library, performed at language-generation time. The output of this process, which could take many hours to complete, will be an efficient compiler for an extended scripting language in which calls to the underlying domain library are recognized and optimized as primitive operations. The talk will describe this strategy and its applications in detail and report on some preliminary experiments demonstrating its effectiveness.

The long-term goal of this effort is to make it possible for ordinary users, particularly scientists and engineers, to build their own high-performance applications, just as they were once able to do in the early days of Fortran. If this effort succeeds, it will facilitate a dramatic broadening of the community that can use high-performance computing platforms for problem solving.