Institute of Computer Languages
Compilers and Languages Group
Talks 2004 - Dan Quinlan
The Compilers and Languages Group invites you to a talk given by
Dr. Dan Quinlan
(Lawrence Livermore National Laboratory) on
Telescoping Languages: From Domain Specific Libraries to Domain Specific Languages
Date: |
Monday, June 7, 2004
|
---|
Time: |
16:15 |
---|
Location: |
TU Wien, building at the Freihaus, FH HS 2,
Wiedner Hauptstraße 8, Turm B,
yellow area, 2nd upper floor |
---|
Abstract:
The development of large scientific applications is particularly
tedious, slow, and expensive given the combination of algorithm,
application, and architecture complexities. Telescoping languages
define a mechanism for building new languages from existing base
languages by providing incrementally more optimization tailored to
abstractions present in specific applications or libraries. A goal of
the approach is to make it cheap and practical to construct efficient
domain specific languages to service the requirements of small, but
high specialized domains of computational science; or computational
science generally. Any common language can form the base language for
this concept; separately constructed optimizers scan the application
to recognize user-defined abstractions expressed in the base language.
The union of the grammar to define the base level language with the
additional product rules to define user-defined abstractions outside
the base language defines a new domain specific language built on top
of the base language. Only optimizations on the domain specific
abstractions are required in this incremental approach to define a new
language. The dividing line between library and compiler optimizations
may be adjusted as required. No additional syntax is possible within
this approach, but this yields simpler new domain specific languages
which only include new domain specific abstractions and are more
acceptable to end users. This talk will introduce the ROSE project,
current work is focused on development of "Telescoping Languages"
based on source-to-source translators in C++ which has rich support
for the development of object-oriented abstractions. Less powerful
support for C is also of interest and is related to the topic of
"Interface Compilation." Future work will also include F90, this work
is a collaboration with Rice University.
This approach can be summarized as formally turning domain specific
libraries into domain specific languages. And if pushed to the
limits, defines a mechanism to turn any application into an
implementation in its own language; supported with highly application
specific optimizations, where automatically generated code is
expressed in the base language and can be targeted at a specific
computer architecture. Many parts of the construction of such
specialized optimizing compilers could be automated from a specific
library's interface. It is likely that work on the classification of
the semantics of library abstractions could automate many of the
optimizing transformations. This approach also feeds back into the
better design of domain specific abstractions yielding abstractions
that can be more efficiently optimized. Telescoping Languages is a
rich area for research, the approach could well be a significant
mechanism to addressing the poor economic characteristics related to
the support of computer languages within scientific computing.
About Dr. Dan Quinlan:
Dan Quinlan works on the Overture Project in the Computer Science
Group in CASC at Lawrence Livermore National Laboratory, CA,
U.S.A. His research is in numerous areas that intersect computer
science and numerical analysis. Research interests include
object-oriented numerical frameworks, parallel adaptive mesh
refinement, parallel multigrid algorithms, semantics-based source code
transformations, C++ compiler tools/infrastructure/design, cache-based
optimizations, parallel array classes, parallel data distribution
mechanisms, and parallel load balancing algorithms.
Dr. Quinlan earned his Ph.D. in Computational Mathematics from
University of Colorado.