[发明专利]一种基于GRAPE框架的图算法并行加速方法和装置在审
申请号: | 202110142908.6 | 申请日: | 2021-02-02 |
公开(公告)号: | CN112799845A | 公开(公告)日: | 2021-05-14 |
发明(设计)人: | 樊文飞;何昆;李乾;王越 | 申请(专利权)人: | 深圳计算科学研究院 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/48;G06F16/901;G06F16/903 |
代理公司: | 深圳市智胜联合知识产权代理有限公司 44368 | 代理人: | 齐文剑 |
地址: | 518000 广东省深圳市龙*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 grape 框架 算法 并行 加速 方法 装置 | ||
1.一种基于GRAPE框架的图算法并行加速方法,其特征在于,包括:
获取PRAM模型的参数信息,并根据所述PRAM模型的参数信息构建生成目标模型,其中,所述目标模型包括索引数组、一个主节点和若干个工作节点,且工作节点数量小于或等于所述PRAM模型中的CPU的数量;具体地,所述参数信息至少包括CPU个数k、输入内存单元的大小l、额外内存单元的大小q、数据ID信息和PRAM模型执行信息;所述数据ID信息用于获取数据集内的数据对应的ID值;
获取输入数据,并依据所述目标模型中的所述索引数组对所述输入数据进行运算,确定初始ID元组和内存访问元组;其中,ID元组形式为步数编号,阶段,工作节点编号;内存访问元组形式为操作-段,地址,数据;
依据所述初始ID元组和所述输入数据进行增量运算,迭代运算直至所有工作节点均不再接收来自其他工作节点的参数信息时生成最终计算结果;具体地,依据所述初始ID元组的所述步数编号、所述阶段和所述工作节点编号在每一次增量运算时生成用于下一次增量运算的更新ID元组;
获取所述最终计算结果内所有工作节点的计算结果,并依据所述所有工作节点的计算结果汇总生成所述运算结果。
2.根据权利要求1所述的方法,其特征在于,所述获取PRAM模型的参数信息,并根据所述PRAM模型的参数信息构建生成目标模型,其中,所述目标模型包括索引数组、一个主节点和若干个工作节点,且工作节点数量小于或等于所述PRAM模型中的CPU的数量;具体地,所述参数信息至少包括CPU个数k、输入内存单元的大小l、额外内存单元的大小q、数据ID信息和PRAM模型执行信息;所述数据ID信息用于获取数据集内的数据对应的ID值的步骤,包括:
依据所述CPU个数k确认所述目标模型的工作节点个数n;其中,所述目标模型包括一个所述主节点和若干个所述工作节点,若干个所述工作节点包括P1至Pn;
依据所述输入内存单元的大小l确认目标输入内存单元的大小;
依据所述额外内存单元的大小q确认目标额外内存单元的大小;
依据所述工作节点个数n确认每个工作节点用于传递信息的顶点个数为所述工作节点个数n的两倍,具体地,工作节点Pi通过顶点wi,1至wi,n向其他工作节点传递信息,通过顶点w1,i至wn,i接收其他工作节点传递信息;
依据所述工作节点个数、所述目标输入内存单元的大小、所述目标额外内存单元的大小和所述每个工作节点用于传递信息的顶点个数生成所述目标模型。
3.根据权利要求1所述的方法,其特征在于,所述获取输入数据,并依据所述目标模型中的所述索引数组对所述输入数据进行运算,确定初始ID元组和内存访问元组;其中,ID元组形式为步数编号,阶段,工作节点编号;内存访问元组形式为操作-段,地址,数据的步骤,包括:
获取所述输入数据,并调用所述目标模型内的目标工作节点以及所述索引数组对所述输入数据进行部分计算,生成所述初始ID元组和所述内存访问元组。
4.根据权利要求3所述的方法,其特征在于,所述获取所述输入数据,并调用所述目标模型内的目标工作节点以及所述索引数组对所述输入数据进行部分计算,生成所述初始ID元组和所述内存访问元组的步骤,包括:
调用所述目标模型内的所述目标工作节点根据所述输入数据在所述索引数组中查询生成数组元素;
依据所述数组元素确定对应所述目标工作节点的编号;
依据所述目标工作节点的编号生成对应于所述目标工作节点的所述初始ID元组;
依据输入数据生成所述访问内存元组。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳计算科学研究院,未经深圳计算科学研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110142908.6/1.html,转载请声明来源钻瓜专利网。