
|
|
Departmental Colloquia (2004-2005)
May 20, 2005 11-12:00, LH101
Generation of High-Performance
Domain-Specific Languages
from Component Libraries
Ken Kennedy
John and Ann Doerr University Professor
Director, Center for High Performance Software
Rice University
Abstract
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-PLUS. 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, or even days, 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 application to a
variety of problems including high-level languages for signal processing,
mathematical library generation, and Matlab parallelism.
The long-term goal of this research 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 could facilitate a
dramatic broadening of the community that can use high-performance
computing platforms for problem solving.
Biography
Ken Kennedy is the John and Ann Doerr University Professor of
Computational Engineering and Director of the Center for High Performance
Software Research (HiPerSoft) at Rice University. He is a fellow of the
Institute of Electrical and Electronics Engineers, the Association for
Computing Machinery, and the American Association for the Advancement of
of
Science. He was elected to the National Academy of Engineering in
1990 and
to the American Academy of Arts and Sciences in 2005. From 1997 to
1999,
he served as co-chair of the President's Information Technology
Advisory
Committee (PITAC). For his leadership in producing the PITAC report on
funding of information technology research, he received the Computing
Research Association Distinguished Service Award (1999) and the RCI
Seymour Cray HPCC Industry Recognition Award (1999).
Prof. Kennedy has published two books and over two hundred technical
articles and supervised thirty-six Ph.D. dissertations on programming
support software for high-performance computer systems. In 1989, he
established the Center for Research on Parallel Computation (CRPC), a
NSF
Science and Technology Center, and directed it throughout its
eleven-year
lifetime. His research focuses on software for the support of
high-level
programming in science and engineering, with a particular emphasis on
scalable parallel computers and the Grid. He directs the GrADS
Project, a
collaborative eight-institution research effort started in 1999 with
NSF
support, which is focused on application development support for
computational Grids. He is also the project director of the academic
partner contract for the Los Alamos Computer Science Institute, which
is
located at Los Alamos National Laboratory. In recognition of his
contributions to software for high performance computation, he
received
the 1995 W. Wallace McDowell Award, the highest research award of the
IEEE
Computer Society. In 1999, he was named the third recipient of the ACM
SIGPLAN Programming Languages Achievement Award.
|