一种基于gpu的深度学习方法及系统的制作方法_2

文档序号:9471338阅读:来源:国知局
明另一实施例中,针对上述步骤SlOO中CPU利用硬盘和内存将待训练数据传输至每个GPU,实际应用中,具体地,在硬件系统设计中,CPU端采用二级模式,第一级为硬盘,可以采用快速SSD硬盘,大小可以为1TB,用于存放原始的待训练的图片数据;第二级为内存,可以配置256GB大内存,内存存放训练模型的参数数据和缓存图片数据。
[0053]另外,本实施例中,硬件系统为高1吞吐系统:上述CPU与每个GPU之间通过PCIE接口进行数据传输,基于上述系统配置的256GB大内存和ITB SSD硬盘,CPU能快速访问数据,CPU与每块GPU都是PCIE 3.0通信,每块GPU卡内的两个GPU芯片也是PCIE3.0通信,GPU与GPU之间采用RDMA直接通信,这样CPU与GPU,GPU与GPU之间通信达到最高,以此实现了系统的高1吞吐。
[0054]最后,本发明中,上述CPU可以包含一个或多个CPU,多个CPU可以对数据处理量进行相互分担,本实施中,CPU的数量优选地为两个,软件系统为CafTe应用单机多GPU卡并行软件,采用Cifar-1O数据测试,软件框架采用MPI+Phread+CUDA混合并行计算模式,实现单机多GPU卡并行计算。CPU端起多个MPI进程,进程数为1+GPU数,其中第一个MPI进程控制两个CPU,其它的MPI进程数为GPU个数,每个MPI进程控制一个GPU,第一个MPI进程起多个PThread并行线程,每个CPU core对应一个PThread线程。软件系统处理过程采用主从模式,分为一个主进程,控制CPU端;多个从进程控制GPU端。
[0055]基于上述实施例中公开的技术方案,本发明再一实施例中,针对硬件系统的设计,提出一种基于CPU+GPU异构架构的单机双路8GPU设计模式,具体地,在两个CPU的基础上,至少一个GPU包括八个GPU,进一步地,八个GPU具体为四块GPU卡,每块GPU卡包括两个GPU芯片。实际应用中,参考图3,系统只采用一个节点,配置四块Nvidia K80GPU卡,每块K80有两个GPU芯片,一共八个GPU芯片,配置两个CPU为两个haswel I架构E5_2670v3CPU,两个CPU与八个GPU协同,以此进一步实现高密度计算。
[0056]事实上,在实际应用中,上述至少一个GPU的数量除了八个,还可以是三个、五个或者六个等,本发明不做严格限定。上述优选地指出至少一个GPU包括八个GPU,是因为现实情况中上述至少一个GPU最多包括八个GPU,本实施例采用八个GPU是为了最大限度地提高计算效率。
[0057]关于硬盘、内存及通信模式的设置请参考上文。
[0058]另外,基于上述硬件系统设计技术方案,基于实际应用,对软件系统设计进行进一步的详细说明:
[0059]参考图4,软件系统架构设计:软件系统采用MPI+Phread+CUDA混合并行计算模式,实现单机多GPU卡并行计算。CPU端起9个MPI进程,进程数为1+GPU数,其中第一个MPI进程控制两块CPU,其它的MPI进程中每个MPI进程控制一个GPU芯片,第一个MPI进程起二十四个PThread并行线程,每个CPU core对应一个PThread线程。
[0060]基于上述软件系统构架,处理过程设计采用主从模式,分为一个主进程,控制CPU端;八个从进程分别控制八个GPU芯片。后续更具体内容可以参照上文。
[0061]基于上述本发明实施例提供的基于GPU的深度学习方法相对应,本发明实施例还提供了一种基于GPU的深度学习系统,参考图5,系统为单机系统,该系统500可以包括如下内容:
[0062]CPU501 和至少一个 GPU5O2 ;
[0063]其中,
[0064]CPU501用于传输待训练数据至每个GPU502,依据GPU502反馈的权重信息更新神经网络模型,并将更新后的神经网络模型传输至每个GPU502 ;
[0065]每个GPU502用于利用待训练数据,前向后向计算得到神经网络模型的权重信息,并将权重信息反馈至CPU501 ;循环执行上述步骤直至完成神经网络的深度学习过程。
[0066]上述系统500还可以包括:SSD硬盘和内存;
[0067]CPU501从SSD硬盘中并行读取待学习数据至内存;将内存中的待训练数据传输至每个 GPU502。
[0068]上述系统500还可以包括:PCIE接口 ;
[0069]CPU501与每个GPU502之间通过PCIE接口进行数据传输。
[0070]上述系统500中,CPU501的数量为两个,至少一个GPU502包括八个GPU502。
[0071 ] 上述系统500中,八个GPU502具体为四块GPU卡,每块GPU卡包括2个GPU芯片。
[0072]综上,本发明实现了一种基于GPU的高密度桌面型图像深度学习软硬件一体化系统,该系统具有高密度计算、高1吞吐、低成本、易部署特点。此系统根据图像深度学习应用计算特点进行专用定制化软硬件一体化设计,整个系统为单机系统,采用CPU与多块GPU卡协同高密度计算,从而加速图像深度学习应用处理时间,提升计算效率。
[0073]需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统类实施例而言,由于其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
[0074]以上对本发明所提供的一种基于GPU的深度学习方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
【主权项】
1.一种基于GPU的深度学习方法,其特征在于,应用于基于GPU的深度学习系统,所述系统为单机系统且所述系统包括CPU和至少一个所述GPU,该方法包括: 所述CPU传输待训练数据至每个所述GPU ; 每个所述GPU利用所述待训练数据,前向后向计算得到神经网络模型的权重信息,并将所述权重信息反馈至所述CPU ; 所述CPU依据所述权重信息更新所述神经网络模型,并将更新后的神经网络模型传输至每个所述GPU,循环执行上述步骤直至完成所述神经网络模型的深度学习过程。2.如权利要求1所述的方法,其特征在于,所述CPU传输所述待训练数据至每个所述GHJ,包括: 从SSD硬盘中并行读取所述待训练数据至内存; 将所述内存中的所述待训练数据传输至每个所述GPU。3.如权利要求1或2所述的方法,其特征在于,所述CPU与每个所述GPU之间通过PCIE接口进行数据传输。4.一种基于GPU的深度学习系统,其特征在于,所述系统为单机系统,该系统包括: CPU和至少一个GPU ; 其中, 所述CPU用于传输待训练数据至每个所述GPU,依据所述GPU反馈的权重信息更新神经网络模型,并将更新后的神经网络模型传输至每个所述GPU ; 每个所述GPU用于利用所述待训练数据,前向后向计算得到所述神经网络模型的权重信息,并将所述权重信息反馈至所述CPU ;循环执行上述步骤直至完成所述神经网络模型的深度学习过程。5.如权利要求4所述的系统,其特征在于,还包括: SSD硬盘和内存; 所述CPU从所述SSD硬盘中并行读取所述待训练数据至所述内存;将所述内存中的所述待训练数据传输至每个所述GPU。6.如权利要求4或5所述的系统,其特征在于,还包括: PCIE 接口 ; 所述CPU与每个所述GPU之间通过所述PCIE接口进行数据传输。7.如权利要求6所述的系统,其特征在于,所述CPU的数量为两个,所述至少一个GPU包括八个GPU。8.如权利要求7所述的系统,其特征在于,所述八个GPU具体为四块GPU卡,每块所述GPU卡包括2个GPU芯片。
【专利摘要】本发明公开了一种基于GPU的深度学习方法及系统,所述系统为单机系统且包括CPU和至少一个GPU,该方法包括:CPU传输待训练数据至每个GPU;每个GPU利用所述待训练数据,前向后向计算得到神经网络模型的权重信息,并将权重信息反馈至CPU;CPU依据权重信息更新神经网络模型,并将更新后的神经网络模型传输至每个GPU,循环执行上述步骤直至完成神经网络模型的深度学习过程。以上方案由具有强大并行计算能力的GPU执行耗时的前向后向计算,且采用了CPU与多个GPU卡协同的部署方式,有效解决了现有技术中计算耗时长效率低,系统部署复杂、成本高的问题。
【IPC分类】G06N3/08, G06F15/18
【公开号】CN105224502
【申请号】CN201510628858
【发明人】张清, 王娅娟
【申请人】浪潮(北京)电子信息产业有限公司
【公开日】2016年1月6日
【申请日】2015年9月28日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1