一种面向图神经网络应用的任务调度执行系统及方法技术方案

技术编号:25708105 阅读:28 留言:0更新日期:2020-09-23 02:55
本发明专利技术提出一种面向图神经网络应用的任务调度执行系统及方法,包括:待发射图运算符缓存模块读取待处理图运算符处理请求,根据待处理图运算符处理请求的图运算符标签,从缓存中获取所需输入数据;发射单元将待处理图运算符处理请求和输入数据发送给基于静态数据流的统一结构处理单元;统一结构处理单元根据图运算符标签的图运算符码将输入数据映射到相应的二叉运算树的输入上和图运算符执行帧,并完成本轮运算,得到中间结果;标签生成器依据前一轮运算标签信息,生成新的图运算符标签;统一结构处理单元将中间结果以及新的图运算符标签返回给待发射图运算符缓存模块;循环执行直至图运算符标签中剩余重复次数数值为1,将当前中间结果写回缓存。

【技术实现步骤摘要】
一种面向图神经网络应用的任务调度执行系统及方法
本专利技术涉及图神经网络应用领域,特别涉及一种面向图神经网络应用的任务调度执行系统及方法。
技术介绍
卷积神经网络常被用于解决计算机视觉、自然语言处理、语音分析等问题,然而它通常只适用于欧几里得结构或网格型结构的数据空间,其应用范围受到了一定限制。近年来,对非欧几里得图结构数据的研究不断兴起,图结构中的数据能够针对更大规模的元素表达其间更为复杂的关系。图卷积神经网络(Graphconvolutionalneuralnetworks,GCNs)在图结构数据上进行图卷积,具有更为强大的信息表达能力,因此在学术界和工业界得到了极大关注。图卷积神经网络目前被广泛应用于节点分类、链路预测、图聚类实际场景,并被谷歌、Facebook、阿里巴巴等企业的数据中心技术所采用。图神经网络的执行过程分为聚合(Aggregation)与组合(Combination)两个执行阶段。Aggregation阶段遍历图中的所有节点,并将邻居节点的特征向量信息聚合入所遍历的当前节点;Combination阶段利用基于多层感知机(Multi-layeredperceptron,MLP)的神经网络进一步将每个节点的特征向量转换为新的特征向量。在图神经网络的执行过程中,Aggregation阶段的行为与图计算相似,而Combination阶段的行为与神经网络相似,且两个阶段根据层数迭代进行。Aggregation阶段由于每个节点的邻居节点规模是不同的,因此其计算图(computationgraph)是动态且不规则的;而Combination阶段则相反,其计算图是静态且规则的。Aggregation与Combination阶段所体现出的混合计算模式使得目前常规的通用处理器、图计算或神经网络专用加速器无法高效运行图神经网络。另外,若简单地分别为两个阶段构建专门的加速结构,则会产生计算资源利用率低下等问题。
技术实现思路
为解决上述问题,本专利技术提出一种面向图神经网络应用的任务调度和执行装置。该装置针对图神经网络中的不同规模和类型的计算图可以用统一的数据流形式表达设计了统一结构处理单元和动态数据流调度机制,使图神经网络能够在同一架构和同一计算资源之上,灵活地调度并执行Aggregation和Combination阶段的动态与静态计算图,从而更高效地运行图神经网络应用。针对现有技术的不足,本专利技术提出一种面向图神经网络应用的任务调度执行方法,其中包括:步骤1、待发射图运算符缓存模块读取待处理图运算符处理请求,根据该待处理图运算符处理请求的图运算符标签,从缓存中获取所需输入数据;步骤2、发射单元将该待处理图运算符处理请求和该输入数据发送给基于静态数据流的统一结构处理单元;步骤3、该统一结构处理单元根据该图运算符标签的图运算符码将该输入数据映射到相应的二叉运算树的输入上和图运算符执行帧,并完成本轮运算,得到中间结果;步骤4、标签生成器依据前一轮运算的标签信息,生成新的图运算符标签;步骤5、该统一结构处理单元将该中间结果以及该新的图运算符标签返回给该待发射图运算符缓存模块;步骤6、循环执行该步骤2到步骤5直至图运算符标签中剩余重复次数数值为1,将当前该统一结构处理单元生成的中间结果作为最终特征数据写回缓存。所述的面向图神经网络应用的任务调度执行方法,其中该统一结构处理单元由一个图运算符解码器和多个图运算符执行帧组成;该图运算符解码器用于对输入的图运算符码进行解码,并对图运算符执行帧的输入和执行进行设置;每个该执行帧是处理输入数据的运算部件,为一个包含7个独立运算节点的二叉运算树,其中4个为输入运算节点,接收8个输入操作数,输入运算节点包含1个乘法器和1个加法器,其余运算节点仅包含1个加法器,解码器根据运算码进行解析,决定PE中各执行帧的运算类型。所述的面向图神经网络应用的任务调度执行方法,其中该图运算符标签包括节点标号、轮次标号、当前轮次中的图运算标号、当前轮次的输出个数以及剩余重复次数;该输出个数的数值与下一轮次的输入个数相等;图运算符标号的编号范围为1到该输出个数,当该输出个数为1时,RID停止增加;剩余重复次数为相同图运算符的重复执行次数。所述的面向图神经网络应用的任务调度执行方法,其中该步骤2包括:在统一结构处理单元有空闲的执行帧且图运算符的输入数据已经准备齐全时,将发射单元将该待处理图运算符处理请求和该输入数据发送给基于静态数据流的统一结构处理单元。所述的面向图神经网络应用的任务调度执行方法,其中该输入数据为特征向量或者神经网络参数。本专利技术还提出了一种面向图神经网络应用的任务调度执行系统,其中包括:模块1、待发射图运算符缓存模块读取待处理图运算符处理请求,根据该待处理图运算符处理请求的图运算符标签,从缓存中获取所需输入数据;模块2、发射单元将该待处理图运算符处理请求和该输入数据发送给基于静态数据流的统一结构处理单元;模块3、该统一结构处理单元根据该图运算符标签的图运算符码将该输入数据映射到相应的二叉运算树的输入上和图运算符执行帧,并完成本轮运算,得到中间结果;模块4、标签生成器依据前一轮运算的标签信息,生成新的图运算符标签;模块5、该统一结构处理单元将该中间结果以及该新的图运算符标签返回给该待发射图运算符缓存模块;模块6、循环执行该模块2到模块5直至图运算符标签中剩余重复次数数值为1,将当前该统一结构处理单元生成的中间结果作为最终特征数据写回缓存。所述的面向图神经网络应用的任务调度执行系统,其中该统一结构处理单元由一个图运算符解码器和多个图运算符执行帧组成;该图运算符解码器用于对输入的图运算符码进行解码,并对图运算符执行帧的输入和执行进行设置;每个该执行帧是处理输入数据的运算部件,为一个包含7个独立运算节点的二叉运算树,其中4个为输入运算节点,接收8个输入操作数,输入运算节点包含1个乘法器和1个加法器,其余运算节点仅包含1个加法器,解码器根据运算码进行解析,决定PE中各执行帧的运算类型。所述的面向图神经网络应用的任务调度执行系统,其中该图运算符标签包括节点标号、轮次标号、当前轮次中的图运算标号、当前轮次的输出个数以及剩余重复次数;该输出个数的数值与下一轮次的输入个数相等;图运算符标号的编号范围为1到该输出个数,当该输出个数为1时,RID停止增加;剩余重复次数为相同图运算符的重复执行次数。所述的面向图神经网络应用的任务调度执行系统,其中该模块2包括:在统一结构处理单元有空闲的执行帧且图运算符的输入数据已经准备齐全时,将发射单元将该待处理图运算符处理请求和该输入数据发送给基于静态数据流的统一结构处理单元。所述的面向图神经网络应用的任务调度执行系统,其中该输入数据为特征向量或者神经网络参数。由以上方案可知,本专利技术的优点在于:(1)本专利技术结合基于静态数据流的统一结构处理单元,与动态数据流调本文档来自技高网
...

