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...
Gespeichert in:
| Veröffentlicht in: | 2023 32nd International Conference on Parallel Architectures and Compilation Techniques (PACT) S. 99 - 111 |
|---|---|
| Hauptverfasser: | , , , , |
| 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 |