Work

pLUTo: Enabling Massively Parallel Computation In DRAM via Lookup Tables

Year: 2022
Type: article
Abstract: Data movement between the main memory and the processor is a key contributor to execution time and energy consumption in memory-intensive applications. This data movement bottleneck can be alleviated using Processing-in-Memory (PiM). One category of PiM is Processing-using-Memory (PuM), in which computation takes place inside the memory array by exploiting intrinsic analog properties of the memory device. PuM yields high throughput and efficiency, but supports a limited range of operations. As a result, PuM architectures cannot efficiently perform some complex operations (e.g., multiplication, division, exponentiation) without sizeable increases in chip area and design complexity. To overcome this limitation in DRAM-based PuM architectures, we introduce pLUTo (processing-using-memory with lookup table (LUT) operations), a DRAM-based PuM architecture that leverages the high area density of DRAM to enable the massively parallel storing and querying of lookup tables (LUTs). LUTs enable pLUTo to efficiently execute complex operations in-memory via memory reads (i.e., LUT queries) instead of relying on complex extra logic or performing long sequences of DRAM commands. pLUTo outperforms the optimized CPU and GPU baselines in performance/energy efficiency by an average of 1960×/307× and 4.2×/4× across the evaluated workloads, and by 33×/8× and 110×/80× for the LeNet-5 quantized neural network. pLUTo outperforms a state-of-the-art PiM baseline by 50×/342× in performance/energy efficiency.
Language: English
Open Access status: green
OpenAlex ID: W6950740093
FWCI: 0.545
Cites: 106
Cited by: 3
Related to: 10