SimplePIM: A Software Framework for Productive and Efficient Processing-in-Memory

Data movement between memory and processors is a major bottleneck in modern computing systems. The processing-in-memory (PIM) paradigm aims to alleviate this bottleneck by performing computation inside memory chips. Real PIM hardware (e.g., the UPMEM system) is now available and has demonstrated pot...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:2023 32nd International Conference on Parallel Architectures and Compilation Techniques (PACT) S. 99 - 111
Hauptverfasser: Chen, Jinfan, Gomez-Luna, Juan, El Hajj, Izzat, Guo, Yuxin, Mutlu, Onur
Format: Tagungsbericht
Sprache:Englisch
Veröffentlicht: IEEE 21.10.2023
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract Data movement between memory and processors is a major bottleneck in modern computing systems. The processing-in-memory (PIM) paradigm aims to alleviate this bottleneck by performing computation inside memory chips. Real PIM hardware (e.g., the UPMEM system) is now available and has demonstrated potential in many applications. However, programming such real PIM hardware remains a challenge for many programmers. This paper presents a new software framework, SimplePIM, to aid programming real PIM systems. The framework processes arrays of arbitrary elements on a PIM device by calling iterator functions from the host and provides primitives for communication among PIM cores and between PIM and the host system. We implement SimplePIM for the UPMEM PIM system and evaluate it on six major applications. Our results show that SimplePIM enables 66.5% to 83.1% reduction in lines of code in PIM programs. The resulting code leads to higher performance (between 10% and 37% speedup) than hand-optimized code in three applications and provides comparable performance in three others. SimplePIM is fully and freely available at https://github.com/CMU-SAFARI/SimplePIM.
AbstractList Data movement between memory and processors is a major bottleneck in modern computing systems. The processing-in-memory (PIM) paradigm aims to alleviate this bottleneck by performing computation inside memory chips. Real PIM hardware (e.g., the UPMEM system) is now available and has demonstrated potential in many applications. However, programming such real PIM hardware remains a challenge for many programmers. This paper presents a new software framework, SimplePIM, to aid programming real PIM systems. The framework processes arrays of arbitrary elements on a PIM device by calling iterator functions from the host and provides primitives for communication among PIM cores and between PIM and the host system. We implement SimplePIM for the UPMEM PIM system and evaluate it on six major applications. Our results show that SimplePIM enables 66.5% to 83.1% reduction in lines of code in PIM programs. The resulting code leads to higher performance (between 10% and 37% speedup) than hand-optimized code in three applications and provides comparable performance in three others. SimplePIM is fully and freely available at https://github.com/CMU-SAFARI/SimplePIM.
Author El Hajj, Izzat
Gomez-Luna, Juan
Chen, Jinfan
Guo, Yuxin
Mutlu, Onur
Author_xml – sequence: 1
  givenname: Jinfan
  surname: Chen
  fullname: Chen, Jinfan
  organization: ETH Zürich
– sequence: 2
  givenname: Juan
  surname: Gomez-Luna
  fullname: Gomez-Luna, Juan
  organization: ETH Zürich
– sequence: 3
  givenname: Izzat
  surname: El Hajj
  fullname: El Hajj, Izzat
  organization: American University of Beirut
– sequence: 4
  givenname: Yuxin
  surname: Guo
  fullname: Guo, Yuxin
  organization: ETH Zürich
– sequence: 5
  givenname: Onur
  surname: Mutlu
  fullname: Mutlu, Onur
  organization: ETH Zürich
BookMark eNotjMFOAjEUAGuiiYr8AYf-wOJ7fdt2640QUBOIGLiT0n01jewuKauEvxejp0lmkrkX123XshAjhDEiuMfVZLrRFaIdK1A0BgC0V2LorKtIA5VKl3Qrhsdj2oG2lqxydCfe16k57Hn1unySE7nuYn_ymeU8-4ZPXf6Usctylbv6K_Tpm6VvazmLMYXEbf8bAl-O7UeR2mLJTZfPD-Im-v2Rh_8ciM18tpm-FIu359fpZFF4VZm-IMdoquBKT5VzO1dD5Skob7SxRqECKJ2rmWLpIwR0igIRGX3RChFpIEZ_28TM20NOjc_nLQKZUhtDP1yLTtE
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1109/PACT58117.2023.00017
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
Accès Toulouse INP et ENVT - IEEE Xplore POP ALL
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
EISBN 9798350342543
EndPage 111
ExternalDocumentID 10364566
Genre orig-research
GroupedDBID 6IE
6IL
ACM
ALMA_UNASSIGNED_HOLDINGS
APO
CBEJK
LHSKQ
RIE
RIL
ID FETCH-LOGICAL-a286t-39e168c94a3899b9d08a3c2a6567621200499de3f4af0c1923c3336504921113
IEDL.DBID RIE
ISICitedReferencesCount 11
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001165646800009&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
IngestDate Wed Aug 27 02:24:17 EDT 2025
IsPeerReviewed false
IsScholarly true
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a286t-39e168c94a3899b9d08a3c2a6567621200499de3f4af0c1923c3336504921113
PageCount 13
ParticipantIDs ieee_primary_10364566
PublicationCentury 2000
PublicationDate 2023-Oct.-21
PublicationDateYYYYMMDD 2023-10-21
PublicationDate_xml – month: 10
  year: 2023
  text: 2023-Oct.-21
  day: 21
