Lime: a Java-compatible and synthesizable language for heterogeneous architectures

  • Authors:
  • Joshua Auerbach;David F. Bacon;Perry Cheng;Rodric Rabbah

  • Affiliations:
  • IBM Research, New York, NY, USA;IBM Research, New York, NY, USA;IBM Research, New York, NY, USA;IBM Research, New York, NY, USA

  • Venue:
  • Proceedings of the ACM international conference on Object oriented programming systems languages and applications
  • Year:
  • 2010

Quantified Score

Hi-index 0.05

Visualization

Abstract

The halt in clock frequency scaling has forced architects and language designers to look elsewhere for continued improvements in performance. We believe that extracting maximum performance will require compilation to highly heterogeneous architectures that include reconfigurable hardware. We present a new language, Lime, which is designed to be executable across a broad range of architectures, from FPGAs to conventional CPUs. We present the language as a whole, focusing on its novel features for limiting side-effects and integration of the streaming paradigm into an object- oriented language. We conclude with some initial results demonstrating applications running either on a CPU or co- executing on a CPU and an FPGA.