一种多GPU数据传输方法、装置、设备及存储介质与流程

文档序号:31708835发布日期:2022-10-01 13:49阅读:来源:国知局

技术特征:
1.一种多gpu数据传输方法,其特征在于,所述方法包括:对同一服务器挂载的多个gpu进行排序以生成gpu序列,其中,gpu总个数为偶数,每个gpu均持有大小相同内容不同的数据;基于倍增算法确定本次执行数据拷贝的分组步长;从所述gpu序列的头或尾开始,将间隔等于分组步长减一的两个gpu组成一组;遍历所有分组以使属于同一组的两个gpu互相拷贝对方当前持有的数据;响应于所有分组均完成数据拷贝,则返回执行所述基于倍增算法确定本次执行数据拷贝的分组步长的步骤。2.根据权利要求1所述的多gpu数据传输方法,其特征在于,所述服务器包括两个通过qpi协议通信的cpu,每个cpu通过pcie switch挂载四个gpu,同一pcie switch挂载的四个cpu分为两对,且每对gpu采用nvlink协议通信。3.根据权利要求2所述的多gpu数据传输方法,其特征在于,所述对同一服务器挂载的多个gpu进行排序以生成gpu序列的步骤包括:获取服务器每个cpu所挂载的gpu,以及各个gpu之间的通信协议;以每个cpu为单位执行以下步骤:将采用nvlink协议通信的两个gpu连续排列得到若干第一序列,拼接所述若干第一序列得到第二序列;遍历所有cpu以得到每个cpu对应的第二序列,并对所有第二序列进行拼接以得到所述gpu序列。4.根据权利要求1所述的多gpu数据传输方法,其特征在于,所述基于倍增算法确定本次执行数据拷贝的分组步长的步骤包括:获取任意一个gpu执行数据拷贝的完成次数;基于公式l=2
n
计算分组步长,其中,l表示分组步长,n表示gpu执行数据拷贝的完成次数。5.根据权利要求1所述的gpu数据传输方法,其特征在于,所述方法还包括:响应于每个gpu均持有所有其他gpu的数据,则结束数据传输。6.根据权利要求1所述的gpu数据传输方法,其特征在于,每个gpu持有的数据均为深度学习训练数据。7.一种多gpu数据传输装置,其特征在于,所述装置包括:排序模块,所述排序模块配置用于对同一服务器挂载的多个gpu进行排序以生成gpu序列,其中,gpu总个数为偶数,每个gpu均持有大小相同内容不同的数据;确定模块,所述确定模块配置用于基于倍增算法确定本次执行数据拷贝的分组步长;分组模块,所述分组模块配置用于从所述gpu序列的头或尾开始,将间隔等于分组步长减一的两个gpu组成一组;数据拷贝模块,所述数据拷贝模块配置用于遍历所有分组以使属于同一组的两个gpu互相拷贝对方当前持有的数据;返回模块,所述返回模块配置用于响应于所有分组均完成数据拷贝,则返回执行所述基于倍增算法确定本次执行数据拷贝的分组步长的步骤。8.根据权利要求7所述的多gpu数据传输装置,其特征在于,所述服务器包括两个通过qpi协议通信的cpu,每个cpu通过pcie switch挂载四个gpu,同一pcie switch挂载的四个
cpu分为两对,且每对gpu采用nvlink协议通信。9.一种计算机设备,其特征在于,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器中运行的计算机程序,所述处理器执行所述程序时执行权利要求1-6任意一项所述的多gpu数据传输方法。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行权利要求1-6任意一项所述的多gpu数据传输方法。

技术总结
本发明涉及计算机技术领域,尤其涉及一种多GPU数据传输方法、装置、设备及存储介质。所述方法包括:对同一服务器挂载的多个GPU进行排序以生成GPU序列,其中,GPU总个数为偶数,每个GPU均持有大小相同内容不同的数据;基于倍增算法确定本次执行数据拷贝的分组步长;从所述GPU序列的头或尾开始,将间隔等于分组步长减一的两个GPU组成一组;遍历所有分组以使属于同一组的两个GPU互相拷贝对方当前持有的数据;响应于所有分组均完成数据拷贝,则返回执行所述基于倍增算法确定本次执行数据拷贝的分组步长的步骤。本发明的方案与传统环形通信相比可以有效的降低通信延迟,避免了带宽的浪费,显著提升了数据传输效率。显著提升了数据传输效率。显著提升了数据传输效率。


技术研发人员:罗建刚 王申领
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2022.06.29
技术公布日:2022/9/30
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1