PublicationDecade 2020
PublicationTitle 2023 32nd International Conference on Parallel Architectures and Compilation Techniques (PACT)
PublicationTitleAbbrev PACT
PublicationYear 2023
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssib057737293
Score 2.3737702
Snippet Data movement between memory and processors is a major bottleneck in modern computing systems. The processing-in-memory (PIM) paradigm aims to alleviate this...
SourceID ieee
SourceType Publisher
StartPage 99
SubjectTerms Codes
Complexity theory
Hardware
in-memory processing
Parallel processing
Program processors
Programming
Software
Title SimplePIM: A Software Framework for Productive and Efficient Processing-in-Memory
URI https://ieeexplore.ieee.org/document/10364566
WOSCitedRecordID wos001165646800009&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV09T8MwED3RioEJEEV8ywOrSxznw2arqlYg0SqoHbpVjn2RuqSotEX8e3xuCmJgYIuiOJYuyfNdfO89gHtRlaL0yMeVLz44qY9wJUzKsRIpOl1m0gWi8Es-HqvZTBcNWT1wYRAxNJ9hlw7DXr5b2g39KvNfOG2aZVkLWnme78ha-5cnzclwRcuGHici_VD0-tOUiJRd8gjvBm2YXyYqYQ0ZHv9z9hPo_LDxWPG9zpzCAdZn8DpZkK5v8Tx6ZD028WD6YVbIhvteK-aTURpFcq4e0JipHRsEuQg_CWvoAf52fFHzEXXbfnZgOhxM-0-8sUfgJlbZmkuNIlNWJ4Y08krtImWkjY3P0DzCiThUMw5llZgqspTJWSmlz8gSHZPB_Dm062WNF8AyiUo5VWk_MEmtLY0vqyJL16JA5S6hQ-GYv-0EMOb7SFz9cf4ajijiBPGxuIH2erXBWzi02_XifXUXHtsXnBuXGQ
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3PT8IwFG4UTfSkRoy_7cFrcV230XojBAIRyAw7cCNd-5ZwGQSHxv_evjI0Hjx4W5Z1Td62r--t7_s-Qh55kfPcIR-TrvhgqD7CJNcxg4LHYFWeCOuJwqP2ZCJnM5XWZHXPhQEA33wGLTz0e_l2aTb4q8x94bhpliT75CCOopBv6Vq71yduo-WKEjVBjgfqKe10sxiplC10CW95dZhfNip-Femf_HP-U9L84ePR9HulOSN7UJ6T1-kClX3T4fiZdujUwemHXgPt77qtqEtHcRQKujpIo7q0tOcFI9wktCYIuNuxRcnG2G_72SRZv5d1B6w2SGA6lEnFhAKeSKMijSp5ubKB1MKE2uVoDuN46OsZC6KIdBEYzOWMEMLlZJEK0WL-gjTKZQmXhCYCpLSyUG5gFBuTa1dYBQavBQ7SXpEmhmO-2kpgzHeRuP7j_AM5GmTj0Xw0nLzckGOMPgJ-yG9Jo1pv4I4cmvdq8ba-94_wC6ummmA
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=2023+32nd+International+Conference+on+Parallel+Architectures+and+Compilation+Techniques+%28PACT%29&rft.atitle=SimplePIM%3A+A+Software+Framework+for+Productive+and+Efficient+Processing-in-Memory&rft.au=Chen%2C+Jinfan&rft.au=Gomez-Luna%2C+Juan&rft.au=El+Hajj%2C+Izzat&rft.au=Guo%2C+Yuxin&rft.date=2023-10-21&rft.pub=IEEE&rft.spage=99&rft.epage=111&rft_id=info:doi/10.1109%2FPACT58117.2023.00017&rft.externalDocID=10364566