Leap scratchpads: automatic memory and cache management for reconfigurable logic

  • Authors:
  • Michael Adler;Kermin E. Fleming;Angshuman Parashar;Michael Pellauer;Joel Emer

  • Affiliations:
  • Intel Corporation, Hudson, MA, USA;Massachusetts Institute of Technology, Cambridge, MA, USA;Intel Corporation, Hudson, MA, USA;Massachusetts Institute of Technology, Cambridge, MA, USA;Intel Corporation, Hudson, MA, USA

  • Venue:
  • Proceedings of the 19th ACM/SIGDA international symposium on Field programmable gate arrays
  • Year:
  • 2011

Quantified Score

Hi-index 0.02

Visualization

Abstract

Developers accelerating applications on FPGAs or other reconfigurable logic have nothing but raw memory devices in their standard toolkits. Each project typically includes tedious development of single-use memory management. Software developers expect a programming environment to include automatic memory management. Virtual memory provides the illusion of very large arrays and processor caches reduce access latency without explicit programmer instructions. LEAP scratchpads for reconfigurable logic dynamically allocate and manage multiple, independent, memory arrays in a large backing store. Scratchpad accesses are cached automatically in multiple levels, ranging from shared on-board, RAM-based, set-associative caches to private caches stored in FPGA RAM blocks. In the LEAP framework, scratchpads share the same interface as on-die RAM blocks and are plug-in replacements. Additional libraries support heap management within a storage set. Like software developers, accelerator authors using scratchpads may focus more on core algorithms and less on memory management.