System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于异构GPU算力感知的子图划分方法、装置及介质制造方法及图纸_技高网

基于异构GPU算力感知的子图划分方法、装置及介质制造方法及图纸

技术编号:40309109 阅读:7 留言:0更新日期:2024-02-07 20:52
本发明专利技术公开了一种基于异构GPU算力感知的子图划分方法、装置及介质,属于图数据处理技术领域。其中方法包括:获取原始图数据G及子图划分目标数量N,根据原始图的节点数和边数,计算整体计算负担;评估每个GPU的算力,结合评估结果设计算力感知的启发式函数,为每个GPU确定目标计算负担;根据每个节点的度数构建加权图G<subgt;w</subgt;;使用图分区算法对加权图G<subgt;w</subgt;完成粗化图的划分,得到子图;根据启发式函数和节点权重,调整不同子图的大小,以完成全部子图的划分。本发明专利技术充分考虑不同GPU的算力,来细化调整子图的规模,可以显著提高图计算任务在含有不同算力GPU的集群上的执行效率,以最大化每个GPU的计算潜力。

【技术实现步骤摘要】

本专利技术涉及图数据处理,尤其涉及一种基于异构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算力感知的子图划分方法,其特征在于,所述根据每个节点的度数构建...

【专利技术属性】
技术研发人员:宋县锋胡俊锋邹毅温国华施政
申请(专利权)人:华南理工大学
类型:发明
国别省市:

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

1