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
来源
2019 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE) | 2019年
关键词
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] PIMS: A Lightweight Processing-in-Memory Accelerator for Stencil Computations
    Li, Jie
    Wang, Xi
    Tumeo, Antonino
    Williams, Brody
    Leidel, John D.
    Chen, Yong
    MEMSYS 2019: PROCEEDINGS OF THE INTERNATIONAL SYMPOSIUM ON MEMORY SYSTEMS, 2019, : 41 - 52
  • [32] A survey of spintronic architectures for processing-in-memory and neural networks
    Umesh, Sumanth
    Mittal, Sparsh
    JOURNAL OF SYSTEMS ARCHITECTURE, 2019, 97 (349-372) : 349 - 372
  • [33] GIM: Versatile GNN Acceleration with Reconfigurable Processing-in-Memory
    Nie, Chen
    Chen, Guoyang
    Zhang, Weifeng
    He, Zhezhi
    2023 IEEE 41ST INTERNATIONAL CONFERENCE ON COMPUTER DESIGN, ICCD, 2023, : 499 - 506
  • [34] A Customized Processing-in-Memory Architecture for Biological Sequence Alignment
    Akbari, Nasrin
    Modarressi, Mehdi
    Daneshtalab, Masoud
    Loni, Mohammad
    2018 IEEE 29TH INTERNATIONAL CONFERENCE ON APPLICATION-SPECIFIC SYSTEMS, ARCHITECTURES AND PROCESSORS (ASAP), 2018, : 158 - 165
  • [35] Massively Parallel Skyline Computation For Processing-In-Memory Architectures
    Zois, Vasileios
    Gupta, Divya
    Tsotras, Vassilis J.
    Najjar, Walid A.
    Roy, Jean-Francois
    27TH INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES (PACT 2018), 2018,
  • [36] Implementation of a Low-Overhead Processing-in-Memory Architecture
    Jang, Young-Jong
    Kim, Byung-Soo
    Kim, Dong-Sun
    Hwang, Tae-ho
    2016 INTERNATIONAL SOC DESIGN CONFERENCE (ISOCC), 2016, : 185 - 186
  • [37] Things to Consider to Enable Dynamic Graphs in Processing-in-Memory
    Kim, Euna
    Kim, Hyesoon
    PROCEEDINGS OF THE INTERNATIONAL SYMPOSIUM ON MEMORY SYSTEMS, MEMSYS 2020, 2020, : 297 - 303
  • [38] Extending the ONNX Runtime Framework for the Processing-in-Memory Execution
    Kim, Seok Young
    Lee, Jaewook
    Kim, Chang Hyun
    Lee, Won Jun
    Kim, Seon Wook
    2022 INTERNATIONAL CONFERENCE ON ELECTRONICS, INFORMATION, AND COMMUNICATION (ICEIC), 2022,
  • [39] Enabling Relational Database Analytical Processing in Bulk-Bitwise Processing-In-Memory
    Perach, Ben
    Ronen, Ronny
    Kvatinsky, Shahar
    2023 IEEE 36TH INTERNATIONAL SYSTEM-ON-CHIP CONFERENCE, SOCC, 2023, : 19 - 24
  • [40] Optimization of OLAP In-Memory Database Management Systems with Processing-In-Memory Architecture
    Hosseinzadeh, Shima
    Parvaresh, Amirhossein
    Fey, Dietmar
    ARCHITECTURE OF COMPUTING SYSTEMS, ARCS 2023, 2023, 13949 : 264 - 278