[发明专利]一种服务器集群及其深度学习的集合通信系统和方法在审
申请号: | 202110866054.6 | 申请日: | 2021-07-29 |
公开(公告)号: | CN113900793A | 公开(公告)日: | 2022-01-07 |
发明(设计)人: | 陈尧;赵谦谦;郭雷;阚宏伟 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 杨威 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 服务器 集群 及其 深度 学习 集合 通信 系统 方法 | ||
本申请公开了一种深度学习的集合通信方法,应用于环形通信连接的N个FPGA中的任一FPGA中,N为不小于2的正整数,包括:从与自身连接的各个GPU中读取待处理数据块,并对各个待处理数据块进行归约操作,得到归约操作结果;基于自身得到的归约操作结果以及其他各个FPGA得到的归约操作结果,按照环形全局归约算法,得到全局归约结果;将全局归约结果分发至与自身连接的各个GPU中。应用本申请的方案,可以有效地对深度学习的集合通信进行加速。本申请还提供了一种服务器及其深度学习的集合通信系统,具有相应技术效果。
技术领域
本发明涉及计算机技术领域,特别是涉及一种服务器集群及其深度学习的集合通信系统和方法。
背景技术
深度学习的模型训练计算量非常大,目前广泛采用GPU(Graphics ProcessingUnit,图形处理器)进行加速训练。当模型规模大到单卡内存无法存放,或者计算耗时长到单卡处理无法忍受时,就需要使用单机多卡,甚至是多机多卡来进行加速模型的训练。此时,多个GPU之间高度依赖一种被称为All Reduce的集合通信操作,即全局归约操作。
集合通信是指多个通信单元按照某种固定的模式同时发送和接收数据,以此来完成特定数据交换的一种通信方式。在并行计算的应用中,大部分通信任务都可以归纳为若干种集合通信操作。其中的All Reduce集合通信操作可以参阅图1,例如在执行All Reduce之前,GPU0至GPU3上分别具有一组数据,标示为A至D,则在执行All Reduce之后,每个GPU上都有A+B+C+D,也就是将执行All Reduce之前的每个GPU上的数据的对应元素相加。当然,除了相加之外,其他场合中也可以有其他的具体运算类型,例如相乘。
随着利用GPU加速深度学习模型训练的不断发展,Ring-All Reduce算法得到了广泛的应用,这一算法是采用环形拓扑连接多个GPU,将数据切分为小块并在环内循环传递。具体的通信过程可参阅图2,整个通信过程可以视为图2左侧的一个Reduce-Scatter操作,以及图2右侧的一个All Gather操作。这样的优点是当通信的数据量足够大时,可以充分利用每条链路的发送和接收带宽。
但是,按照图2的方式实现All Reduce时,会占用GPU较多的计算资源,进而对GPU执行深度学习模型训练的其他计算任务造成影响。
综上所述,如何有效地对深度学习的集合通信进行加速,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种服务器集群及其深度学习的集合通信系统和方法,以有效地对深度学习的集合通信进行加速。
为解决上述技术问题,本发明提供如下技术方案:
一种深度学习的集合通信方法,应用于环形通信连接的N个FPGA中的任一FPGA中,N为不小于2的正整数,包括:
从与自身连接的各个GPU中读取待处理数据块,并对各个所述待处理数据块进行归约操作,得到归约操作结果;
基于自身得到的所述归约操作结果以及其他各个FPGA得到的归约操作结果,按照环形全局归约算法,得到全局归约结果;
将所述全局归约结果分发至与自身连接的各个GPU中。
优选的,每一个FPGA均与相同数量的GPU连接。
优选的,按照机内通信耗时和机外通信耗时平衡的原则,确定出与各个 FPGA连接的GPU数量。
优选的,所述按照机内通信耗时和机外通信耗时平衡的原则,确定出与各个FPGA连接的GPU数量,包括:
确定出使得最小的数值G,并将确定出的所述数值G作为确定出的与各个FPGA连接的GPU数量;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110866054.6/2.html,转载请声明来源钻瓜专利网。