[发明专利]一种基于多GPU的强连通图检测方法有效

专利信息
申请号: 201910371236.9 申请日: 2019-05-06
公开(公告)号: CN110264392B 公开(公告)日: 2021-05-04
发明(设计)人: 吴广君;王树鹏;侯骏腾;李斌斌 申请(专利权)人: 中国科学院信息工程研究所
主分类号: G06T1/20 分类号: G06T1/20;G06T1/60
代理公司: 北京君尚知识产权代理有限公司 11200 代理人: 陈艳
地址: 100093 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 gpu 连通 检测 方法
【权利要求书】:

1.一种基于多GPU的强连通图检测方法,其特征在于,包括以下步骤:

加载图数据并统一存储格式;

对图数据进行预处理,包括按照分区个数进行图分割并进行分区保存,对相互链接的处于不同分区的顶点进行复制顶点处理;

将预处理好的数据存入多个GPU中,以复制顶点为中心进行广度优先遍历并记录复制边信息;

将复制边传回CPU,利用Tarjan算法检测强连通图并标记属于同一个强连通图的顶点;

将标记的顶点传回上述多个GPU中,所有GPU同时并行执行利用FB-Reinfore算法进行强连通图检测,包括:复制顶点处的强连通图检测,非复制顶点处的数据并行的强连通图检测,以及非复制顶点处的任务并行的强连通图检测。

2.如权利要求1所述的方法,其特征在于,图数据包括的信息有顶点数、边数、每条边的头顶点和尾顶点的编号。

3.如权利要求1所述的方法,其特征在于,将图数据以CSR格式进行统一存储,包括以下步骤:

申请比边数大1的链接顶点数组C和比顶点数大1的链接顶点位置数组R;

在数组C中依次存储以每个顶点为头顶点的所有边的尾顶点信息,数组C的最后一个元素赋为空值;在数组R中,第i个元素存储以第i个顶点为头顶点的所有边的第一个尾顶点的在数组C中的位置信息,最后一个元素存储数组C中最后一个元素的位置。

4.如权利要求1所述的方法,其特征在于,预处理的步骤包括:

将图数据进行图分割后,得到每个顶点所对应的分区编号与每个分区的顶点个数,将分区编号按照顶点序号读入一数组P中,该数组P的第i个元素记录了顶点i所属的分区编号;

根据设备的GPU总数N,申请数组Ci、数组Ri、复制点标记数组Mi和对应于分区的顶点标记数组Vi,其中1≤i≤N;

对于图数据中遍历到的每个顶点,根据数组P中记录的顶点的分区号,将顶点记入所在分区的数组Vi中,将该顶点的链接顶点情况记录到数组Ci和数组Ri中;

如果一顶点j链接到的某个顶点k属于其他分区,则将该顶点k也存入顶点j对应的数组Vi中,并将顶点j标记为复制顶点,在数组Mi中顶点j所对应位置标记为1,在顶点k所属的分区中将顶点k也标记为复制顶点;如果顶点j链接到的所有顶点均属于顶点j所在分区,则在数组Mi中顶点j所对应位置标记为0。

5.如权利要求4所述的方法,其特征在于,以复制顶点为中心进行广度优先遍历并记录复制边信息为所有GPU并行运行,包括以下步骤:

对于存储于第i个GPU中的每个顶点,如果某个顶点j在数组MGi中的标记为1,则进行以顶点j为中心的广度优先遍历;

如果所遍历到的顶点k不属于当前分区或者顶点k在数组MGi中的标记为1,则将顶点组(j,k)做为新的边存入数组EGi中;

重复以上的两个步骤,直到每个GPU上的所有顶点被检测完。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910371236.9/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top