SimplePIM: A Software Framework for Productive and Efficient Processing-in-Memory

被引:1
|
作者
Chen, Jinfan [1 ]
Gomez-Luna, Juan [1 ]
El Hajj, Izzat [2 ]
Guo, Yuxin [1 ]
Mutlu, Onur [1 ]
机构
[1] Swiss Fed Inst Technol, Zurich, Switzerland
[2] Amer Univ Beirut, Beirut, Lebanon
关键词
D O I
10.1109/PACT58117.2023.00017
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:99 / 111
页数:13
相关论文
共 50 条
  • [21] Real Processing-in-Memory with Memristive Memory Processing Unit (mMPU)
    Kvatinsky, Shahar
    2019 IEEE 30TH INTERNATIONAL CONFERENCE ON APPLICATION-SPECIFIC SYSTEMS, ARCHITECTURES AND PROCESSORS (ASAP 2019), 2019, : 142 - 148
  • [22] From processing-in-memory to processing-in-storage
    Kaplan R.
    Yavits L.
    Ginosar R.
    Supercomputing Frontiers and Innovations, 2017, 4 (03) : 99 - 116
  • [23] A DNN Compression Framework for SOT-MRAM-based Processing-In-Memory Engine
    Yuan, Geng
    Ma, Xiaolong
    Lin, Sheng
    Li, Zhengang
    Deng, Jieren
    Ding, Caiwen
    2020 IEEE 33RD INTERNATIONAL SYSTEM-ON-CHIP CONFERENCE (SOCC), 2020, : 37 - 42
  • [24] SparseP: Efficient Sparse Matrix Vector Multiplication on Real Processing-In-Memory Architectures
    Giannoula, Christina
    Fernandez, Ivan
    Gomez-Luna, Juan
    Koziris, Nectarios
    Goumas, Georgios
    Mutlu, Onur
    2022 IEEE COMPUTER SOCIETY ANNUAL SYMPOSIUM ON VLSI (ISVLSI 2022), 2022, : 288 - 291
  • [25] Making Memristive Processing-in-Memory Reliable
    Leitersdorf, Orian
    Ronen, Ronny
    Kvatinsky, Shahar
    2021 28TH IEEE INTERNATIONAL CONFERENCE ON ELECTRONICS, CIRCUITS, AND SYSTEMS (IEEE ICECS 2021), 2021,
  • [26] Exploring the Processing-in-Memory design space
    Scrbak, Marko
    Islam, Mahzabeen
    Kavi, Krishna M.
    Ignatowski, Mike
    Jayasena, Nuwan
    JOURNAL OF SYSTEMS ARCHITECTURE, 2017, 75 : 59 - 67
  • [27] GP-SIMD Processing-in-Memory
    Morad, Amir
    Yavits, Leonid
    Ginosar, Ran
    ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2014, 11 (04)
  • [28] Reconfigurable Dataflow Graphs For Processing-In-Memory
    Shelor, Charles F.
    Kavi, Krishna M.
    ICDCN '19: PROCEEDINGS OF THE 2019 INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING AND NETWORKING, 2019, : 110 - 119
  • [29] Processing-in-Memory Designs Based on Emerging Technology for Efficient Machine Learning Acceleration
    Kim, Bokyung
    Li, Hai Helen
    Chen, Yiran
    PROCEEDING OF THE GREAT LAKES SYMPOSIUM ON VLSI 2024, GLSVLSI 2024, 2024, : 614 - 619
  • [30] Adaptive Query Compilation with Processing-in-Memory
    Baumstark, Alexander
    Jibril, Muhammad Attahir
    Sattler, Kai-Uwe
    2023 IEEE 39TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING WORKSHOPS, ICDEW, 2023, : 191 - 197