|
Tutorial : Multi-stage Programming for
Circuit Generation (MSP 2009)
Speaker: Walid Taha
(Rice University, USA)
Abstract:
Multi-stage programming is a paradigm for writing generic programs that do
not pay a runtime overhead. The key underlying technology is program
generation. In addition, languages designed to support this paradigm (such
as MetaOCaml) help the programmer avoid many of the difficulties that are
traditionally encountered in developing program generators. This tutorial
will introduce you to the basics of this paradigm as well as of programming
in MetaOCaml. The focus of this particular tutorial will be on using
MetaOCaml to generate hardware circuits.
Outline: (Each session is 1.5 hours)
- Session 1: Why MSP programming.
Small example.
Understanding generated code
Two larger examples.
Binding time improvements.
Differences between byte code and native code settings.
- Session 2: Staging and the Fast Fourier
Transform
and comparison with FFTW.
Summary and pointers to the literature.
Speaker's profile:
Walid Taha is a professor at Rice University, Houston, TX, USA. His
interests span programming language semantics, type systems, compilers,
program generation, real-time systems, and physically safe computing. His
research on DSLs focuses on building tools for rapidly constructing
efficient implementations of DSLs and on graphical languages. In
collaboration with researchers and practitioners at Intel, Schlumberger, and
National Instruments, he has developed DSLs
for hardware description and for reactive and real-time systems. Prof. Taha
is the principal investigator on a number of National Science Foundation
(NSF), Texas Advanced Technology Program (ATP), and Semiconductor Research
Consortium (SRC) research projects. He is the principal designer of
MetaOCaml, Acumen, and the Verilog Preprocessor (VPP) system. He founded the
ACM Conference on Generative Programming and Component Engineering (GPCE),
the IFIP Working Group on Program Generation (WG 2.11), and the Middle Earth
Programming Languages Seminar (MEPLS). He is the program chair for the IFIP
Working Conference on Domain-Specific Languages.
|
Last Updated:
Friday, March 27, 2009 |
|