  Graph convolutional networks (GCNs) are becoming increasingly popular as they
can process a wide variety of data formats that prior deep neural networks
cannot easily support. One key challenge in designing hardware accelerators for
GCNs is the vast size and randomness in their data access patterns which
greatly reduces the effectiveness of the limited on-chip cache. Aimed at
improving the effectiveness of the cache by mitigating the irregular data
accesses, prior studies often employ the vertex tiling techniques used in
traditional graph processing applications. While being effective at enhancing
the cache efficiency, those approaches are often sensitive to the tiling
configurations where the optimal setting heavily depends on target input
datasets. Furthermore, the existing solutions require manual tuning through
trial-and-error or rely on sub-optimal analytical models.
  In this paper, we propose Slice-and-Forge (SnF), an efficient hardware
accelerator for GCNs which greatly improves the effectiveness of the limited
on-chip cache. SnF chooses a tiling strategy named feature slicing that splits
the features into vertical slices and processes them in the outermost loop of
the execution. This particular choice results in a repetition of the identical
computational patterns over irregular graph data over multiple rounds. Taking
advantage of such repetitions, SnF dynamically tunes its tile size. Our
experimental results reveal that SnF can achieve 1.73x higher performance in
geomean compared to prior work on multi-engine settings, and 1.46x higher
performance in geomean on small scale settings, without the need for off-line
analyses.
