Abstract
Recent developments in Non-Volatile Memories (NVMs) have opened up a new horizon for in-memory computing. Despite the significant performance gain offered by computational NVMs, previous works have relied on manual mapping of specialized kernels to the memory arrays, making it infeasible to execute more general workloads. We combat this problem by proposing a programmable in-memory processor architecture and data-parallel programming framework. The efficiency of the proposed in-memory processor comes from two sources: massive parallelism and reduction in data movement. A compact instruction set provides generalized computation capabilities for the memory array. The proposed programming framework seeks to leverage the underlying parallelism in the hardware by merging the concepts of data-flow and vector processing. To facilitate in-memory programming, we develop a compilation framework that takes a TensorFlow input and generates code for our inmemory processor. Our results demonstrate 7.5× speedup over a multi-core CPU server for a set of applications from Parsec and 763× speedup over a server-class GPU for a set of Rodinia benchmarks.
Original language | English |
---|---|
Title of host publication | Proceedings of the 23rd International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2018 |
Publisher | Association for Computing Machinery |
Pages | 1-14 |
Number of pages | 14 |
Volume | 53 |
Edition | 2 |
ISBN (Electronic) | 9781450349116 |
DOIs | |
Publication status | Published - 2018 Mar 19 |
Externally published | Yes |
Event | 23rd International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2018 - Williamsburg, United States Duration: 2018 Mar 24 → 2018 Mar 28 |
Conference
Conference | 23rd International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2018 |
---|---|
Country/Territory | United States |
City | Williamsburg |
Period | 18/3/24 → 18/3/28 |
ASJC Scopus subject areas
- Computer Science(all)