Optimization of GNN Training Through Half-precision

Arnab Kanti Tarafder, Yidong Gong, Pradeep Kumar
11/2/2024
cs.LG

No confident code implementation found for this paper.

Abstract

Recent trends in lower precision, e.g. half-precision floating point, training have shown improved system performance and reduced memory usage for Deep Learning while maintaining accuracy. However, current GNN systems cannot achieve such goals for GNN, as our analyses show that they massively underperform while showing abnormal accuracy when using half-precision. These systems suffer from value overflow issues due to lowered precision, under-utilization of hardware resources, and poor training performance. To mitigate this, we introduce HalfGNN, a half-precision based GNN system. HalfGNN proposes novel techniques: new vector operations for half-precision data types that improve data load and reduction performance, and discretized SpMM that overcomes the value overflow and natively provides workload balancing. Such techniques improve hardware utilization, reduce memory usage, and remove atomic writes. Evaluations show that HalfGNN achieves on average of 2.30X speedup in training time over DGL (float-based) for GAT, GCN, and GIN respectively while achieving similar accuracy, and saving 2.67X memory.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Cite this paper

@article{tarafder2024optimization,
  title  = {Optimization of GNN Training Through Half-precision},
  author = {Arnab Kanti Tarafder and Yidong Gong and Pradeep Kumar},
  year   = {2024},
  eprint = {2411.01109},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2411.01109v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2411.01109.svg)](https://codeofpaper.com/paper/2411.01109)

Discussion