PyGim: An Efficient Graph Neural Network Library for Real Processing-In-Memory Architectures
Fuente:
arXiv
Salvato in:
| Autori principali: | , , , , , , , , , |
|---|---|
| Natura: | Preprint |
| Pubblicazione: |
2024
|
| Soggetti: | |
| Accesso online: | |
| Tags: |
Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
|
| _version_ | 1866908303191179264 |
|---|---|
| author | Giannoula, Christina Yang, Peiming Fernandez, Ivan Yang, Jiacheng Durvasula, Sankeerth Li, Yu Xin Sadrosadati, Mohammad Luna, Juan Gomez Mutlu, Onur Pekhimenko, Gennady |
| author_facet | Giannoula, Christina Yang, Peiming Fernandez, Ivan Yang, Jiacheng Durvasula, Sankeerth Li, Yu Xin Sadrosadati, Mohammad Luna, Juan Gomez Mutlu, Onur Pekhimenko, Gennady |
| contents | Graph Neural Networks (GNNs) are emerging ML models to analyze graph-structure data. Graph Neural Network (GNN) execution involves both compute-intensive and memory-intensive kernels, the latter dominates the total time, being significantly bottlenecked by data movement between memory and processors. Processing-In-Memory (PIM) systems can alleviate this data movement bottleneck by placing simple processors near or inside to memory arrays. In this work, we introduce PyGim, an efficient ML library that accelerates GNNs on real PIM systems. We propose intelligent parallelization techniques for memory-intensive kernels of GNNs tailored for real PIM systems, and develop handy Python API for them. We provide hybrid GNN execution, in which the compute-intensive and memory-intensive kernels are executed in processor-centric and memory-centric computing systems, respectively. We extensively evaluate PyGim on a real-world PIM system with 1992 PIM cores using emerging GNN models, and demonstrate that it outperforms its state-of-the-art CPU counterpart on Intel Xeon by on average 3.04x, and achieves higher resource utilization than CPU and GPU systems. Our work provides useful recommendations for software, system and hardware designers. PyGim is publicly available at https://github.com/CMU-SAFARI/PyGim. |
| format | Preprint |
| id |
arxiv_https___arxiv_org_abs_2402_16731 |
| institution | arXiv |
| publishDate | 2024 |
| record_format | arxiv |
| spellingShingle | PyGim: An Efficient Graph Neural Network Library for Real Processing-In-Memory Architectures Giannoula, Christina Yang, Peiming Fernandez, Ivan Yang, Jiacheng Durvasula, Sankeerth Li, Yu Xin Sadrosadati, Mohammad Luna, Juan Gomez Mutlu, Onur Pekhimenko, Gennady Hardware Architecture Distributed, Parallel, and Cluster Computing Machine Learning Performance Graph Neural Networks (GNNs) are emerging ML models to analyze graph-structure data. Graph Neural Network (GNN) execution involves both compute-intensive and memory-intensive kernels, the latter dominates the total time, being significantly bottlenecked by data movement between memory and processors. Processing-In-Memory (PIM) systems can alleviate this data movement bottleneck by placing simple processors near or inside to memory arrays. In this work, we introduce PyGim, an efficient ML library that accelerates GNNs on real PIM systems. We propose intelligent parallelization techniques for memory-intensive kernels of GNNs tailored for real PIM systems, and develop handy Python API for them. We provide hybrid GNN execution, in which the compute-intensive and memory-intensive kernels are executed in processor-centric and memory-centric computing systems, respectively. We extensively evaluate PyGim on a real-world PIM system with 1992 PIM cores using emerging GNN models, and demonstrate that it outperforms its state-of-the-art CPU counterpart on Intel Xeon by on average 3.04x, and achieves higher resource utilization than CPU and GPU systems. Our work provides useful recommendations for software, system and hardware designers. PyGim is publicly available at https://github.com/CMU-SAFARI/PyGim. |
| title | PyGim: An Efficient Graph Neural Network Library for Real Processing-In-Memory Architectures |
| topic | Hardware Architecture Distributed, Parallel, and Cluster Computing Machine Learning Performance |
| url | https://arxiv.org/abs/2402.16731 |