|
ABSTRACT
High-level programming languages offer significant expressivity but provide little or no guarantees about resource use. Resource-bounded languages --- such as hardware-description languages --- provide strong guarantees about the runtime behavior of computations but often lack mechanisms that allow programmers to write more structured, modular, and reusable programs. To overcome this basic tension in language design, recent work advocated the use of Resource-aware Programming (RAP) languages, which take into account the natural distinction between the development platform and the deployment platform for resource-constrained software.This paper investigates the use of RAP languages for the generation of combinatorial circuits. The key challenge that we encounter is that the RAP approach does not safely admit a mechanism to express a posteriori (post-generation) optimizations. The paper proposes and studies the use of abstract interpretation to overcome this problem. The approach is illustrated using an in-depth analysis of the Fast Fourier Transform (FFT). The generated computations are comparable to those generated by FFTW.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
 |
2
|
Per Bjesse , Koen Claessen , Mary Sheeran , Satnam Singh, Lava: hardware design in Haskell, Proceedings of the third ACM SIGPLAN international conference on Functional programming, p.174-184, September 26-29, 1998, Baltimore, Maryland, United States
|
| |
3
|
W. Böhm , J. Hammes , B. Draper , M. Chawathe , C. Ross , R. Rinker , W. Najjar, Mapping a Single Assignment Programming Language to Reconfigurable Systems, The Journal of Supercomputing, v.21 n.2, p.117-130, February 2002
[doi> 10.1023/A:1013623303037]
|
| |
4
|
Cristiano Calcagno , Walid Taha , Liwen Huang , Xavier Leroy, Implementing multi-stage languages using ASTs, Gensym, and reflection, Proceedings of the second international conference on Generative programming and component engineering, p.57-76, September 22-25, 2003, Erfurt, Germany
|
 |
5
|
|
| |
6
|
|
| |
7
|
Jason Eckhardt, Roumen Kaiabachev, Oleg Kiselyov, Kedar N. Swadi, and Walid Taha. Monadic multi-stage programming. In preparation, July 2004.
|
 |
8
|
|
| |
9
|
Jim Grundy, Tom Melham, and John O'Leary. A reflective functional language for hardware design and theorem proving. In Fifth International Workshop on Designing Correct Circuits, March 2004.
|
| |
10
|
|
| |
11
|
C. S. Burrus I. W. Selesnick. Automatic generation of prime length FFT programs. In IEEE Transactions on Signal Processing, pages 14--24, Jan 1996.
|
| |
12
|
|
| |
13
|
|
 |
14
|
|
| |
15
|
Xavier Leroy. Objective Caml, 2000. Available from http://caml.inria.fr/ocaml/.
|
| |
16
|
R. Lipsett, E. Marschner, and M. Shaded. VHDL - The Language. In IEEE Design and Test of Computers, pages 28--41, April 1986.
|
| |
17
|
William H. Mangione-Smith , Brad Hutchings , David Andrews , André DeHon , Carl Ebeling , Reiner Hartenstein , Oskar Mencer , John Morris , Krishna Palem , Viktor K. Prasanna , Henk A. E. Spaanenburg, Seeking Solutions in Configurable Computing, Computer, v.30 n.12, p.38-43, December 1997
[doi> 10.1109/2.642810]
|
| |
18
|
Andrew K. Martin. HML: A language for high-level design of high-frequency circuits. In Fifth International Workshop on Designing Correct Circuits, March 2004.
|
| |
19
|
|
| |
20
|
MetaOCaml: A compiled, type-safe multi-stage programming language. Available online from http://www.metaocaml.org/, 2003.
|
| |
21
|
|
| |
22
|
Walid A. Najjar , Wim Böhm , Bruce A. Draper , Jeff Hammes , Robert Rinker , J. Ross Beveridge , Monica Chawathe , Charles Ross, High-Level Language Abstraction for Reconfigurable Computing, Computer, v.36 n.8, p.63-69, August 2003
[doi> 10.1109/MC.2003.1220583]
|
| |
23
|
John O'Donnell. Integrating formal methods with digital circuit design in Hydra. In Fifth International Workshop on Designing Correct Circuits, March 2004.
|
| |
24
|
Oregon Graduate Institute Technical Reports. P.O. Box 91000, Portland, OR 97291-1000,USA. Available online from ftp://cse.ogi.edu/pub/tech-reports/README.html.
|
 |
25
|
Emir PašaliΕ , Walid Taha , Tim Sheard, Tagless staged interpreters for typed languages, Proceedings of the seventh ACM SIGPLAN international conference on Functional programming, p.218-229, October 04-06, 2002, Pittsburgh, PA, USA
|
| |
26
|
|
| |
27
|
|
 |
28
|
|
| |
29
|
Walid Taha. A gentle introduction to multi-stage programming. In Don Batory, Charles Consel, Christian Lengauer, and Martin Odersky, editors, Domain-specific Program Generation, Lecture Notes in Computer Science. Springer-Verlag, 2004.
|
| |
30
|
Walid Taha, Stephan Ellner, and Hongwei Xi. Generating Imperative, Heap-Bounded Programs in a Functional Setting. In Proceedings of the Third International Conference on Embedded Software, Philadelphia, PA, October 2003.
|
 |
31
|
|
| |
32
|
|
 |
33
|
|
CITED BY 6
|
|
|
|
|
|
|
|
|
|
|
Albert Cohen , Sébastien Donadio , Maria-Jesus Garzaran , Christoph Herrmann , Oleg Kiselyov , David Padua, In search of a program generator to implement generic transformations for high-performance computing, Science of Computer Programming, v.62 n.1, p.25-46, September 2006
|
|
|
|
|
|
Jennifer Gillenwater , Gregory Malecha , Cherif Salama , Angela Yun Zhu , Walid Taha , Jim Grundy , John O'Leary, Synthesizable high level hardware descriptions: using statically typed two-level languages to guarantee verilog synthesizability, Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, January 07-08, 2008, San Francisco, California, USA
|
|