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.