PyGim: An Efficient Graph Neural Network Library for Real Processing-In-Memory Architectures

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Giannoula, Christina, Yang, Peiming, Fernandez, Ivan, Yang, Jiacheng, Durvasula, Sankeerth, Li, Yu Xin, Sadrosadati, Mohammad, Luna, Juan Gomez, Mutlu, Onur, Pekhimenko, Gennady
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