Accelerating Mini-batch HGNN Training by Reducing CUDA Kernels

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Wu, Meng, Qiu, Jingkai, Yan, Mingyu, Li, Wenming, Zhang, Yang, Zhang, Zhimin, Ye, Xiaochun, Fan, Dongrui
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866910567758823424
author Wu, Meng
Qiu, Jingkai
Yan, Mingyu
Li, Wenming
Zhang, Yang
Zhang, Zhimin
Ye, Xiaochun
Fan, Dongrui
author_facet Wu, Meng
Qiu, Jingkai
Yan, Mingyu
Li, Wenming
Zhang, Yang
Zhang, Zhimin
Ye, Xiaochun
Fan, Dongrui
contents Heterogeneous graph neural networks (HGNNs) are essential for capturing the structure and semantic information in heterogeneous graphs. However, existing GPU-based solutions, such as PyTorch Geometric, suffer from low GPU utilization due to numerous short-execution-time and memory-bound CUDA kernels during HGNN training. To address this issue, we introduce HiFuse, an enhancement for PyTorch Geometric designed to accelerate mini-batch HGNN training on CPU-GPU systems. From the data perspective, we reorganize and merge multiple smaller vertex feature matrices into larger ones, enabling a single kernel to process larger data chunks. This efficiently exploits data locality, reduces the kernel launch overhead, and improves overall GPU utilization. From the workflow perspective, we sophisticatedly offload the construction of semantic graphs from GPU to CPU to reduce the number of CUDA kernels. To meet the parallelism requirements on CPU and ensure seamless execution between CPU and GPU, we employ parallelization techniques including multi-threading and asynchronous pipeline. This allows different stages of the process to overlap, enhancing GPU utilization and reducing end-to-end execution latency, leading to a more efficient and balanced use of computational resources. Through extensive experiments, HiFuse demonstrates an average 2.38 times speedup compared to a state-of-the-art solution.
format Preprint
id arxiv_https___arxiv_org_abs_2408_08490
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Accelerating Mini-batch HGNN Training by Reducing CUDA Kernels
Wu, Meng
Qiu, Jingkai
Yan, Mingyu
Li, Wenming
Zhang, Yang
Zhang, Zhimin
Ye, Xiaochun
Fan, Dongrui
Hardware Architecture
Heterogeneous graph neural networks (HGNNs) are essential for capturing the structure and semantic information in heterogeneous graphs. However, existing GPU-based solutions, such as PyTorch Geometric, suffer from low GPU utilization due to numerous short-execution-time and memory-bound CUDA kernels during HGNN training. To address this issue, we introduce HiFuse, an enhancement for PyTorch Geometric designed to accelerate mini-batch HGNN training on CPU-GPU systems. From the data perspective, we reorganize and merge multiple smaller vertex feature matrices into larger ones, enabling a single kernel to process larger data chunks. This efficiently exploits data locality, reduces the kernel launch overhead, and improves overall GPU utilization. From the workflow perspective, we sophisticatedly offload the construction of semantic graphs from GPU to CPU to reduce the number of CUDA kernels. To meet the parallelism requirements on CPU and ensure seamless execution between CPU and GPU, we employ parallelization techniques including multi-threading and asynchronous pipeline. This allows different stages of the process to overlap, enhancing GPU utilization and reducing end-to-end execution latency, leading to a more efficient and balanced use of computational resources. Through extensive experiments, HiFuse demonstrates an average 2.38 times speedup compared to a state-of-the-art solution.
title Accelerating Mini-batch HGNN Training by Reducing CUDA Kernels
topic Hardware Architecture
url https://arxiv.org/abs/2408.08490