skip to main content
research-article

Geometry of synthesis iv: compiling affine recursion into static hardware

Authors Info & Claims
Published:19 September 2011Publication History
Skip Abstract Section

Abstract

Abramsky's Geometry of Interaction interpretation (GoI) is a logical-directed way to reconcile the process and functional views of computation, and can lead to a dataflow-style semantics of programming languages that is both operational (i.e. effective) and denotational (i.e. inductive on the language syntax). The key idea of Ghica's Geometry of Synthesis (GoS) approach is that for certain programming languages (namely Reynolds's affine Syntactic Control of Interference - SCI) the GoI processes-like interpretation of the language can be given a finitary representation, for both internal state and tokens. A physical realisation of this representation becomes a semantics-directed compiler for SCI into hardware. In this paper we examine the issue of compiling affine recursive programs into hardware using the GoS method. We give syntax and compilation techniques for unfolding recursive computation in space or in time and we illustrate it with simple benchmark-style examples. We examine the performance of the benchmarks against conventional CPU-based execution models.

Skip Supplemental Material Section

Supplemental Material

_talk8.mp4

References

  1. Sandra Alves, Maribel Fernández, Mário Florido, and Ian Mackie. The power of closed reduction strategies. Electr. Notes Theor. Comput. Sci., 174(10):57--74, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Sandra Alves, Maribel Fernández, Mário Florido, and Ian Mackie. Gödel's system tau revisited. Theor. Comput. Sci., 411(11-13):1484--1500, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Samson Abramsky and Radha Jagadeesan. New foundations for the Geometry of Interaction. In IEEE Symposium on Logic in Computer Science (LICS), pages 211--222, 1992.Google ScholarGoogle ScholarCross RefCross Ref
  4. Kenneth E. Batcher. Sorting networks and their applications. In AFIPS Spring Joint Computing Conference, pages 307--314, 1968. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. Bailey, P. Borwein, and S. Plouffe. On the rapid computation of various polylogarithmic constants. Mathematics of Computation, 66(218):903--914, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Per Bjesse, Koen Claessen, Mary Sheeran, and Satnam Singh. Lava: Hardware design in Haskell. In The International Conference on Functional Programming (ICFP), New York, NY, USA, 1998. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. P. Bellows and B. Hutchings. JHDL: an HDL for reconfigurable systems. In IEEE Symposium on FPGAs for Custom Computing Machines, Apr 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Martin H. Escardo. Computing with real numbers represented as infinite sequences of digits in haskell. In Computability and complexity analysis, Ljubljana, Slovenia, 2009. (code available at the author's web page).Google ScholarGoogle Scholar
  9. George Ferizis and Hossam El Gindy. Mapping recursive functions to reconfigurable hardware. In Field Programmable Logic and Applications, 2006. FPL '06. International Conference on, pages 1--6, 2006.Google ScholarGoogle ScholarCross RefCross Ref
  10. Dan R. Ghica. Geometry of Synthesis: a structured approach to VLSI design. In ACM Symposium on Principles of Programming Languages (POPL), pages 363--375, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Dan R. Ghica. Applications of game semantics: From software analysis to hardware synthesis. In IEEE Symposium on Logic in Computer Science (LICS), pages 17--26, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Dan R. Ghica. Functions interface models for hardware compilation. In ACM/IEEE Ninth International Conference on Formal Methods and Models for Codesign (MEMOCODE), 2011. (forthcoming)Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Dan R. Ghica and Guy McCusker. Reasoning about Idealized Algol using regular languages. In The International Colloquium on Automata, Languages and Programming (ICALP), pages 103--115, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Dan R. Ghica and Mohamed N. Menaa. On the compositionality of round abstraction. In The International Conference on Concurrency Theory (CONCUR), pages 417--431, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Dan R. Ghica and Mohamed N. Menaa. Synchronous game semantics via round abstraction. In The International Conference on Foundations of Software Science and Computation Structures (FoSSaCS), pages 350--364, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Dan R. Ghica and Alex Smith. Geometry of Synthesis II: From games to delay-insensitive circuits. Electr. Notes Theor. Comput. Sci., 265:301--324, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Dan R. Ghica and Alex Smith. Geometry of Synthesis III: Resource management through type inference. In ACM Symposium on Principles of Programming Languages (POPL), pages 345--356, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Scott Hauck and André DeHon, editors. Reconfigurable Computing, chapter Specifying Circuit Layout in FPGAs. Systems on Silicon. Morgan Kaufmann Publishers, 2008.Google ScholarGoogle Scholar
  19. André Joyal, Ross Street, and Dominic Verity. Traced monoidal categories. Mathematical Proceedings of Cambridge Philosophical Society, 119:447--468, 1996.Google ScholarGoogle ScholarCross RefCross Ref
  20. G. M. Kelly and M. L. Laplaza. Coherence for compact closed categories. Journal of Pure and Applied Algebra, 19:193--213, 1980.Google ScholarGoogle ScholarCross RefCross Ref
  21. Ian Mackie. The Geometry of Implementation. PhD thesis, Imperial College, University of London, 1994.Google ScholarGoogle Scholar
  22. Ian Mackie. The geometry of Interaction machine. In ACM Symposium on Principles of Programming Languages (POPL), pages 198--208, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Guy McCusker. A fully abstract relational model of Syntactic Control of Interference. In The Conference on Computer Science Logic (CSL), pages 247--261, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Guy McCusker. Categorical models of syntactic control of interference revisited, revisited. LMS Journal of Computation and Mathematics, 10:176--216, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  25. Guy McCusker. A graph model for imperative computation. Logical Methods in Computer Science, 6(1), 2010.Google ScholarGoogle Scholar
  26. Tsutomu Maruyama, Masaaki Takagi, and Tsutomu Hoshino. Hardware implementation techniques for recursive calls and loops. In The International Conference on Field Programmable Logic and Applications (FPL), pages 450--455, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Rishiyur Nikhil. Bluespec SystemVerilog: Efficient, correct RTL from high-level specifications. Formal Methods and Models for Co-Design (MEMOCODE), 2004.Google ScholarGoogle Scholar
  28. Peter W. O'Hearn, John Power, Makoto Takeyama, and Robert D. Tennent. Syntactic control of interference revisited. Theor. Comput. Sci., 228(1-2):211--252, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Peter O'Hearn and Robert D. Tennent. Algol-like languages. Birkhauser, Boston, 1981.Google ScholarGoogle Scholar
  30. Uday S. Reddy. Global state considered unnecessary: An introduction to object-based semantics. Lisp and Symbolic Computation, 9(1):7--76, 1996.Google ScholarGoogle ScholarCross RefCross Ref
  31. John C. Reynolds. Syntactic control of interference. In ACM Symposium on Principles of Programming Languages (POPL), pages 39--46, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. John C. Reynolds. The essence of Algol. In Proceedings of the 1981 International Symposium on Algorithmic Languages, pages 345--372. North-Holland, 1981.Google ScholarGoogle Scholar
  33. John C. Reynolds. Syntactic control of inference, part 2. In The International Colloquium on Automata, Languages and Programming (ICALP), pages 704--722, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Peter Selinger. New Structures for Physiscs, chapter A survey of graphical languages for monoidal categories. Springer Lecture Notes in Physics, 2009.Google ScholarGoogle Scholar
  35. Valery Sklyarov. FPGA-based implementation of recursive algorithms. Microprocessors and Microsystems, 28(5-6):197--211, 2004. Special Issue on FPGAs: Applications and Designs.Google ScholarGoogle ScholarCross RefCross Ref
  36. D. B. Thomas and W. Luk. A domain specific language for reconfigurable path-based monte carlo simulations. In International Conference on Field-Programmable Technology (ICFPT), pages 97--104, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  37. Matthew Wall. Games for Syntactic Control of Interference. PhD thesis, University of Sussex, 2004.Google ScholarGoogle Scholar

Index Terms

  1. Geometry of synthesis iv: compiling affine recursion into static hardware

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 46, Issue 9
      ICFP '11
      September 2011
      456 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/2034574
      Issue’s Table of Contents
      • cover image ACM Conferences
        ICFP '11: Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
        September 2011
        470 pages
        ISBN:9781450308656
        DOI:10.1145/2034773

      Copyright © 2011 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 19 September 2011

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!