arXiv Science⌕ Search

arXiv · 2610.23406

GUMPIM: Unitary and Malleable Memory for Processing-in-Memory with Guaranteed PIM Pages

Abstract

DRAM-based Processing-in-Memory (PIM) addresses the "memory wall" by executing computations directly inside main memory. However, memory interleaving and virtual memory limit contiguous data size visible to PIM units, constraining PIM task granularity. To mitigate this, existing PIM systems drastically isolate PIM memory or disable memory interleaving. These design choices, however, decrease the CPU memory bandwidth and introduce extra data transfer, leading to an additional "system memory wall" that must be resolved to realize PIM's full potential. In this work, we propose GUMPIM, a PIM system that allows interleaved CPU pages and non-interleaved PIM pages to coexist in a Unitary and Malleable memory space with Guaranteed PIM page allocation. GUMPIM enables zero-copy during PIM task offloading and maintains CPU memory bandwidth while ensuring low PIM offloading overhead. First, we propose a dual-track memory management mechanism consisting of independent page allocation and address translation for CPU and PIM pages. Second, we design GUMPIM interface hardware on PIM-enabled DRAMs to provide a dynamic address mapping for the different data layouts of CPU and PIM pages. Third, we propose a PIM-assisted page migration mechanism that transparently migrates pages while preserving CPU access bandwidth, thereby enabling guaranteed and accelerated PIM page allocation. GUMPIM requires no changes to commodity DRAM standards; all hardware modifications are limited to the DRAM side, ensuring full compatibility with existing CPUs and enabling immediate deployment on current HBMx- and LPDDRx-based PIM platforms. Our results show only <0.1% performance degradation for CPU workloads on GUMPIM. For PIM workloads, GUMPIM reduces memory allocation and CPU-part computation times by 2.7x and 4.93x, respectively, yielding an end-to-end 2.3x speedup over a state-of-the-art baseline system.

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Yilong Zhao, Fangxin Liu, Yiwei Hu, Zongwu Wang, Mingyu Gao, Onur Mutlu, He Xian, Hanlin Dong, Naifeng Jing, Xiaoyao Liang, Haibing Guan, Qiang Xu, Chixiao Chen, Shuxue Quan, Tao Yang, Li Jiang. 2026-10-16. GUMPIM: Unitary and Malleable Memory for Processing-in-Memory with Guaranteed PIM Pages. https://doi.org/10.1145/3833426

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related papers

DaPPA: A Unified Data-Parallel Programming Framework for Efficient Processing-in-Memory Execution

Processing-in-memory (PIM) alleviates data-movement bottlenecks by placing computation near or inside memory. Two general-purpose PIM paradigms are now practical: processing-near-memory (PNM) and processing-using-memory (PUM). Although both target regular, data-intensive, data-parallel workloads, they remain difficult to program because data organization is tightly coupled to computation and differs across substrates. Thus, programmers must manually manage substrate-specific data partitioning, movement, layout, and tiling, preventing program portability across PIM systems. We propose DaPPA (data-parallel processing-in-memory architecture), a programming framework that exposes a single high-level data-parallel pattern interface and retargets it to multiple PIM substrates. The key idea of DaPPA is to decouple the expression of data parallelism from substrate-specific data organization: programmers express computation once using data-parallel patterns and a dataflow interface, while specialized backends automatically generate data orchestration for PNM and multi-level tiling for PUM. We evaluate DaPPA on representative substrates from both PIM paradigms. On the UPMEM PNM system, DaPPA outperforms hand-tuned implementations by 1.6x on average with 95% fewer lines-of-code, and outperforms the state-of-the-art SimplePIM framework by 1.4x on average with 62% fewer lines-of-code. On a SIMDRAM-like PUM substrate, DaPPA outperforms the state-of-the-art MIMDRAM compiler by 2.0x on average (up to 6.4x) across 12 workloads. DaPPA can deploy all ten of our PNM workloads, whereas CINM, the closest framework targeting both paradigms, can deploy only three, on which DaPPA is 2.7--6.8x faster. We open-source DaPPA at https://github.com/CMU-SAFARI/DaPPA.

cs.AR↗

GRAU: A Generic Runtime-Reconfigurable Activation-Requantization Unit for Quantized Neural Network Accelerators

As neural networks continue to scale, low-precision quantization is widely adopted in edge accelerators, but conventional multi-threshold activation hardware requires 2^n-1 thresholds for n-bit integer outputs, leading to rapidly increasing hardware costs. We propose GRAU, a Generic Runtime-Reconfigurable Activation-Requantization Unit that fuses batch normalization, nonlinear activation, and requantization through piecewise-linear fitting with Power-of-Two slopes. GRAU requires only basic comparators and 1-bit right shifters, while supporting mixed-precision quantization and runtime switching among post-accumulation functions, including modern nonlinear activations such as SiLU and GELU. Compared with multi-threshold activation-requantization units, GRAU reduces LUT consumption by approximately 90% or more while improving hardware efficiency, flexibility, and scalability. We further explore the trade-off between accuracy and hardware cost across different approximation settings and provide an open-source toolchain for GRAU-aware network training.

cs.AR↗

Exposing Embedded Matrix Multiplication with polyhedral transformations for CGRA compilation

Matrix-matrix multiplication (mmul) is a dominant computing pattern in edge workloads, but in real applications it is often embedded within larger affine programs and intertwined with other operations. Coarse-Grained Reconfigurable Arrays (CGRAs) can flexibly and efficiently support it, since they combine operation-level reconfigurability and high energy efficiency. However, mapping computational kernels that include mmul with state-of-the-art compilation strategies often leads to suboptimal results, since its multi-dimensional structure hampers the uncovering of its inherent parallelism and, ultimately, runtime performance. This paper presents Kernel-CGRA, a compiler flow that uses polyhedral transformations to expose legal affine mmul subspaces, lower each accepted region to a back-end-independent operation, and preserve the surrounding computation in the generic CDFG path. For CGRA execution, the operation is instantiated as a parametric output-stationary kernel, while residual regions are reconnected through context generation and live-value preservation. The matcher is intentionally strict: only regions proven to match the supported affine mmul form are rewritten. Across canonical, fused, and application-level benchmarks, Kernel-CGRA achieves runtime speedups of up to 10.2x over state-of-the-art CGRA CDFG compilation with modulo scheduling and loop unrolling.

cs.AR↗