Skip to main navigation Skip to search Skip to main content

Plug N’ PIM: An integration strategy for Processing-in-Memory accelerators

  • Paulo C. Santos*
  • , Bruno E. Forlin
  • , Marco A.Z. Alves
  • , Luigi Carro
  • *Corresponding author for this work

Research output: Contribution to journalArticleAcademicpeer-review

Abstract

Processing-in-Memory (PIM) devices have reemerged as a promise to mitigate the memory-wall and the limitations of transferring massive amount of data from main memories to the host processors. Novel memory technologies and the advent of 3D-stacked integration have provided means to compute data in-memory, either by exploring the inherent analog capabilities or by tight-coupling logic and memory. However, allowing the effective use of a PIM device demands significant and costly modifications on the host processor to support instructions offloading, cache coherence, virtual memory management, and communication between different PIM instances. This paper tackles these challenges by presenting a set of solutions to couple host and PIM with no modifications at host side. Moreover, we highlight the limitations presented on modern host processors that may prevent full performance extraction of the PIM devices. This work presents Plug N’ PIM, a set of strategies and procedures to seamlessly couple host general-purpose processors and PIM devices. We show that with our techniques one can exploit the benefits of a PIM device with seamless integration between host and PIM, bypassing possible limitations on the host side.
Original languageEnglish
Pages (from-to)185-195
Number of pages11
JournalIntegration
Volume88
Early online date13 Oct 2022
DOIs
Publication statusPublished - Jan 2023
Externally publishedYes

Keywords

  • n/a OA procedure
  • Code offloading
  • Cache coherence
  • System integration
  • Processing-in-Memory

Fingerprint

Dive into the research topics of 'Plug N’ PIM: An integration strategy for Processing-in-Memory accelerators'. Together they form a unique fingerprint.

Cite this