PiDRAM: An FPGA-based Framework for End-to-end Evaluation of Processing-in-DRAM Techniques
Ataberk Olgun, Juan Gomez Luna, Konstantinos Kanellopoulos, Behzad, Salami, Hasan Hassan, Oguz Ergin, Onur Mutlu

TL;DR
PiDRAM is an open-source FPGA framework enabling end-to-end evaluation of processing-in-DRAM techniques, demonstrated with two methods showing significant performance improvements and high throughput on real DRAM chips.
Contribution
This work introduces the first flexible, end-to-end, open-source framework for PiM evaluation on real hardware, facilitating system integration studies and new PiM technique development.
Findings
Up to 14.6X speedup for in-DRAM copy operations.
High throughput of 8.30 Mb/s for true random number generation.
End-to-end implementation requires relatively few lines of code.
Abstract
DRAM-based main memory is used in nearly all computing systems as a major component. One way of overcoming the main memory bottleneck is to move computation near memory, a paradigm known as processing-in-memory (PiM). Recent PiM techniques provide a promising way to improve the performance and energy efficiency of existing and future systems at no additional DRAM hardware cost. We develop the Processing-in-DRAM (PiDRAM) framework, the first flexible, end-to-end, and open source framework that enables system integration studies and evaluation of real PiM techniques using real DRAM chips. We demonstrate a prototype of PiDRAM on an FPGA-based platform (Xilinx ZC706) that implements an open-source RISC-V system (Rocket Chip). To demonstrate the flexibility and ease of use of PiDRAM, we implement two PiM techniques: (1) RowClone, an in-DRAM copy and initialization mechanism (using command…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Advanced Memory and Neural Computing · Ferroelectric and Negative Capacitance Devices
