Graphite: optimizing graph neural networks on CPUs through cooperative software-hardware techniques

Graphite: optimizing graph neural networks on CPUs through cooperative software-hardware techniques
复制标题

DOI:
10.1145/3470496.3527403
复制
发表时间:
2022-06
期刊:
Proceedings of the 49th Annual International Symposium on Computer Architecture
影响因子:
--
通讯作者:
Zhangxiaowen Gong;Houxiang Ji;Yao Yao-Yao;Christopher W. Fletcher;C. Hughes;J. Torrellas
Zhangxiaowen Gong;Houxiang Ji;Yao Yao-Yao;Christopher W. Fletcher;C. Hughes;J. Torrellas
中科院分区:
其他
文献类型:
--
作者:
Zhangxiaowen Gong;Houxiang Ji;Yao Yao-Yao;Christopher W. Fletcher;C. Hughes;J. Torrellas

文献摘要

相似文献

图神经网络(GNN)变得流行,因为它们可以有效从图中提取信息。为了执行GNN,CPU是好的平台,因为它们的可用性高和Terabyte级记忆容量,可以在大图上进行全批量计算。但是,CPU上的gnns在很大程度上是内存的界限,这限制了其性能。在本文中,我们通过使用合作软件硬件技术来减轻GNN在内存上的压力来解决此问题。我们的软件技术包括:(i)在GNN层中与内存密集型阶段和计算密集型阶段重叠的层融合,(ii)特征压缩,通过利用顶点特征向量中的稀疏性来降低内存流量,以及(iii)(iii) )一种更改顶点的处理顺序以改善时间位置的算法。除了软件技术之外,我们还可以增强CPU的直接内存访问(DMA)发动机,具有执行GNNS内存密集型阶段的能力,以便处理器内核可以专注于计算密集型阶段。我们称之为软件和硬件技术石墨的组合。我们在大图上使用流行的GNN模型评估石墨。结果是高性能的全批GNN培训和对CPU的推断。我们的软件技术在推理中优于最先进的GNN层实现,而训练中的实现则优于1.6---2.6倍。我们的组合软件和硬件技术加速推断1.6--2.0倍,培训1.9---3.1倍。
Graph Neural Networks (GNNs) are becoming popular because they are effective at extracting information from graphs. To execute GNNs, CPUs are good platforms because of their high availability and terabyte-level memory capacity, which enables full-batch computation on large graphs. However, GNNs on CPUs are heavily memory bound, which limits their performance. In this paper, we address this problem by alleviating the stress of GNNs on memory with cooperative software-hardware techniques. Our software techniques include: (i) layer fusion that overlaps the memory-intensive phase and the compute-intensive phase in a GNN layer, (ii) feature compression that reduces memory traffic by exploiting the sparsity in the vertex feature vectors, and (iii) an algorithm that changes the processing order of vertices to improve temporal locality. On top of the software techniques, we enhance the CPUs' direct memory access (DMA) engines with the capability to execute the GNNs' memory-intensive phase, so that the processor cores can focus on the compute-intensive phase. We call the combination of our software and hardware techniques Graphite. We evaluate Graphite with popular GNN models on large graphs. The result is high-performance full-batch GNN training and inference on CPUs. Our software techniques outperform a state-of-the-art GNN layer implementation by 1.7--1.9x in inference and 1.6--2.6x in training. Our combined software and hardware techniques speedup inference by 1.6--2.0x and training by 1.9--3.1x.