DaPPA: A Data-Parallel Programming Framework for Processing-in-Memory Architectures
Geraldo F. Oliveira, Alain Kohli, David Novo, Ataberk Olgun, A. Giray, Yaglikci, Saugata Ghose, Juan G\'omez-Luna, Onur Mutlu

TL;DR
DaPPA is a high-level programming framework that simplifies development on processing-in-memory architectures by automating data management and workload distribution, achieving significant performance gains and reducing programming effort.
Contribution
DaPPA introduces a novel data-parallel pattern-based programming interface and dynamic compilation techniques for UPMEM PIM systems, easing programmability and optimizing performance.
Findings
DaPPA achieves 2.1x average performance improvement over hand-tuned implementations.
DaPPA reduces programming complexity by 94% in lines of code.
The framework effectively abstracts hardware details, enabling easier development on PIM architectures.
Abstract
The growing volume of data in modern applications has led to significant computational costs in conventional processor-centric systems. Processing-in-memory (PIM) architectures alleviate these costs by moving computation closer to memory, reducing data movement overheads. UPMEM is the first commercially available PIM system, featuring thousands of in-order processors (DPUs) integrated within DRAM modules. However, a programming UPMEM-based system remains challenging due to the need for explicit data management and workload partitioning across DPUs. We introduce DaPPA (data-parallel processing-in-memory architecture), a programming framework that eases the programmability of UPMEM systems by automatically managing data movement, memory allocation, and workload distribution. The key idea behind DaPPA is to leverage a high-level data-parallel pattern-based programming interface to…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Advanced Data Storage Technologies · Distributed systems and fault tolerance
