• DocumentCode
    188195
  • Title

    Compiling Higher Order Functional Programs to Composable Digital Hardware

  • Author

    Aguilar-Pelaez, Eduardo ; Bayliss, Samuel ; Smith, Alex ; Winterstein, Felix ; Ghica, Dan R. ; Thomas, David ; Constantinides, George A.

  • Author_Institution
    Dept. of Electr. & Electron. Eng., Imperial Coll. London, London, UK
  • fYear
    2014
  • fDate
    11-13 May 2014
  • Firstpage
    234
  • Lastpage
    234
  • Abstract
    This work demonstrates the capabilities of a high-level synthesis tool-chain that allows the compilation of higher order functional programs to gate-level hardware descriptions. Higher order programming allows functions to take functions as parameters. In a hardware context, the latency-insensitive interfaces generated between compiled modules enable late-binding with libraries of pre-existing functions at the place-and-route compilation stage. We demonstrate the completeness and utility of our approach using a case study; a recursive k-means clustering algorithm. The algorithm features complex data-dependent control flow and opportunities to exploit both coarse and fine-grained parallelism.
  • Keywords
    functional programming; pattern clustering; program compilers; composable digital hardware; data-dependent control flow; fine-grained parallelism; gate-level hardware descriptions; high-level synthesis tool-chain; higher order functional program compiling; latency-insensitive interfaces; place-and-route compilation stage; recursive k-means clustering algorithm; Clustering algorithms; Educational institutions; Field programmable gate arrays; Hardware; Parallel processing; Program processors; Programming; compiler; fpga; functional programming;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Field-Programmable Custom Computing Machines (FCCM), 2014 IEEE 22nd Annual International Symposium on
  • Conference_Location
    Boston, MA
  • Print_ISBN
    978-1-4799-5110-9
  • Type

    conf

  • DOI
    10.1109/FCCM.2014.69
  • Filename
    6861631