A Domain-Specific Language and Compiler for Computation-in-Memory Skeletons

Conference Paper (2017)
Author(s)

Jintao Yu (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Tom Hogervorst (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Razvan Nane (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Research Group
Computer Engineering
DOI related publication
https://doi.org/10.1145/3060403.3060474 Final published version
More Info
expand_more
Publication Year
2017
Language
English
Research Group
Computer Engineering
Pages (from-to)
71-76
ISBN (print)
978-1-4503-4972-7
Event
27th ACM Great Lakes Symposium on VLSI ((GLSVLSI) (2017-05-10 - 2017-05-12), Banff, Canada
Downloads counter
138

Abstract

Computation-in-Memory (CiM) is a new computer architecture template based on the in-memory computing paradigm. CiM can solve the memory-wall problem of classical Von Neumann-based computer systems by exploiting application-specific computational and data-flow patterns with the capability of performing both storage and computations of emerging resistive RAM technologies (e.g., memristors). However, to efficiently explore and design such radically new application-specific CiM architectures, we require fundamentally new algorithm specification and compilation techniques. In this paper, we introduce a domain-specific language to express not only the computational patterns of an algorithm but also its spatial characteristics. Furthermore, we design a compiler that is able to transform these patterns into highly-optimized CiM designs. Experiments demonstrate the functional correctness of the language and the compiler as well as an order of magnitude speedup improvement over a multicore system in both performance and energy costs.