【技术保护点】
1.一种面向图神经网络应用的任务调度执行方法,其特征在于,包括:/n步骤1、待发射图运算符缓存模块读取待处理图运算符处理请求,根据该待处理图运算符处理请求的图运算符标签,从缓存中获取所需输入数据;/n步骤2、发射单元将该待处理图运算符处理请求和该输入数据发送给基于静态数据流的统一结构处理单元;/n步骤3、该统一结构处理单元根据该图运算符标签的图运算符码将该输入数据映射到相应的二叉运算树的输入上和图运算符执行帧,并完成本轮运算,得到中间结果;/n步骤4、标签生成器依据前一轮运算的标签信息,生成新的图运算符标签;/n步骤5、该统一结构处理单元将该中间结果以及该新的图运算符标签返回给该待发射图运算符缓存模块;/n步骤6、循环执行该步骤2到步骤5直至图运算符标签中剩余重复次数数值为1,将当前该统一结构处理单元生成的中间结果作为最终特征数据写回缓存。/n

【技术特征摘要】
1.一种面向图神经网络应用的任务调度执行方法,其特征在于,包括:
步骤1、待发射图运算符缓存模块读取待处理图运算符处理请求,根据该待处理图运算符处理请求的图运算符标签,从缓存中获取所需输入数据;
步骤2、发射单元将该待处理图运算符处理请求和该输入数据发送给基于静态数据流的统一结构处理单元;
步骤3、该统一结构处理单元根据该图运算符标签的图运算符码将该输入数据映射到相应的二叉运算树的输入上和图运算符执行帧,并完成本轮运算,得到中间结果;
步骤4、标签生成器依据前一轮运算的标签信息,生成新的图运算符标签;
步骤5、该统一结构处理单元将该中间结果以及该新的图运算符标签返回给该待发射图运算符缓存模块;
步骤6、循环执行该步骤2到步骤5直至图运算符标签中剩余重复次数数值为1,将当前该统一结构处理单元生成的中间结果作为最终特征数据写回缓存。


