CN113705773A - 用于图神经网络推理的动态可重构pe单元及pe阵列 - Google Patents
用于图神经网络推理的动态可重构pe单元及pe阵列 Download PDFInfo
- Publication number
- CN113705773A CN113705773A CN202110853134.8A CN202110853134A CN113705773A CN 113705773 A CN113705773 A CN 113705773A CN 202110853134 A CN202110853134 A CN 202110853134A CN 113705773 A CN113705773 A CN 113705773A
- Authority
- CN
- China
- Prior art keywords
- unit
- vertex
- graph
- neural network
- multiplexer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Neurology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Complex Calculations (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供用于图神经网络推理的动态可重构PE单元及PE阵列,本发明用于图神经网络推理的动态可重构PE单元,提取多种不同图神经网络算法中的共同算子,形成共同的运算单元,根据图神经网络算法需要通过多路选择器输入不同图神经网络算法算法的数据,通过运算单元运算后由多路分配器分配输出。计算单元在配置信息的控制下动态地在不同算法数据流之间切换。从而动态可重构PE单元能适用于多种不同的图神经网络算法,在配置信息的控制下动态地在不同算法数据流之间切换。
Description
技术领域
本发明涉及图更新技术,具体涉及用于图神经网络推理的动态可重构PE单元及PE阵列。
背景技术
图作为最经典、最常用的数据结构之一,随着机器学习和数据挖掘应用的日益广泛,图的规模也变的越来越大。大规模图的拓扑关系非常复杂,顶点之间传递信息执行聚合操作过程中会导致大量随机的数据访问开销,片外较大的访问延迟造成片外存储与PE阵列之间带宽严重不匹配,这成为制约加速器性能的瓶颈。
图更新阶段的核心过程是中心顶点收集邻居顶点信息更新自身的特征值,再经过一个多层神经网络(MLP)将特征向量转换为另一个特征向量。这一过程包含大量运算密集的矩阵乘法运算。现有的计算平台如CPU,CPU计算平台具有性能优异的灵活性,通过高级语言编程就可以实现算法在CPU上执行,尽管它有多级缓存机制和预取机制,但是通用处理器的架构无法消除在聚合阶段大量随机访问开销。另外,CPU并不擅长处理计算密集型的矩阵向量乘法运算,在处理大量密集型的矩阵运算时,编译器都要将其转化为CPU支持的简单运算,这样计算效率会极大地降低。如在基于GNN的网页排名算法中的图含有1692096个顶点(网页),如果用通用处理器实现PageRank算法,这将消耗大约几个小时的时间,对于实时性能要求比较高的应用场景,无疑面临着巨大的挑战。基于上述种种原因,就迫切需要能够实时处理海量数据的图神经网络专用加速器。
随着图神经网络的逐渐兴起以及在各行各业中的广泛应用,多种多样的图神经网络算法变体层出不穷,现有的加速器平台,如GraphACT只是专门用于优化图卷积神经网络(GCN)的加速计算,是基于CPU-FPGA的图神经网络异构加速平台,通过分析各种GCN训练算法,选择了一种基于子图的小批量算法来显著减少CPU-FPGA之间的通信。对于每个子图作为一个小批量图,识别并消除了公共节点邻居之间重复的聚合操作。这种在CPU上的在线预处理大大减少了FPGA上的片上操作和BRAM访问次数。其他的图神经网络算法变体如GraphSAGE、GNN等不能在GraphACT加速平台上实现,这种只支持单一图神经网络算法的加速器只能适用于特定的场合,缺乏足够的灵活性。
HyGCN架构设计了一种混合结构的GCN加速器,它将GCN抽象为以边为中心的聚合引擎和矩阵向量乘法的组合引擎。在聚合引擎中,分别引入了区间分片图划分和窗口滑动收缩方法,通过提高数据重用率和减少不必要的稀疏访问来降低不规则性。在组合引擎中,为了利用规则性,构建了多粒度脉动阵列来执行MVMs,并重用共享参数。它们既可以独立使用以降低延迟,也可以组合使用以降低能耗。该架构的最大缺点是缺乏足够的灵活性,另外需要CPU执行过多的预处理工作,CPU与加速器之间的通信带宽将是阻碍加速器性能提高的最大瓶颈。
EnGN提出一种高吞吐率和节能的图神经网络加速器,EnGN模型集成了一个图神经网络处理单元,在一个统一的体系结构中执行特征提取、聚合和更新操作。图神经网络处理单元可以并行处理128个顶点,这种并行计算需要大量内存带宽。因此,为了避免性能下降,EnGN优化了顶点数据和边数据移动的内存访问模式。对于大图中的源顶点数据访问,文中采用了图分割技术,保证了源顶点的获取只涉及对连续内存地址的访问。对聚集和更新阶段的随机目标顶点访问,EnGN利用散列边数据分布和多级缓存方法避免写冲突提高片上缓冲区中数据命中率。在处理过程中,NPGU的边解析器从边数据库中读取图的边列表,并将其解析为控制PE阵列执行聚合操作的比特流。硬件模块由从EnGN指令解码的信号控制。每个粗粒度指令负责特定的处理功能,如特征提取好额数据移动操作。同时,该指令还包括处理函数的硬件相关参数,如图分割大小、特征尺寸、片上缓存区或者外部存储器中的数据起始地址。EnGN架构没有对原始图数据做进一步处理,这将造成大量冗余数据的存储,给CPU预处理工作造成较大的负担。
上述图神经网络加速器都对算法执行过程进行了不同程度的优化,但是一个共同的问题是它们都只支持一种图神经网络算法,随着图神经网络的不断兴起与发展,各种各样的算法层出不穷,并在各行各业中取得很好的效果。单一算法的图神经网络加速器已经不能够满足现有的实际需求。
发明内容
针对现有技术中存在的问题,本发明提供用于图神经网络推理的动态可重构PE单元及PE阵列,通过动态可重构计算技术支持多种算法兼容。
本发明是通过以下技术方案来实现:
用于图神经网络推理的动态可重构PE单元,包括至少一个运算单元、至少一个多路选择器和至少一个多路分配器;多路选择器包括多路输入数据通道,分别对应不同的图神经网络算法,多路选择器控制多路输入数据通道的选择性导通并将输入数据输送至对应的运算单元;运算单元进行相应的运算,运算结果输送至多路分配器;多路分配器包括多路输出通道,多路分配器控制多路输出通道的选择性导通并将运算结果通过导通的输出通道输出。
优选的,包括聚合PE单元和更新PE单元;聚合PE单元包括所述的至少一个运算单元、所述的至少一个多路选择器和所述的至少一个多路分配器;聚合PE单元用于实现邻居顶点信息的聚合操作;更新PE单元包括所述聚合PE单元的结构以及脉动阵列,更新PE单元用于实现顶点特征值的转换。
进一步的,聚合PE单元包括:第一乘法器、第一累加器、第一寄存器、第二乘法器、第二累加器、第二寄存器、除法器、第一多路选择器Mux0、第二多路选择器Mux1、第三多路选择器Mux2、第一多路分配器DMux0和第一多路分配器DMux1;
第一多路选择器Mux0包括四路边权重系数输入数据通道,分别与PageRank算法、GraphSAGE算法、基于GCN的顶点分类算法和基于GCN的图分类算法一一对应,第二多路选择器Mux1包括四路邻居顶点特征值输入数据通道,分别与PageRank算法、GraphSAGE算法、基于GCN的顶点分类算法和基于GCN的图分类算法一一对应;第一多路选择器Mux0和第二多路选择器Mux1分别用于控制边权重系数和邻居顶点特征值的输入数据通道的导通;经第一多路选择器Mux0和第二多路选择器Mux1的输入数据进入第一乘法器进行邻居顶点特征值与边权重系数相乘运算,所得结果作为信息传递给第一累加器进行聚合;第三多路选择器Mux2包括两路中心顶点特征值输入数据通道,分别与基于GCN的图分类算法和GraphSage算法一一对应,用于控制中心顶点特征值输入数据通道的导通;经第三多路选择器Mux2的中心顶点特征值根据图神经网络算法需要选择性输入第一累加器聚合;第一累加器聚合后的信息进入第一寄存器存储,并进入第一多路分配器DMux1进行分配输出,对于PageRank算法,第一多路分配器DMux0将信息输送至第二乘法器,第二乘法器还接收PageRank算法的阻尼系数,第二乘法器将两路信息相乘后送至第二累加器;除法器用于对PageRank算法的阻尼系数进行除法运算并将结果输送至第二寄存器和第二累加器,第二累加器将两路信息进行聚合后由第二多路分配器DMux1进行分配输出。
进一步的,更新PE单元包括所述聚合PE单元的结构、脉动阵列、Relu函数单元和Logistic函数单元,以及第四多路选择器Mux3、第五多路选择器Mux4、第三累加器和第三多路分配器DMux2;
第四多路选择器Mux3包括三路偏置b的输入数据通道,与基于GCN的图分类算法、基于GCN的顶点分类算法和GraphSage算法一一对应,第四多路选择器Mux3用于控制偏置b的输入数据通道的导通,经第四多路选择器Mux3的输入数据进入第三累加器;聚合PE单元的聚合信息进入第五多路选择器Mux4后再进入脉动阵列,或者更新PE单元中第一多路分配器DMux0的信息进入第五多路选择器Mux4后再进入脉动阵列,或者聚合PE单元输出的部分聚合信息进入更新PE单元中第一累加器并与更新PE单元的信息一起聚合后再进入脉动阵列;经过脉动阵列转换后的信息选择性与偏置b在第三累加器中聚合,然后经第三多路分配器DMux2分配进入Relu函数单元或Logistic函数单元。
用于图神经网络推理的动态可重构PE阵列,包含所述的PE单元。
优选的,包含多个权利要求2所述的PE单元。
进一步的,PE阵列由4×4个PE单元构成,每行前三个PE单元为聚合PE单元,最后一个PE单元为更新PE单元。
用于图神经网络推理的加速器,包括所述的动态可重构PE阵列。
所述的用于图神经网络推理的加速器的工作方法,在图更新过程的前期,每个PE单元独立完成一个顶点的更新过程;在图更新过程的后期,每行所有PE单元作为一个单位协同工作,共同处理同一个顶点的更新过程。
优选的,在图更新过程的前期,为每个PE单元分配一个计时器,每当一个PE单元完成一个中心顶点的信息聚合操作,该PE单元所对应的计时器加上该中心顶点的度,当处理一个新的中心顶点时,比较多个PE单元的计时器,选择计时器最小的PE单元处理该新的中心顶点。
与现有技术相比,本发明具有以下有益的技术效果:
本发明用于图神经网络推理的动态可重构PE单元,提取多种不同图神经网络算法中的共同算子,形成共同的运算单元,根据图神经网络算法需要通过多路选择器输入不同图神经网络算法算法的数据,通过运算单元运算后由多路分配器分配输出。计算单元在配置信息的控制下动态地在不同算法数据流之间切换。从而动态可重构PE单元能适用于多种不同的图神经网络算法,在配置信息的控制下动态地在不同算法数据流之间切换。
进一步的,根据图在不同阶段的运算特点,设计两种异构PE单元,聚合PE单元和更新PE单元。图神经网络每一层的权重系数是全局共享的,更新PE单元利用著名的脉动阵列实现矩阵乘法的并行执行特点,大大地提高了矩阵乘法运算效率。
本发明用于图神经网络推理的加速器的工作方法,当图更新到后期,需要更新的顶点越来越少,为了有效提高PE单元的利用率。本发明将PE阵列中每行多个PE单元为一个单位协同工作,共同处理同一个顶点的更新过程,这种PE单元互联协作的方式将聚合邻居顶点信息的速度提高多倍,极大地提高了图的收敛速度;而且这种PE单元互联方式只有每行各个PE单元之间相互通信,PE单元互联配置比较简单。
进一步的,本发明根据图更新的过程提出了基于顶点度的算法调度机制,尽量使PE单元工作负载均衡,有效解决PE单元工作负载不均衡的问题,避免某个PE单元处于拥堵状态。
附图说明
图1为图神经网络抽象模型;
图2为网页链接图;
图3为GraphSAGE采样和聚合方法的直观说明:(a)采样邻居顶点,(b)从邻居顶点聚合信息,(c)根据聚合信息预测顶点信息;
图4为社交网络图;
图5为GCN算法对空手道俱乐部数据集进行分类结果;
图6为八种不同拓扑结构的图;
图7为基于GCN的图分类网络模型;
图8为聚合PE单元结构;
图9为更新PE单元结构;
图10为随机图中顶点的度分布;
图11为PE阵列结构和互联;
图12为PE的两种工作模式;(a)PE单元的独立工作模式,(b)PE单元协同工作模式;
图13为算法在PE阵列上的映射示意图;
图14为算法调度硬件电路结构;
图15为不同算法的加速比。
具体实施方式
下面结合具体的实施例对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
一、图神经网络抽象模型分析与不同图神经网络算法变体分析:
图神经网络算法的核心是中心顶点通过不同的机制收集邻居顶点的信息来更新自己的顶点特征,经过这样有限次迭代或者当所有顶点达到收敛状态后,再对顶点特征向量进行线性映射得到顶点属性或者对图中所有顶点进行读出操作得到整个图的属性。如图1所示在整个图中顶点之间信息传递的过程可以分解为多个子图中顶点之间信息传递的过程。
本发明选取4种应用比较广泛的算法来加速。4种算法的研究已经成熟并在各种领域取得很好的效果。
(1)PageRank算法
网页排名算法,是一种利用网页之间的超链接数据进行计算的方法,它是由Google的两位创始人提出的。对于用户而言,网页排名一般是比较主观的,但是也存在一些方法可以给出较为客观的排名,PageRank就是其中一种。它衡量的是网页之间的相对重要性,把每一个网页当成一个节点,网页之间的超链接当成是节点之间的边,根据节点之间的连接关系来进行计算的,核心思想是一个网页被链接的次数越多,那么它就越受到关注。
图2是将网页链接抽象为一个图,每个网页抽象为一个顶点,每两个网页之间的链接关系抽象成边。每个顶点的度表示和其他顶点的链接数量,那么一个网页的影响力就可以看作是所有链接网页的影响力之和。网页排名算法如式(1)所示。
式中:PV(u)——网页u的影响力,根据需求初始化;d——阻尼因子;N——图中所有顶点的个数;D(v)——顶点v的出度;N(v)——顶点v的邻居顶点集合。
在PageRank的每次迭代中,每个节点(网页)首先将其PageRank值均匀地分散到其邻居节点。每个节点的新PageRank值是通过聚合从其邻居接收到的PageRank值来计算的,然后通过阻尼因子进行调整。PageRank算法不断迭代更新,直到所有顶点PageRank值达到收敛状态。PageRank算法表1所示:
表1 PageRank算法
(2)GraphSAGE算法
为了避免采集过多的邻居顶点所带来的巨大计算开销,GraphSAGE算法提出一种新的思路,它的聚合操作必须要对聚合顶点的数量做到自适应,也就是不管顶点的邻居顶点数量怎么变化,进行聚合操作后输出的维度必须是一致的。如图3所示,在对图3(a)中的中心顶点特征进行更新时,先从它的1阶邻居顶点中选择3个顶点,假如K=2,再对第二层进行采样,也就是对刚才选择的3个邻居顶点再选择它们的邻居顶点。经过两次采样就得到如图3(b)所示的图,在图3(b)上进行聚合操作,用K=2阶中的顶点特征更新K=1阶的顶点特征,再用K=1阶的顶点特征来更新中心目标顶点(也就是中间的红色顶点)。经过两次更新后,如果要预测一个未知顶点的信息,只需要用它们的邻居顶点进行预测就可以了。GraphSAGE算法描述如下表2所示:
表2 GraphSAGE算法
(3)基于GCN的顶点分类算法
如图4是一个社交网络图,由34个成员和成员之间互动关系所构成的图,每个顶点表示一个俱乐部成员,顶点之间的边表示社交关系。俱乐部随后分成两个社区,由教练(节点0)和俱乐部主席(节点33)领导。这项任务是预测每个成员更倾向于哪个社团。为了实现节点分类,本发明采用图卷积神经网络(GCN)算法进行,在训练阶段采用半监督学习方法,其中教练(顶点0)和俱乐部主席(顶点33)做为标签,其他成员的标签未知。
GCN的顶点分类算法流程为:(1)在第k层,顶点i的特征向量表示为(2)GCN的每一层从去聚集特征,用于更新顶点v的下一层顶点特征值 表示顶点v的邻居顶点;(3)最后,通过某种非线性的仿射变换得出每个顶点的分类情况。本实验是基于半监督学习方法,将顶点0(教练)和顶点33(俱乐部主席)做为标签顶点。最终的分类结果如图5所示。
(4)基于GCN的图分类算法
图分类需要关注图数据的全局信息,既包含图的结构信息,也包含各个顶点的属性信息。给定多张图,以及每张图对应的标签,图分类任务需要通过学习得出一个由图到相应标签的图分类标签,图分类任务需要学习得出一个由图到相应标签的图分类模型,模型的重点在于如何通过学习得出一个优秀的全图表示向量。如图6所示,一共有8中不同拓扑结构的图,包括圆环图、星图、车轮图、棒棒糖图、超立方体图、网格图、完全图、圆梯图等。图分类的任务就是通过GCN的训练学习,识别不同拓扑结构的图。
为了有效地训练图神经网络,本发明将多个样本一起批处理以形成一个小批处理。批处理图输入有两个挑战:(1)图是稀疏的,(2)图的大小是不确定的。为了解决这个问题,本发明将一批图视为具有许多不相连接的大型图。如图7所示,输入的32个图连接为一个大图,将图的顶点特征值初始化为张量后送入图神经网络,顶点特征值通过一层图卷积网络层,输入到Relu函数,将上一层更新的顶点特征值输入第二层GCN网络,再经过一层Relu函数变换层,再对每个子图的顶点特征值用mean函数求均值,输入到全连接网络层进行变换,最终将全局图的特征向量经过激活函数得到图的分类。
二、动态可重构PE单元设计:
通过对上述各种图神经网络算法分析归纳总结,得出每种算法的主要算子如表3所示,通过对表3分析总结,不同图神经网络算法具有相同的算子,为了实现粗粒度动态可重构计算,实现运算单元的动态复用,本发明将不同图神经网络算法中相同的算子提取出来,形成不同图神经网络算法共同的运算单元,通过多路选择器控制每个运算单元的输入数据通路,多路选择器的控制信息由编译器根据配置信息实时产生。当加速器在实时执行的过程中,通过配置信息的不断改变就可以实现不同图神经网络算法之间实时切换,而且这些算子都是由专用集成电路实现的,不同算子的执行可以加速处理执行。
表3算子分析和提取
PE单元是粗粒度可重构阵列的最小构成单元,细粒度的可重构配置电路比较灵活,但配置的面积代价和时间代价很大。一个突出的问题是配置量太大导致无法动态配置,一个应用的执行过程很难再考虑硬件资源的时分复用;过细配置导致面积开销增大,也大大增加了功耗。
本发明根据图神经网络不同阶段的特点,为加速器设计两种动态可重构的PE单元,分别为聚合PE单元和更新PE单元;聚合PE单元实现邻居顶点信息的聚合操作,更新PE单元在聚合PE单元的基础上增加了脉动阵列,实现特征值的转换。
具体的,本发明中的4种图神经网络算法在聚合阶段主要完成邻居顶点信息的聚合操作,在这一过程子图中所有邻居顶点特征值乘以边的权重系数进行累加去更新中心顶点特征值,这一相同的运算可以由乘法器实现,由多路选择器控制乘法器的输入数据通路,从而实现资源的复用。图8是聚合PE单元,它的功能是聚合某个中心顶点的邻居顶点信息,本发明针对上述4种图神经网络算法设计的聚合PE单元包括:第一乘法器、第一累加器、第一寄存器、第二乘法器、第二累加器、第二寄存器、除法器、第一多路选择器Mux0、第二多路选择器Mux1、第三多路选择器Mux2、第一多路分配器DMux0和第一多路分配器DMux1。第一多路选择器Mux0包括四路边权重系数输入数据通道,分别与上述四种图神经网络算法一一对应,第二多路选择器Mux1包括四路邻居顶点特征值输入数据通道,分别与上述四种图神经网络算法一一对应;第一多路选择器Mux0和第二多路选择器Mux1分别用于控制边权重系数和邻居顶点特征值的输入数据通道的导通。经第一多路选择器Mux0和第二多路选择器Mux1的输入数据进入第一乘法器进行邻居顶点特征值与边权重系数相乘运算,所得结果作为信息传递给第一累加器进行聚合。第三多路选择器Mux2包括两路中心顶点特征值输入数据通道,分别与基于GCN的图分类算法和GraphSage算法一一对应,用于控制中心顶点特征值输入数据通道的导通。经第三多路选择器Mux2的中心顶点特征值根据算法需要选择性输入第一累加器聚合。第一累加器聚合后的信息进入第一寄存器存储,并进入第一多路分配器DMux1进行分配,根据不同算法和工作模式,输出至其他PE单元的累加器或者其他PE单元的脉动阵列或者第二乘法器。对于PageRank算法,第一多路分配器DMux1会将信息输送至第二乘法器,第二乘法器还接收PageRank算法的阻尼系数,第二乘法器将两路信息相乘后送至第二累加器。除法器用于对PageRank算法的阻尼系数进行除法运算并将结果输送至第二寄存器和第二累加器,第二累加器将两路信息进行聚合后由第二多路分配器DMux1进行分配。图8中数据经过多路选择器选择不同的数据通路,选择相应的运算单元进行处理,这些运算单元由专用集成电路构成,可以实现复杂算法的高速执行。聚合PE单元中的多路选择器在配置信息的控制下控制数据流的流向,从而实现运算单元的时分复用,有效地减小电路的面积开销。聚合PE单元结构图中插入一些寄存器,是为了保持计算的同步执行。在PE单元独立工作模式下,更新后的中心顶点特征值经过第一多路分配器输出到更新PE单元的脉动阵列;在PE合作模式下,聚合PE单元只是聚合了部分邻居顶点的信息,还要将聚合结果传递给其他聚合PE单元。本发明PE单元这种设计结构简单,与其他PE单元之间的通信代价非常低。
更新阶段的核心运算是顶点特征值与权重系数矩阵相乘,在每一层图神经网络的权重系数矩阵都是全局共享的,为了加速矩阵向量乘法运算本发明采用脉动阵列实现矩阵向量乘法。邻居顶点信息的聚合操作需要经过多个周期才能完成,为了提高脉动阵列的利用率,本发明只在每个更新PE单元设计脉动阵列,当其他聚合PE单元完成聚合操作后,将更新后的顶点特征值送到更新PE单元中的脉动阵列。
当中心顶点特征值被更新过后,经过激活函数进行非线性变换,这里的激活函数主要是Relu函数和Logistic函数。激活函数的主要作用是完成数据的非线性变换,解决线性模型的表达、分类能力不足的问题。激活函数的另一个重要的作用是执行数据的归一化,将输入数据映射到某个范围内,再往下传递,这样做的好处是可以限制数据的扩张,防止数据过大导致的溢出风险。
图9是更新PE单元,它是在聚合PE单元的基础上增加一个脉动阵列、Relu函数单元和Logistic函数单元,以及第四多路选择器Mux3、第五多路选择器Mux4、第三累加器、第三多路分配器DMux2。虚线框部分与聚合PE单元结构完全一致。第四多路选择器Mux3包括三路偏置b的输入数据通道,与基于GCN的图分类算法、基于GCN的顶点分类算法和GraphSage算法一一对应,第四多路选择器Mux3用于控制偏置b的输入数据通道的导通。经第四多路选择器Mux3的输入数据进入第三累加器。在独立工作模式下,脉动阵列可以接受聚合PE单元的聚合结果,即聚合单元的聚合信息进入第五多路选择器Mux4后再进入脉动阵列,也可以接受更新PE单元的聚合结果,即更新PE单元中第一多路分配器DMux0的信息进入第五多路选择器Mux4后再进入脉动阵列。在合作模式下,更新PE单元与其他聚合PE单元之间是合作关系,更新PE单元需要接收其他聚合PE单元聚合的部分邻居顶点信息,即其他聚合PE单元输出的部分聚合信息进入更新PE单元中第一累加器,与更新PE单元的信息一起聚合,再经过脉动阵列做进一步转换。经过脉动阵列转换后的信息选择性与偏置b在第三累加器中聚合,然后经第三多路分配器DMux2分配进入Relu函数单元或Logistic函数单元。
三、动态可重构PE阵列设计:
在动态可重构阵列中复杂的拓扑结构和路由策略可以实现较完整的互联,但是重构的通信代价和面积开销都比较大;简单的拓扑结构和路由策略又不够灵活,拓扑结构和路由策略很大程度决定了PE阵列的灵活程度。
通过对随机图的分析,设图G有N个顶点,每个顶点的度的分布满足如下规律:
式中:p(k)——顶点的度为k的概率;k——顶点的度;P——任意两个不同顶点之间连接的概率。当顶点的个数非常大时,即当N趋近于无穷时,随机图顶点的度的分布接近于泊松分布,如图10所示,顶点的度主要集中分布在4和28之间,度分布最为集中的是16,为了增加PE单元计算并行度,提高每个PE单元的利用率,本发明将PE阵列设计为4×4大小的方阵,如图11所示。
PE阵列由4×4个PE单元构成,如图11所示,PE_A表示聚合PE单元,PE_C表示更新PE单元。每个PE单元都可以完成对一个顶点特征值的更新,也就是中心顶点收集邻居顶点的信息来更新自身这一过程,PE单元独立工作的模式大大简化不同PE单元之间的通信开销;另一方面,通过对图神经网络迭代更新过程的分析,在图更新的后期,也就是当图中大约70%顶点特征值保持不变时,为了加快图更新的速度,采用每行4个PE单元协同工作的方式,这种互联方式结构简单,易于实现。而且由于图中顶点的度集中分布在4到28之间,每4个PE单元协同同步工作,将有效提高每个PE单元的利用率,不至于在更新过程中有较多的PE单元处于空闲状态。
四、配置信息
在PE阵列中,每个PE单元需要配置输入数据来源、PE单元工作模式、多路选择器Mux的路由以及PE单元之间的互联;当这些信息配置完成后,整个PE阵列的数据通路也就随之确定。对于图11所示的PE阵列,配置信息需要156比特,为描述方便,将这156比特配置信息记为R0-R155,每个比特信息的作用如下表所示。
表4配置信息的功能
其中第0、1、2、4、5、6、8、9、10、12、13、14组配置信息的作用相同,用于配置不同的聚合PE单元。以第0组配置信息为例,第0组配置信息用于控制第0个PE单元,当配置信息{R0,R1}等于{0,0}时,Mux0选择GCN图分类算法数据流;当配置信息{R0,R1}等于{0,1}时,Mux0选择PageRank算法数据流;当配置信息{R0,R1}等于{1,0}时,Mux0选择GCN顶点分类算法数据流;当配置信息{R0,R1}等于{1,1}时,Mux0选择GraphSAGE算法数据流。当配置信息{R2,R3}等于{0,0}时,Mux1选择GCN图分类算法数据流;当配置信息{R2,R3}等于{0,1}时,Mux1选择PageRank算法数据流;当配置信息{R2,R3}等于{1,0}时,Mux1选择GCN顶点分类算法数据流;当配置信息{R2,R3}等于{1,1}时,Mux1选择GraphSAGE算法数据流。当配置信息R4等于0时,Mux2选择GCN图分类算法数据流;当配置信息R4等于1时,Mux2选择GraphSAGE算法数据流。当配置信息{R5,R6}等于{0,0}时,Dmux0选择PageRank算法数据流;当配置信息{R5,R6}等于{0,1}时,Dmux0将数据发送到其他PE单元的累加器进行累加;当配置信息{R5,R6}等于{1,0}时,Dmux0将数据发送到其他更新PE单元的脉动阵列进一步处理。当R7等于{0}时,将收集的部分顶点信息送到更新PE单元的累加器;当R7等于{1}时,将更新后的顶点特征值输出。R8用于控制PE不同的工作模式,当R8等于0时,PE单元工作在独立模式下;当R8等于1时,PE单元工作在合作模式下。
另外第3、7、11、15组配置信息作用一致,用于配置不同的更新PE单元,以第3组配置信息为例说明,当配置信息{R27,R28}等于{0,0}时,Mux0选择GCN图分类算法数据流;当配置信息{R27,R28}等于{0,1}时,Mux0选择基于GNN的PageRank算法数据流;当配置信息{R27,R28}等于{1,0}时,Mux0选择GCN顶点分类算法数据流;当配置信息{R27,R28}等于{1,1}时,Mux0选择GraphSAGE算法数据流。当配置信息{R29,R30}等于{0,0}时,Mux1选择GCN图分类算法数据流;当配置信息{R29,R30}等于{0,1}时,Mux1选择PageRank算法数据流;当配置信息{R29,R30}等于{1,0}时,Mux1选择GCN顶点分类算法数据流;当配置信息{R29,R30}等于{1,1}时,Mux1选择GraphSAGE算法数据流。当配置信息{R31,R32}等于{0,0}时,Mux2选择GCN图分类算法数据流;当配置信息{R31,R32}等于{0,1}时,Mux2选择PageRank算法数据流;当配置信息{R31,R32}等于{1,0}时,Mux2选择GCN顶点分类算法数据流;当配置信息{R31,R32}等于{1,1}时,Mux2选择GraphSAGE算法数据流。当R33等于{0}时,Mux3选择GCN图分类算法数据流;当R33等于{1}时,Mux3选择GraphSAGE算法数据流。当R34等于{0}时,DMux0选择PageRank算法数据流;当R34等于{1}时,DMux0将计算结果送到脉动阵列。当R35等于{0}时,将收集的部分顶点信息送到更新PE的累加器;当R35等于{1}时,将更新后的顶点特征值输出。当R36等于{0}时,将结果送入Logistic激活函数单元;当R36等于{1}时,将结果送入Relu激活函数单元。R38用于控制PE单元的工作模式,当R38等于0时,PE单元工作在独立模式下;当R38设置为1时,PE单元工作在合作模式下。
五、PE单元的两种工作模式:
当图更新到后期,需要更新的顶点越来越少,为了有效提高PE单元的利用率。本发明将PE阵列中每行4个PE单元为一个单位协同工作,共同处理同一个顶点的更新过程,将邻居顶点均匀分为4个子集,两两子集之间互不相交,然后分别分配给一行中的4个PE单元,每个PE单元聚合其中一部分邻居顶点信息,4个PE单元并行执行,4个PE单元基本上消耗相同的时间同时结束,然后前三个PE单元聚合部分顶点的信息再发送到第4个PE单元以进一步处理。这种PE单元互联协作的方式将聚合邻居顶点信息的速度提高了4倍,极大地提高了图的收敛速度;而且这种PE单元互联方式只有每行4个PE单元之间相互通信,PE单元互联配置比较简单。
PE单元独立工作模式如图12(a)所示,每个PE单元用于更新不同的中心顶点,每个PE单元分别在不同时钟周期接收不同的邻居顶点,将所有邻居顶点信息沿着边传递给待更新的中心顶点,直到中心顶点接收完所有邻居顶点发送过来的信息,则PE单元完成了一层图神经网络中一个顶点的更新。PE独立工作模式用于处理邻居顶点比较少的顶点更新过程,当中心顶点聚合所有一阶邻居顶点信息完成更新后,接下来送到组合阶段作进一步处理。处理后的顶点特征值将直接写入缓存中,在后续更新其他顶点的过程中,将从缓存中直接访问已被更新的顶点特征值。
PE协同工作的模式如图12(b)所示,每行4个PE单元协同工作共同处理。这种模式主要用于处理图后期更新过程,每行4个PE单元协同工作更新同一个中心顶点,将邻居顶点分配给每行的4个PE单元,每行前三个PE单元收集其中一部分邻居顶点的信息后再传递给第四个PE单元进行聚合,直到中心顶点收集完所有的邻居顶点的信息为止。
六、算法在PE阵列上的映射:
根据对图中顶点的度的统计分析发现,不同顶点的度分布是不均匀的,甚至相差很大,这样当不同的顶点在聚合邻居顶点的信息时,所需要的时间将会相差很大。在极端的情况下,某些PE单元连续处理多个度较大的顶点时,由于聚合大量邻居顶点的信息会消耗太长的时间,后续其他顶点不能及时处理会导致大量的拥堵;而另一些PE单元连续处理多个度较小的顶点时,只需要花费较少的周期就可以完成。这种情况就会造成不同PE单元工作负载严重不均衡,降低整个加速器的性能。
为了有效解决PE单元工作负载不均衡的问题,本发明必须采取一些机制来尽量解决不同PE的单元工作负载不均衡问题。本发明根据图更新的过程提出了基于顶点度的算法调度机制。核心的思想是:完成一个中心顶点的信息聚合过程所消耗的时间正比于中心顶点的度,通过加速器中的调度器为每个PE单元分配一个计时器timer,每当一个PE单元完成一个中心顶点的信息聚合操作,该PE单元所对应的计时器就加上中心顶点的度,表示这个PE单元已经工作的时间。某一时刻处理一个新的中心顶点时,调度器比较16个PE单元的计时器,选择计时器最小的那个PE单元,将待处理的中心顶点分配给这个PE单元。基于顶点的度的调度算法描述如表5所示:
表5任务调度算法
图13说明了基于顶点度的算法调度机制在PE阵列上的调度过程,整个图在更新过程中可以分割为多个子图,每个子图更新过程看成一个子任务。当一个新的子任务到来需要更新时,统计此时PE阵列中每个PE单元已经工作的时间,如图13中第i个PE单元执行的时间为ti,查找这些PE单元中已工作时间最短的那一个PE单元,然后将新到来的子图更新的子任务分配给该已工作时间最短的PE单元,然后对该PE单元执行时间进行更新,加上子图中心顶点的度。假设图13中第二行第二列PE单元工作时间最短,则将新到来的子任务分配给该PE单元,同时第二行第二列PE单元的执行时间加上顶点v4的度3。
基于顶点度的算法调度机制在PE阵列上调度的硬件电路结构如图14所示,每个PE单元工作时间都用一个计时器timer来记录,PE单元聚合邻居顶点信息的时间正比于中心顶点的度,当一个新的顶点信息聚合任务到来,调度器选择PE阵列中工作时间最短的PE单元,将新的任务Task_Aggregate(v)分配给对应的PE单元,同时更新该PE单元的计时器。
七、本发明中的加速器与CPU平台性能对比
为了验证加速器性能,将这4个图神经网络算法分别在CPU和本发明加速器上执行,为了充分利用CPU平台的性能,本发明采用最好的框架DGL和Pytorch geometric去执行GNN算法,通过运行Python程序中的时间函数统计程序运行时间,start=time.clock()函数来统计程序运行的起始时间,end=time.clock()标记程序运行结束时间,end-start就是整个程序执行的时间。图神经网络算法执行时间取每个算法在CPU上执行20次的平均时间。每个算法在不同平台上执行的时间如表6统计所示,PageRank算法的加速比大概为230×,这主要是因为PageRank数据较多,大量的随机访问造成CPU计算效率较低,而本发明中的缓存预取机制很好地避免了由于顶点特征值大量随机访问导致的性能下降。GCN图分类算法含有大量密集的矩阵乘法运算,本发明加速器在处理此类运算比CPU具有更大的优势。对于GraphSAGE算法和GCN顶点分类算法,在本发明加速器上处理时比CPU要好,但是因为GraphSAGE算法和GCN顶点分类算法数据量较小,所以性能提高程度没有PageRank算法和GCN图分类算法的高。
表6加速器加速比
图15是4种不同图神经网络算法在加速器平台上和CPU平台上的加速比,通过对比不难发现,加速器可以达到远比CPU更快的计算速度。
本发明主要优点:
1、图神经网络每一层的权重系数是全局共享的,更新PE单元利用著名的脉动阵列实现矩阵乘法的并行执行特点,大大地提高了矩阵乘法运算效率。
2、动态可重构计算技术可以在程序执行时动态地改变程序执行通路,既有可以利用专用集成电路加速的优点,又有CPU灵活执行的优势,专用集成电路可以实时复用,有效地减少了资源的消耗。
3、统计图中顶点的度的分布规律,合理有效地设计PE阵列大小,既不会因为PE阵列太大导致资源的过渡浪费,又不会因为PE阵列太小降低整体计算性能。简化PE单元之间的互联,避免复杂的通信互联导致过多的配置信息开销。
4、将图更新的过程分割为多个小的子图,每个子图看成一个子任务,为保证每个PE单元工作负载均衡,提出一种简单有效的任务调度机制,使得每个PE单元达到最大的计算效率。
Claims (10)
1.用于图神经网络推理的动态可重构PE单元,其特征在于,包括至少一个运算单元、至少一个多路选择器和至少一个多路分配器;多路选择器包括多路输入数据通道,分别对应不同的图神经网络算法,多路选择器控制多路输入数据通道的选择性导通并将输入数据输送至对应的运算单元;运算单元进行相应的运算,运算结果输送至多路分配器;多路分配器包括多路输出通道,多路分配器控制多路输出通道的选择性导通并将运算结果通过导通的输出通道输出。
2.根据权利要求1所述的用于图神经网络推理的动态可重构PE单元,其特征在于,包括聚合PE单元和更新PE单元;聚合PE单元包括所述的至少一个运算单元、所述的至少一个多路选择器和所述的至少一个多路分配器;聚合PE单元用于实现邻居顶点信息的聚合操作;更新PE单元包括所述聚合PE单元的结构以及脉动阵列,更新PE单元用于实现顶点特征值的转换。
3.根据权利要求2所述的用于图神经网络推理的动态可重构PE单元,其特征在于,聚合PE单元包括:第一乘法器、第一累加器、第一寄存器、第二乘法器、第二累加器、第二寄存器、除法器、第一多路选择器Mux0、第二多路选择器Mux1、第三多路选择器Mux2、第一多路分配器DMux0和第一多路分配器DMux1;
第一多路选择器Mux0包括四路边权重系数输入数据通道,分别与PageRank算法、GraphSAGE算法、基于GCN的顶点分类算法和基于GCN的图分类算法一一对应,第二多路选择器Mux1包括四路邻居顶点特征值输入数据通道,分别与PageRank算法、GraphSAGE算法、基于GCN的顶点分类算法和基于GCN的图分类算法一一对应;第一多路选择器Mux0和第二多路选择器Mux1分别用于控制边权重系数和邻居顶点特征值的输入数据通道的导通;经第一多路选择器Mux0和第二多路选择器Mux1的输入数据进入第一乘法器进行邻居顶点特征值与边权重系数相乘运算,所得结果作为信息传递给第一累加器进行聚合;第三多路选择器Mux2包括两路中心顶点特征值输入数据通道,分别与基于GCN的图分类算法和GraphSage算法一一对应,用于控制中心顶点特征值输入数据通道的导通;经第三多路选择器Mux2的中心顶点特征值根据图神经网络算法需要选择性输入第一累加器聚合;第一累加器聚合后的信息进入第一寄存器存储,并进入第一多路分配器DMux1进行分配输出,对于PageRank算法,第一多路分配器DMux0将信息输送至第二乘法器,第二乘法器还接收PageRank算法的阻尼系数,第二乘法器将两路信息相乘后送至第二累加器;除法器用于对PageRank算法的阻尼系数进行除法运算并将结果输送至第二寄存器和第二累加器,第二累加器将两路信息进行聚合后由第二多路分配器DMux1进行分配输出。
4.根据权利要求3所述的用于图神经网络推理的动态可重构PE单元,其特征在于,更新PE单元包括所述聚合PE单元的结构、脉动阵列、Relu函数单元和Logistic函数单元,以及第四多路选择器Mux3、第五多路选择器Mux4、第三累加器和第三多路分配器DMux2;
第四多路选择器Mux3包括三路偏置b的输入数据通道,与基于GCN的图分类算法、基于GCN的顶点分类算法和GraphSage算法一一对应,第四多路选择器Mux3用于控制偏置b的输入数据通道的导通,经第四多路选择器Mux3的输入数据进入第三累加器;聚合PE单元的聚合信息进入第五多路选择器Mux4后再进入脉动阵列,或者更新PE单元中第一多路分配器DMux0的信息进入第五多路选择器Mux4后再进入脉动阵列,或者聚合PE单元输出的部分聚合信息进入更新PE单元中第一累加器并与更新PE单元的信息一起聚合后再进入脉动阵列;经过脉动阵列转换后的信息选择性与偏置b在第三累加器中聚合,然后经第三多路分配器DMux2分配进入Relu函数单元或Logistic函数单元。
5.用于图神经网络推理的动态可重构PE阵列,其特征在于,包含多个权利要求1所述的PE单元。
6.用于图神经网络推理的动态可重构PE阵列,其特征在于,包含多个权利要求2所述的PE单元。
7.根据权利要求6所述的用于图神经网络推理的动态可重构PE阵列,其特征在于,PE阵列由4×4个PE单元构成,每行前三个PE单元为聚合PE单元,最后一个PE单元为更新PE单元。
8.用于图神经网络推理的加速器,其特征在于,包括权利要求5-7任一项所述的动态可重构PE阵列。
9.权利要求8所述的用于图神经网络推理的加速器的工作方法,其特征在于,在图更新过程的前期,每个PE单元独立完成一个顶点的更新过程;在图更新过程的后期,每行所有PE单元作为一个单位协同工作,共同处理同一个顶点的更新过程。
10.根据权利要求9所述的用于图神经网络推理的加速器的工作方法,其特征在于,在图更新过程的前期,为每个PE单元分配一个计时器,每当一个PE单元完成一个中心顶点的信息聚合操作,该PE单元所对应的计时器加上该中心顶点的度,当处理一个新的中心顶点时,比较多个PE单元的计时器,选择计时器最小的PE单元处理该新的中心顶点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110853134.8A CN113705773B (zh) | 2021-07-27 | 2021-07-27 | 用于图神经网络推理的动态可重构pe单元及pe阵列 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110853134.8A CN113705773B (zh) | 2021-07-27 | 2021-07-27 | 用于图神经网络推理的动态可重构pe单元及pe阵列 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113705773A true CN113705773A (zh) | 2021-11-26 |
CN113705773B CN113705773B (zh) | 2023-09-19 |
Family
ID=78650618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110853134.8A Active CN113705773B (zh) | 2021-07-27 | 2021-07-27 | 用于图神经网络推理的动态可重构pe单元及pe阵列 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113705773B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02170263A (ja) * | 1988-12-23 | 1990-07-02 | Hitachi Ltd | ニユーラルネツト信号処理プロセツサ |
US20160342891A1 (en) * | 2015-05-21 | 2016-11-24 | Google Inc. | Neural Network Processor |
CN109472356A (zh) * | 2018-12-29 | 2019-03-15 | 南京宁麒智能计算芯片研究院有限公司 | 一种可重构神经网络算法的加速装置及方法 |
CN209231976U (zh) * | 2018-12-29 | 2019-08-09 | 南京宁麒智能计算芯片研究院有限公司 | 一种可重构神经网络算法的加速装置 |
CN110516801A (zh) * | 2019-08-05 | 2019-11-29 | 西安交通大学 | 一种高吞吐率的动态可重构卷积神经网络加速器架构 |
CN113076521A (zh) * | 2021-06-03 | 2021-07-06 | 沐曦集成电路(上海)有限公司 | 一种基于gpgpu可重构架构的方法及计算系统 |
-
2021
- 2021-07-27 CN CN202110853134.8A patent/CN113705773B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02170263A (ja) * | 1988-12-23 | 1990-07-02 | Hitachi Ltd | ニユーラルネツト信号処理プロセツサ |
US20160342891A1 (en) * | 2015-05-21 | 2016-11-24 | Google Inc. | Neural Network Processor |
CN109472356A (zh) * | 2018-12-29 | 2019-03-15 | 南京宁麒智能计算芯片研究院有限公司 | 一种可重构神经网络算法的加速装置及方法 |
CN209231976U (zh) * | 2018-12-29 | 2019-08-09 | 南京宁麒智能计算芯片研究院有限公司 | 一种可重构神经网络算法的加速装置 |
CN110516801A (zh) * | 2019-08-05 | 2019-11-29 | 西安交通大学 | 一种高吞吐率的动态可重构卷积神经网络加速器架构 |
CN113076521A (zh) * | 2021-06-03 | 2021-07-06 | 沐曦集成电路(上海)有限公司 | 一种基于gpgpu可重构架构的方法及计算系统 |
Non-Patent Citations (2)
Title |
---|
仝宗和;袁立宁;王洋;: "图卷积神经网络理论与应用", 信息技术与信息化, no. 02 * |
刘晏辰;刘洋;: "一种细粒度可重构的深度神经网络加速芯片", 半导体技术, no. 01 * |
Also Published As
Publication number | Publication date |
---|---|
CN113705773B (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Qin et al. | Sigma: A sparse and irregular gemm accelerator with flexible interconnects for dnn training | |
CN110516801A (zh) | 一种高吞吐率的动态可重构卷积神经网络加速器架构 | |
Wang et al. | FPDeep: Scalable acceleration of CNN training on deeply-pipelined FPGA clusters | |
Liu et al. | Resource-constrained federated edge learning with heterogeneous data: Formulation and analysis | |
Firuzan et al. | Reconfigurable network-on-chip for 3D neural network accelerators | |
US11436258B2 (en) | Prometheus: processing-in-memory heterogenous architecture design from a multi-layer network theoretic strategy | |
CN109818786A (zh) | 一种云数据中心应用可感知的分布式多资源组合路径最优选取方法 | |
Chen et al. | Dygnn: Algorithm and architecture support of dynamic pruning for graph neural networks | |
Zhang et al. | G-CoS: GNN-accelerator co-search towards both better accuracy and efficiency | |
CN111858465A (zh) | 大规模矩阵qr分解并行计算结构 | |
CN102325089A (zh) | 基于差分进化和捕食搜索策略的胖树型片上网络映射方法 | |
Chen et al. | Towards efficient allocation of graph convolutional networks on hybrid computation-in-memory architecture | |
Zhang et al. | Efficient neighbor-sampling-based gnn training on cpu-fpga heterogeneous platform | |
Theocharides et al. | A generic reconfigurable neural network architecture as a network on chip | |
Zhang et al. | Low-latency mini-batch gnn inference on cpu-fpga heterogeneous platform | |
CN115016938A (zh) | 一种基于强化学习的计算图自动划分方法 | |
Garg et al. | A taxonomy for classification and comparison of dataflows for gnn accelerators | |
Zou et al. | Learn-to-scale: Parallelizing deep learning inference on chip multiprocessor architecture | |
CN113705773B (zh) | 用于图神经网络推理的动态可重构pe单元及pe阵列 | |
Sacanamboy | Heuristic algorithm for task mapping problem in a hierarchical wireless network-on-chip architecture | |
CN113159302B (zh) | 一种用于可重构神经网络处理器的路由结构 | |
Ji et al. | Hubpa: High utilization bidirectional pipeline architecture for neuromorphic computing | |
Zhao et al. | A mapping method for convolutional neural networks on network-on-chip | |
CN113986816A (zh) | 可重构计算芯片 | |
Larhlimi et al. | GPU parallel neural hierarchical multi objective solver for burst routing and wavelength assignment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |