SimplePIM: A Software Framework for Productive and Efficient Processing-in-Memory
Not on the map. Why?
Abstract (arXiv)
Data movement between memory and processors is a major bottleneck in modern computing systems. The processing-in-memory (PIM) paradigm aims to alleviate this bottleneck by performing computation inside memory chips. Real PIM hardware (e.g., the UPMEM system) is now available and has demonstrated potential in many applications. However, programming such real PIM hardware remains a challenge for many programmers. This paper presents a new software framework, SimplePIM, to aid programming real PIM systems. The framework processes arrays of arbitrary elements on a PIM device by calling iterator functions from the host and provides primitives for communication among PIM cores and between PIM and the host system. We implement SimplePIM for the UPMEM PIM system and evaluate it on six major applications. Our results show that SimplePIM enables 66.5% to 83.1% reduction in lines of code in PIM programs. The resulting code leads to higher performance (between 10% and 37% speedup) than hand-optimized code in three applications and provides comparable performance in three others. SimplePIM is fully and freely available at https://github.com/CMU-SAFARI/SimplePIM.
Key facts. Cited by 4 papers in the map (data through 7 Oct 2026). First posted on arXiv 3 Oct 2023.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2024: 3; 2025: 1.
4 papers.
- 2024PIM-Opt: Demystifying Distributed Optimization Algorithms on a Real-World Processing-In-Memory Systemcited by 5
- 2024PyGim: An Efficient Graph Neural Network Library for Real Processing-In-Memory Architecturescited by 2
- 2024SwiftRL: Towards Efficient Reinforcement Learning on Real Processing-In-Memory Systemscited by 1
- 2025DCC: Data-Centric Compilation of Machine Learning Kernels for Processing-In-Memory Architecturescited by 0
- 2025DCC: Data-Centric Compilation of Machine Learning Kernels for Processing-In-Memory Architectures19 Nov 2025
- 2024SwiftRL: Towards Efficient Reinforcement Learning on Real Processing-In-Memory Systems7 May 2024
- 2024PIM-Opt: Demystifying Distributed Optimization Algorithms on a Real-World Processing-In-Memory System10 Apr 2024
- 2024PyGim: An Efficient Graph Neural Network Library for Real Processing-In-Memory Architectures26 Feb 2024