2.如权利要求1所述的面向图神经网络应用的任务调度执行方法,其特征在于,该统一结构处理单元由一个图运算符解码器和多个图运算符执行帧组成;
该图运算符解码器用于对输入的图运算符码进行解码,并对图运算符执行帧的输入和执行进行设置;
每个该执行帧是处理输入数据的运算部件,为一个包含7个独立运算节点的二叉运算树,其中4个为输入运算节点,接收8个输入操作数,输入运算节点包含1个乘法器和1个加法器,其余运算节点仅包含1个加法器,解码器根据运算码进行解析,决定PE中各执行帧的运算类型。


3.如权利要求1所述的面向图神经网络应用的任务调度执行方法,其特征在于,该图运算符标签包括节点标号、轮次标号、当前轮次中的图运算标号、当前轮次的输出个数以及剩余重复次数;
该输出个数的数值与下一轮次的输入个数相等;图运算符标号的编号范围为1到该输出个数,当该输出个数为1时,RID停止增加;剩余重复次数为相同图运算符的重复执行次数。


4.如权利要求1所述的面向图神经网络应用的任务调度执行方法,其特征在于,该步骤2包括:在统一结构处理单元有空闲的执行帧且图运算符的输入数据已经准备齐全时,将发射单元将该待处理图运算符处理请求和该输入数据发送给基于静态数据流的统一结构处理单元。


5.如权利要求1所述的面向图神经网络应用的任务调度执行方法,其特征在于,该输入数据为特征向量或者神经网络参数。

【专利技术属性】
技术研发人员:严明玉李涵叶笑春曹华伟范东睿
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1