System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及图数据处理,尤其涉及一种基于异构gpu算力感知的子图划分方法、装置及介质。
技术介绍
1、近年来,深度学习在计算机视觉、自然语言处理、语音识别等领域取得了显著的成就,但其只能处理欧式空间下结构规整的数据。现实世界中的许多问题涉及到非欧式空间,其中数据之间的关系更加复杂,而图特别适用于表示和分析非欧式空间中的数据。但是,随着数据规模的不断增大,传统的图处理变得越来越低效。gpu的快速发展,为此提供了解决方案,大量研究开始关注多gpu的加速方法。然而,目前大多图分区算法都默认gpu的类型相同,因此追求子图分区的大小尽可能相似,从而实现负载均衡。然后,现在gpu发展迅速,一台机器上具有不同算力gpu的情况已成为常态,在这种情况下,现有的分区算法将导致计算效率低下,甚至内存溢出。
2、术语解释:
3、gpu:graphics processing unit的缩写,图形处理器,又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。
技术实现思路
1、为至少一定程度上解决现有技术中存在的技术问题之一,本专利技术的目的在于提供一种基于异构gpu算力感知的子图划分方法、装置及介质。
2、本专利技术所采用的技术方案是:
3、一种基于异构gpu算力感知的子图划分方法,包括以下步骤:
4、获取原始图数据g及子图划分目标数量n,根据原始图
5、评估每个gpu的算力,结合评估结果设计算力感知的启发式函数,为每个gpu确定目标计算负担;
6、根据每个节点的度数构建加权图gw;
7、使用图分区算法对加权图gw完成粗化图的划分,得到子图;
8、根据启发式函数和节点权重,调整不同子图的大小,以完成全部子图的划分。
9、进一步地,所述获取原始图数据g及子图划分目标数量n,根据原始图的节点数和边数,计算整体计算负担,包括:
10、获取由用户输入的原始图数据g以及子图划分目标数量n;
11、根据原始图的节点数和边数,采用以下公式计算出整体计算负担:
12、h(v,e)=α×|v|+β×|e|
13、其中,α是节点的权重;β是边的权重;|v|表示边数,|e|表示节点数,h(v,e)表示整体计算负担。
14、进一步地,所述评估每个gpu的算力,结合评估结果设计算力感知的启发式函数,为每个gpu确定目标计算负担,包括:
15、使用gpu算力评估工具对每个gpu的算力进行评估,得到n个gpu的评估结果:c=[c1,c2,...,cn];
16、结合评估结果设计设计用于指导子图分配的启发式函数,并计算每个gpu的分数;
17、每个gpu根据所得分数,获取其所拥有的子图规模,作为子图的目标计算负担。
18、进一步地,gpu的分数的计算公式如下所示:
19、
20、其中,scorei表示第i个gpu的分数,表示所有gpu的算力评估结果总和,ci表示第i个gpu的评估结果。
21、进一步地,所述根据每个节点的度数构建加权图gw,包括:
22、遍历原始图中的每个节点,并计算该节点的度数;
23、将计算获得的度数表示该节点的权重,并附加到图中。
24、进一步地,所述使用图分区算法对加权图gw完成粗化图的划分,得到子图,包括:
25、使用图分区算法对加权图gw进行分区,得到粗化的大小相近的子图。
26、进一步地,所述根据启发式函数和节点权重,调整不同分区的大小,包括:
27、a1、预先将不同的子图随机指定给不同的gpu;
28、a2、选择计算负担最低的gpu对应的子图,计算至少需要分配出去的差额计算负担;
29、a3、遍历该子图的边缘节点,采用动态规划算法,选择最终需要分配出去的节点;
30、a4、将需要分配出去的节点,添加到各自的邻居子图中,并将当前子图标记为已完成;
31、a5、遍历剩余子图,重复执行步骤a1-a4,直至全部子图调整完成。
32、进一步地,所述子图划分方法,还包括以下步骤:
33、将调整完成的子图实际分配给对应的gpu,并执行图计算任务。
34、本专利技术所采用的另一技术方案是:
35、一种基于异构gpu算力感知的子图划分装置,包括:
36、至少一个处理器;
37、至少一个存储器,用于存储至少一个程序;
38、当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如上所述方法。
39、本专利技术所采用的另一技术方案是:
40、一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行如上所述方法。
41、本专利技术的有益效果是:本专利技术充分考虑不同gpu的算力,来细化调整子图的规模,可以显著提高图计算任务在含有不同算力gpu的集群上的执行效率,最大化每个gpu的计算潜力,显著提高了在异构gpu环境中的计算效率。
本文档来自技高网...【技术保护点】
1.一种基于异构GPU算力感知的子图划分方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于异构GPU算力感知的子图划分方法,其特征在于,所述获取原始图数据G及子图划分目标数量N,根据原始图的节点数和边数,计算整体计算负担,包括:
3.根据权利要求1所述的一种基于异构GPU算力感知的子图划分方法,其特征在于,所述评估每个GPU的算力,结合评估结果设计算力感知的启发式函数,为每个GPU确定目标计算负担,包括:
4.根据权利要求3所述的一种基于异构GPU算力感知的子图划分方法,其特征在于,GPU的分数的计算公式如下所示:
5.根据权利要求1所述的一种基于异构GPU算力感知的子图划分方法,其特征在于,所述根据每个节点的度数构建加权图Gw,包括:
6.根据权利要求1所述的一种基于异构GPU算力感知的子图划分方法,其特征在于,所述使用图分区算法对加权图Gw完成粗化图的划分,得到子图,包括:
7.根据权利要求1所述的一种基于异构GPU算力感知的子图划分方法,其特征在于,所述根据启发式函数和节点权重,调整不同
8.根据权利要求1所述的一种基于异构GPU算力感知的子图划分方法,其特征在于,所述子图划分方法,还包括以下步骤:
9.一种基于异构GPU算力感知的子图划分装置,其特征在于,包括:
10.一种计算机可读存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由处理器执行时用于执行如权利要求1-8任一项所述方法。
...【技术特征摘要】
1.一种基于异构gpu算力感知的子图划分方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于异构gpu算力感知的子图划分方法,其特征在于,所述获取原始图数据g及子图划分目标数量n,根据原始图的节点数和边数,计算整体计算负担,包括:
3.根据权利要求1所述的一种基于异构gpu算力感知的子图划分方法,其特征在于,所述评估每个gpu的算力,结合评估结果设计算力感知的启发式函数,为每个gpu确定目标计算负担,包括:
4.根据权利要求3所述的一种基于异构gpu算力感知的子图划分方法,其特征在于,gpu的分数的计算公式如下所示:
5.根据权利要求1所述的一种基于异构gpu算力感知的子图划分方法,其特征在于,所述根据每个节点的度数构建...
【专利技术属性】
技术研发人员:宋县锋,胡俊锋,邹毅,温国华,施政,
申请(专利权)人:华南理工大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。