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 条
  • [11] GP-SIMD Processing-in-Memory
    Morad, Amir
    Yavits, Leonid
    Ginosar, Ran
    ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2014, 11 (04)
  • [12] 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
  • [13] PIM-Enabled Instructions: A Low-Overhead, Locality-Aware Processing-in-Memory Architecture
    Ahn, Junwhan
    Yoo, Sungjoo
    Mutlu, Onur
    Choi, Kiyoung
    2015 ACM/IEEE 42ND ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE (ISCA), 2015, : 336 - 348
  • [14] 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
  • [15] Database Processing-in-Memory: An Experimental Study
    Kepe, Tiago R.
    de Almeida, Eduardo C.
    Alves, Marco A. Z.
    PROCEEDINGS OF THE VLDB ENDOWMENT, 2019, 13 (03): : 334 - 347
  • [16] Processing-in-Memory: Exploring the Design Space
    Scrbak, Marko
    Islam, Mahzabeen
    Kavi, Krishna M.
    Ignatowski, Mike
    Jayasena, Nuwan
    ARCHITECTURE OF COMPUTING SYSTEMS - ARCS 2015, 2015, 9017 : 43 - 54
  • [17] A Scalable Processing-in-Memory Accelerator for Parallel Graph Processing
    Ahn, Junwhan
    Hong, Sungpack
    Yoo, Sungjoo
    Mutlu, Onur
    Choi, Kiyoung
    2015 ACM/IEEE 42ND ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE (ISCA), 2015, : 105 - 117
  • [18] Processing-in-Memory for Databases: Query Processing and Data Transfer
    Baumstark, Alexander
    Jibril, Muhammad Attahir
    Sattler, Kai-Uwe
    19TH INTERNATIONAL WORKSHOP ON DATA MANAGEMENT ON NEW HARDWARE, DAMON 2023, 2023, : 107 - 111
  • [19] A Design Framework for Processing-In-Memory Accelerator
    Gao, Di
    Shen, Tianhao
    Zhuo, Cheng
    2018 ACM/IEEE INTERNATIONAL WORKSHOP ON SYSTEM LEVEL INTERCONNECT PREDICTION (SLIP), 2018,
  • [20] PIMCH: Cooperative Memory Prefetching in Processing-In-Memory Architecture
    Xui, Sheng
    Wang, Ying
    Han, Yinhe
    Li, Xiaowei
    2018 23RD ASIA AND SOUTH PACIFIC DESIGN AUTOMATION CONFERENCE (ASP-DAC), 2018, : 209 - 214