Full-batch training on Graph Neural Networks (GNN) to learn the structure of large graphs is a critical problem that needs to scale to hundreds of compute nodes to be feasible. It is challenging due to large memory capacity and bandwidth requirements on a single compute node and high communication volumes across multiple nodes. In this paper, we present DistGNN that optimizes the well-known Deep Graph Library (DGL) for full-batch training on CPU clusters via an efficient shared memory implementation, communication reduction using a minimum vertex-cut graph partitioning algorithm and communication avoidance using a family of delayed-update algorithms. Our results on four common GNN benchmark datasets: Reddit, OGB-Products, OGB-Papers and Proteins, show up to 3.7x speed-up using a single CPU socket and up to 97x speed-up using 128 CPU sockets, respectively, over baseline DGL implementations running on a single CPU socket
@article{arxiv.2104.06700,
title = {DistGNN: Scalable Distributed Training for Large-Scale Graph Neural Networks},
author = {Vasimuddin Md and Sanchit Misra and Guixiang Ma and Ramanarayan Mohanty and Evangelos Georganas and Alexander Heinecke and Dhiraj Kalamkar and Nesreen K. Ahmed and Sasikanth Avancha},
journal= {arXiv preprint arXiv:2104.06700},
year = {2021}
}