  As the size of real-world graphs increases, training Graph Neural Networks
(GNNs) has become time-consuming and requires acceleration. While previous
works have demonstrated the potential of utilizing FPGA for accelerating GNN
training, few works have been carried out to accelerate GNN training with
multiple FPGAs due to the necessity of hardware expertise and substantial
development effort. To this end, we propose HitGNN, a framework that enables
users to effortlessly map GNN training workloads onto a CPU-Multi-FPGA platform
for acceleration. In particular, HitGNN takes the user-defined synchronous GNN
training algorithm, GNN model, and platform metadata as input, determines the
design parameters based on the platform metadata, and performs hardware mapping
onto the CPU+Multi-FPGA platform, automatically. HitGNN consists of the
following building blocks: (1) high-level application programming interfaces
(APIs) that allow users to specify various synchronous GNN training algorithms
and GNN models with only a handful of lines of code; (2) a software generator
that generates a host program that performs mini-batch sampling, manages
CPU-FPGA communication, and handles workload balancing among the FPGAs; (3) an
accelerator generator that generates GNN kernels with optimized datapath and
memory organization. We show that existing synchronous GNN training algorithms
such as DistDGL and PaGraph can be easily deployed on a CPU+Multi-FPGA platform
using our framework, while achieving high training throughput. Compared with
the state-of-the-art frameworks that accelerate synchronous GNN training on a
multi-GPU platform, HitGNN achieves up to 27.21x bandwidth efficiency, and up
to 4.26x speedup using much less compute power and memory bandwidth than GPUs.
In addition, HitGNN demonstrates good scalability to 16 FPGAs on a
CPU+Multi-FPGA platform.
