作为人工智能的新一代芯片基础,HyGCN是国际首款图审计网络加速芯片,其命名寓意是向图神经网络的加速说“Hi”(你好)。HyGCN芯片设计的核心思想是基于混合结构设计思想分别为图遍历阶段和神经网络变换阶段设计相应的加速引擎,并流水两个引擎的执行。Aggregation引擎用于加速图遍历阶段,主要应对图遍历的不规则执行行为。Combination引擎用于加速神经网络变换阶段,主要利用神经网络变换阶段的规则执行行为提高执行效率。协调器用于流水两个引擎的执行和协调两个引 擎的片外访存。
Aggregation引擎根据邻居节点编号执行向量操作(如加法、比较等),将所有邻居节点的特征向量聚合为单个特征向量。为了解决负载不均衡的问题,向量操作的每一个分量操作会被分到所有单指令流多数据流(Single Instruction Multiple Data,SIMD)处理核的每一个分量上。如果有空闲的SIMD核,即开始分配下一个向量的分量操作,以保证所有的SIMD核都在工作中。这样就能将不规则的计算负载平均分配到不同的处理核,与此同时还能挖掘每个向量操作的并行性,即节点内的并行性。为了应对不规则访存,Aggregation引擎首先将图结构数据平均分成若干块,然后在执行过程中,每个块内所有邻接节点的特征向量将被从片外连续读入到输入缓存中,但在读取之前在块内做窗口滑动收缩,以消除块内因图数据稀疏性引发的无效访存。这既能保证访存连续且规则,提高带宽的利用率,还能减少无效访存。
Combination引擎利用多个脉动阵列挖掘节点间的并行性和矩阵向量乘法并行性,以及复用权重数据。具体的执行过程是,每个脉动阵列执行一组节点集合的特征向量的神经网络变换操作,脉动阵列的每一行处理单元执行集合中一个节点特征向量的神经网络变化操作(即矩阵向量乘法),每个脉动阵列处理的节点集合共享权重。该执行方式被称为独立执行模式,既能利用神经网络变换的规则执行行为特性提高数据复用率和并行性,也能减少每个节点的平均执行延迟。此外,所有脉动阵列允许联合处理一个更大的节点集合,以实现所有脉动阵列处理的节点共享权重。该执行方式被称为联合执行模式,此方式能够利用规则的执行行为挖掘更多的数据复用,从而降低功耗。
为了流水引擎间的计算以及协调引擎间的片外访存,引擎间被集成了Aggregation乒乓缓存和协调器。Aggregation引擎首先为一组节点执行Aggregate操作,聚合的临时结果被保存在乒乓缓存中的乒分区中,然后Combination引擎从乒分区中取出该组节点的聚合特征向量执行Combine操作。与此同时,Aggregation引擎继续为下一组节点执行Aggregate操作,并使用乓分区缓存聚合结果,从而实现引擎间的流水。为了协调引擎间的片外访存,Aggregation引擎和Combination引擎的片外访存请求在发射给内存 控制器之前会被协调器重新组织,以合并具有连续地址的访存请求;然后按照计算所需数据请求顺序,执行片外的数据请求;最后,利用低地址段寻址片外存储的bank和通道,从而挖掘DRAM的bank和通道级别的访存并行性,并减少片外访存延迟。
HyGCN基于Ramulator和Cacti搭建模拟器来评估性能,并在台积电的12nm工艺下实现核心部件以评估面积和功耗。HyGCN的峰值带宽为256GB/s,运行频率为1GHz,功率和面积分别为6.7W和8.8mm。对比平台1为搭载了Intel Xeon E5-2680 v3 多核CPU并拥有136.5GB/s峰值带宽的服务器。对比平台2为搭载了NVIDIA GPU Tesla V100的服务器,GPU Tesla V100 的峰值带宽为900 GB/s。在典型的图神经网络测试中,HyGCN相对于对比平台1平均取得了1万余倍的能效比提升,相对于对比平台2平均取得了60余倍的能效比提升。