I-GCN: A Graph Convolutional Network Accelerator with Runtime Locality
  Enhancement through Islandization
  Graph Convolutional Networks (GCNs) have drawn tremendous attention in the
past three years. Compared with other deep learning modalities,
high-performance hardware acceleration of GCNs is as critical but even more
challenging. The hurdles arise from the poor data locality and redundant
computation due to the large size, high sparsity, and irregular non-zero
distribution of real-world graphs.
  In this paper we propose a novel hardware accelerator for GCN inference,
called I-GCN, that significantly improves data locality and reduces unnecessary
computation. The mechanism is a new online graph restructuring algorithm we
refer to as islandization. The proposed algorithm finds clusters of nodes with
strong internal but weak external connections. The islandization process yields
two major benefits. First, by processing islands rather than individual nodes,
there is better on-chip data reuse and fewer off-chip memory accesses. Second,
there is less redundant computation as aggregation for common/shared neighbors
in an island can be reused. The parallel search, identification, and leverage
of graph islands are all handled purely in hardware at runtime working in an
incremental pipeline. This is done without any preprocessing of the graph data
or adjustment of the GCN model structure.
  Experimental results show that I-GCN can significantly reduce off-chip
accesses and prune 38% of aggregation operations, leading to performance
speedups over CPUs, GPUs, the prior art GCN accelerators of 5549x, 403x, and
5.7x on average, respectively.
