GNNIE:具有负载均衡和特定于图的缓存的GNN推理引擎
GNNIE: GNN Inference Engine with Load-balancing and Graph-Specific Caching
摘要:
图神经网络(GNN)分析引擎对于使用大型图模型的现实问题至关重要。GNN硬件平台的挑战包括以下能力:(a)托管各种GNN,(b)处理输入顶点特征向量和图邻接矩阵以及伴随的随机内存访问模式中的高稀疏性,以及(c)在面对由高稀疏性和幂律顶点度分布引起的不均匀工作负载时保持负载平衡计算。本文提出了GNNIE,这是一个旨在运行各种GNN的加速器。它解决了工作负载不平衡(i)~分裂顶点特征操作数到块,(ii)~重新排序和重新分配计算,(iii)~使用一种新的灵活的MAC架构。它采用了一个特定于图形的,度感知的缓存策略,非常适合现实世界的图形特征。该策略增强了片上数据重用,避免了对DRAM的随机内存访问。GNNIE在图形注意力网络(GAT)、图卷积网络(GCN)、GraphSAGE、GINConv和DiffPool上的多个数据集上,在CPU上实现了21233倍的平均加速,在GPU上实现了699倍的加速。与之前的方法相比,GNNIE在GCN、GraphSAGE和GINConv上实现了35倍于HyGCN(无法实现GAT)的平均加速,并且使用了3.4倍的处理单元,平均加速比AWB-GCN(仅运行GCN)高出2.1倍。
英文摘要:
Graph neural networks (GNN) analysis engines are vital for real-world problems that use large graph models. Challenges for a GNN hardware platform include the ability to (a) host a variety of GNNs, (b) handle high sparsity in input vertex feature vectors and the graph adjacency matrix and the accompanying random memory access patterns, and (c) maintain load-balanced computation in the face of uneven workloads, induced by high sparsity and power-law vertex degree distributions. This paper proposes GNNIE, an accelerator designed to run a broad range of GNNs. It tackles workload imbalance by (i)~splitting vertex feature operands into blocks, (ii)~reordering and redistributing computations, (iii)~using a novel flexible MAC architecture. It adopts a graph-specific, degree-aware caching policy that is well suited to real-world graph characteristics. The policy enhances on-chip data reuse and avoids random memory access to DRAM. GNNIE achieves average speedups of 21233x over a CPU and 699x over a GPU over multiple datasets on graph attention networks (GATs), graph convolutional networks (GCNs), GraphSAGE, GINConv, and DiffPool. Compared to prior approaches, GNNIE achieves an average speedup of 35x over HyGCN (which cannot implement GATs) for GCN, GraphSAGE, and GINConv, and, using 3.4x fewer processing units, an average speedup of 2.1x over AWB-GCN (which runs only GCNs).
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。