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 条
  • [21] 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
  • [22] TransPimLib: Efficient Transcendental Functions for Processing-in-Memory Systems
    Item, Maurus
    Gomez-Luna, Juan
    Guo, Yuxin
    Oliveira, Geraldo F.
    Sadrosadati, Mohammad
    Mutlu, Onur
    2023 IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE, ISPASS, 2023, : 235 - 247
  • [23] 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
  • [24] Thermal-aware processing-in-memory instruction offloading
    Nai, Lifeng
    Hadidi, Ramyad
    Xiao, He
    Kim, Hyojong
    Sim, Jaewoong
    Kim, Hyesoon
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2019, 130 : 193 - 207
  • [25] 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
  • [26] 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
  • [27] NeuroPIM: Felxible Neural Accelerator for Processing-in-Memory Architectures
    Bidgoli, Ali Monavari
    Fattahi, Sepideh
    Rezaei, Seyyed Hossein Seyyedaghaei
    Modarressi, Mehdi
    Daneshtalab, Masoud
    2023 26TH INTERNATIONAL SYMPOSIUM ON DESIGN AND DIAGNOSTICS OF ELECTRONIC CIRCUITS AND SYSTEMS, DDECS, 2023, : 51 - 56
  • [28] Machine Learning Training on a Real Processing-in-Memory System
    Gomez-Luna, Juan
    Guo, Yuxin
    Brocard, Sylvan
    Legriel, Julien
    Cimadomo, Remy
    Oliveira, Geraldo F.
    Singh, Gagandeep
    Mutlu, Onur
    2022 IEEE COMPUTER SOCIETY ANNUAL SYMPOSIUM ON VLSI (ISVLSI 2022), 2022, : 292 - 295
  • [29] Study on Processing-in-Memory Technology based on Dataflow Architecture
    Choi, Kyu Hyun
    Hwang, Taeho
    2022 INTERNATIONAL CONFERENCE ON ELECTRONICS, INFORMATION, AND COMMUNICATION (ICEIC), 2022,
  • [30] Accelerating Neural Network Training with Processing-in-Memory GPU
    Fei, Xiang
    Han, Jianhui
    Huang, Jianqiang
    Zheng, Weimin
    Zhang, Youhui
    2022 22ND IEEE/ACM INTERNATIONAL SYMPOSIUM ON CLUSTER, CLOUD AND INTERNET COMPUTING (CCGRID 2022), 2022, : 414 - 421