A Compiler for Automatic Selection of Suitable Processing-in-Memory Instructions

被引:0
|
作者
Ahmed, Hameeza [1 ]
Santos, Paulo C. [2 ]
Lima, Joao P. C. [2 ]
Moura, Rafael F. [2 ]
Alves, Marco A. Z. [3 ]
Beck, Antonio C. S. [2 ]
Carro, Luigi [2 ]
机构
[1] NED Univ, Dept Comp & Informat Syst Engn, Karachi, Pakistan
[2] Univ Fed Rio Grande do Sul, Inst Informat, Porto Alegre, RS, Brazil
[3] Univ Fed Parana, Dept Informat, Curitiba, Parana, Brazil
关键词
Compiler; Processing in Memory; Near-data computing; Vector instructions; SIMD; 3D-Stacked memories;
D O I
10.23919/date.2019.8714956
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Although not a new technique, due to the advent of 3D-stacked technologies, the integration of large memories and logic circuitry able to compute large amount of data has revived the Processing-in-Memory (PIM) techniques. PIM is a technique to increase performance while reducing energy consumption when dealing with large amounts of data. Despite several designs of PIM are available in the literature, their effective implementation still burdens the programmer. Also, various PIM instances are required to take advantage of the internal 3D-stacked memories, which further increases the challenges faced by the programmers. In this way, this work presents the Processing-In-Memory cOmpiler (PRIMO). Our compiler is able to efficiently exploit large vector units on a PIM architecture, directly from the original code. PRIMO is able to automatically select suitable PIM operations, allowing its automatic offloading. Moreover, PRIMO concerns about several PIM instances, selecting the most suitable instance while reduces internal communication between different PIM units. The compilation results of different benchmarks depict how PRIMO is able to exploit large vectors, while achieving a near-optimal performance when compared to the ideal execution for the case study PIM. PRIMO allows a speedup of 38x for specific kernels, while on average achieves 11.8x for a set of benchmarks from PolyBench Suite.
引用
收藏
页码:564 / 569
页数:6
相关论文
共 50 条
  • [31] MultPIM: Fast Stateful Multiplication for Processing-in-Memory
    Leitersdorf, Orian
    Ronen, Ronny
    Kvatinsky, Shahar
    IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS II-EXPRESS BRIEFS, 2022, 69 (03) : 1647 - 1651
  • [32] Processing-in-memory: A workload-driven perspective
    Ghose, S.
    Boroumand, A.
    Kim, J. S.
    Gomez-Luna, J.
    Mutlu, O.
    IBM JOURNAL OF RESEARCH AND DEVELOPMENT, 2019, 63 (06)
  • [33] Automatic Selection of Compiler Optimizations by Machine Learning
    Peker, Melih
    Ozturk, Ozcan
    Yildirim, Suleyman
    Ozturk, Mahiye Uluyagmur
    2023 31ST SIGNAL PROCESSING AND COMMUNICATIONS APPLICATIONS CONFERENCE, SIU, 2023,
  • [34] GraphH: A Processing-in-Memory Architecture for Large-Scale Graph Processing
    Dai, Guohao
    Huang, Tianhao
    Chi, Yuze
    Zhao, Jishen
    Sun, Guangyu
    Liu, Yongpan
    Wang, Yu
    Xie, Yuan
    Yang, Huazhong
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2019, 38 (04) : 640 - 653
  • [35] SimplePIM: A Software Framework for Productive and Efficient Processing-in-Memory
    Chen, Jinfan
    Gomez-Luna, Juan
    El Hajj, Izzat
    Guo, Yuxin
    Mutlu, Onur
    2023 32ND INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, PACT, 2023, : 99 - 111
  • [36] Providing Plug N' Play for Processing-in-Memory Accelerators
    Santos, Paulo C.
    Forlin, Bruno E.
    Carro, Luigi
    2021 26TH ASIA AND SOUTH PACIFIC DESIGN AUTOMATION CONFERENCE (ASP-DAC), 2021, : 651 - 656
  • [37] A programmable shared-memory system for an array of processing-in-memory devices
    Lee, Sangkuen
    Sim, Hyogi
    Kim, Youngjae
    Vazhkudai, Sudharshan S.
    CLUSTER COMPUTING-THE JOURNAL OF NETWORKS SOFTWARE TOOLS AND APPLICATIONS, 2019, 22 (02): : 385 - 398
  • [38] Heterogeneous Memory Architecture Accommodating Processing-In-Memory on SoC For AIoT Applications
    Qiu, Kangyi
    Zhang, Yaojun
    Yan, Bonan
    Huang, Ru
    27TH ASIA AND SOUTH PACIFIC DESIGN AUTOMATION CONFERENCE, ASP-DAC 2022, 2022, : 383 - 388
  • [39] Reconfigurable Processing-in-Memory Architecture for Data Intensive Applications
    Bavikadi, Sathwika
    Sutradhar, Purab Ranjan
    Ganguly, Amlan
    Dinakarrao, Sai Manoj Pudukotai
    PROCEEDINGS OF THE 37TH INTERNATIONAL CONFERENCE ON VLSI DESIGN, VLSID 2024 AND 23RD INTERNATIONAL CONFERENCE ON EMBEDDED SYSTEMS, ES 2024, 2024, : 222 - 227
  • [40] CRISP: Center for Research on Intelligent Storage and Processing-in-memory
    Xie, Yuan
    2019 INTERNATIONAL SYMPOSIUM ON VLSI TECHNOLOGY, SYSTEMS AND APPLICATION (VLSI-TSA), 2019,