[发明专利]一种GPU通信方法、设备以及介质在审
申请号: | 202011568020.0 | 申请日: | 2020-12-25 |
公开(公告)号: | CN112765089A | 公开(公告)日: | 2021-05-07 |
发明(设计)人: | 罗建刚 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F15/173 | 分类号: | G06F15/173;G06F17/16 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 刘小峰;宋薇薇 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 gpu 通信 方法 设备 以及 介质 | ||
本发明公开了一种GPU通信方法,包括以下步骤:将每一个GPU上待传输的矩阵分解成子矩阵和压缩矩阵,其中每一个所述待传输的矩阵分解得到的所述压缩矩阵相同;使每一个GPU针对各自的子矩阵执行reduce操作,以使所述每一个GPU得到中间矩阵;对所述每一个GPU执行allgather操作,以使所述每一个GPU分别向其他所有GPU发送自身的所述中间矩阵;将所述每一个GPU接收到的若干个所述中间矩阵和自身的所述中间矩阵分别乘以所述压缩矩阵以得到最终矩阵。本发明还公开了一种计算机设备以及可读存储介质。本发明提出的方案通过分解矩阵,通信的复杂度会大大的降低。在保证收敛精度的情况下,可以删去部分较小的特征值,进一步减少数据的传输。
技术领域
本发明涉及GPU领域,具体涉及一种GPU通信方法、设备以及存储介质。
背景技术
深度学习的大规模数据并行训练带来了越来越大的时间开销,在高速传输网络,硬件成本高昂的情况下,如何合理高效的利用低速网络传输也是我们要解决的问题。低速网络的低传输效率,已经逐渐成为了神经网络大规模训练的瓶颈。
环形通信算法是GPU通信的常用方法,常在数据量较大时使用环形通信算法,其可以有效的利用pipeline技术,在多GPU上有良好的扩展性。但是在低速网络的限制下,例如在部分PCIE连接下,其传输速度仅有7.5GB/s左右,这已经逐渐成为了GPU计算的瓶颈。
发明内容
有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种GPU通信方法,包括以下步骤:
将每一个GPU上待传输的矩阵分解成子矩阵和压缩矩阵,其中每一个所述待传输的矩阵分解得到的所述压缩矩阵相同;
使每一个GPU针对各自的子矩阵执行reduce操作,以使所述每一个GPU得到中间矩阵;
对所述每一个GPU执行allgather操作,以使所述每一个GPU分别向其他所有GPU发送自身的所述中间矩阵;
将所述每一个GPU接收到的若干个所述中间矩阵和自身的所述中间矩阵分别乘以所述压缩矩阵以得到最终矩阵。
在一些实施例中,使每一个GPU针对各自的子矩阵执行reduce操作,以使所述每一个GPU得到中间矩阵,进一步包括:
对所述每一个GPU上的所述中间矩阵执行压缩操作;
将所述每一个GPU接收到的若干个所述中间矩阵和自身的所述中间矩阵分别乘以所述压缩矩阵以得到最终矩阵,进一步包括:
对所述每一个GPU接收到的若干个所述中间矩阵和自身的所述中间矩阵块执行解压操作后分别乘以所述压缩矩阵以得到最终矩阵。
在一些实施例中,还包括:
在使所述每一个GPU针对各自的所述第一个待传输的子矩阵执行所述解压操作的同时,使所述每一个GPU针对各自的第二个待传输的子矩阵开始依次执行所述reduce操作、所述压缩操作、所述allgather操作以及所述解压操作。
在一些实施例中,还包括:
在使所述每一个GPU针对各自的所述第一个待传输的子矩阵执行所述压缩操作后,使所述每一个GPU针对各自的第三个待传输的子矩阵开始依次执行所述reduce操作、所述压缩操作、所述allgather操作以及所述解压操作。
在一些实施例中,还包括:
在使所述每一个GPU针对各自的所述第二个待传输的子矩阵执行所述压缩操作的同时,使所述每一个GPU针对各自的所述第三个待传输的子矩阵执行所述allgather操作。
在一些实施例中,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011568020.0/2.html,转载请声明来源钻瓜专利网。