Implementing algorithms on FPGAs using high-level languages and low-level libraries

R. Bruce, R. Chamberlain, M. Devlin, S. Marshall

Research output: Contribution to conferencePoster

Abstract

Until relatively recently, users of FPGA-based computers have needed electronic-design skills to implement high-performance computing (HPC) algorithms. With the advent of high-level languages for FPGAs it is possible for non-experts in FPGA design to implement algorithms by describing them in a high-level syntax. A natural progression from developing high-level languages is to develop low-level libraries that support them.DIME-C is a high-level language that takes a subset of ANSI C as its input and outputs auto-generated hardware description language (HDL) and pre-synthesised netlists. Within DIME-C, the authors have implemented a math library composed of single-precision, floating-point, elementary functions such as the natural exponential and logarithm. Complex, fully-pipelined algorithms can be described in ANSI-compatible C and implemented on FPGAs, delivering orders of magnitude speed-up over microprocessor implementations. Work is ongoing, expanding the library.The poster will detail project motivations and direction, speedup and resource-use measurements, C-code examples and multi-fpga examples.
Original languageEnglish
DOIs
Publication statusPublished - Nov 2006
Event2006 ACM/IEEE conference on Supercomputing - , United Kingdom
Duration: 4 Nov 20064 Nov 2006

Conference

Conference2006 ACM/IEEE conference on Supercomputing
CountryUnited Kingdom
Period4/11/064/11/06

    Fingerprint

Keywords

  • implementing algorithms
  • fpga
  • high-level languages
  • low-level libraries

Cite this

Bruce, R., Chamberlain, R., Devlin, M., & Marshall, S. (2006). Implementing algorithms on FPGAs using high-level languages and low-level libraries. Poster session presented at 2006 ACM/IEEE conference on Supercomputing , United Kingdom. https://doi.org/10.1145/1188455.1188614