本公开涉及一种数据处理的方法、数据处理装置和电子设备。其中该数据处理装置可以包括在组合处理装置中,该组合处理装置还可以包括通用互联接口和其他处理装置。该数据处理装置与其他处理装置进行交互,共同完成用户指定的计算操作。组合处理装置还可以包括存储装置,该存储装置分别与数据处理装置和其他处理装置连接,用于数据处理装置和其他处理装置的数据服务。借助于本公开的内容,可以避免数据处理装置内部的逐级反馈,保证数据处理装置在单条管道模型中实现最大程度的无阻塞。
A data processing method, data processing device and electronic equipment
【技术实现步骤摘要】
一种数据处理的方法、数据处理装置和电子设备
本公开涉及计算机领域,更具体地涉及一种数据处理的方法、数据处理装置和电子设备。
技术介绍
在现有的多核并行方案中需要通过设置模型并行度(mp)、数据并行度(dp)、多线程(multi-thread)、网络结构参数(n)四个参数来实现,现有的多核并行计算的设置方式参数复杂,对用户不够友好。具体情况如下:例如在图1中示出了现有技术的多核并行的技术方案100。数据提供器102(dataprovider)负责准备输入数据,推理机104(inferencer)进行数据处理,然后把处理完的数据传递出去,即传递给后处理器106(postprocessor)。但是推理机104传递完了之后还要等待后处理器106处理的结果。等后处理器106处理结果出来之后,后处理器106才告诉推理机104数据处理完毕。推理机104然后从数据提供器102再拿数据,继续进行上述的操作。后处理器106负责收集处理结果,处理完以后把处理结果传递回去让推理机104继续向后处理器106传递数据。当前管道模型(pipeline)的问题在于推理机104阶段,调用流(InvokeStream)后紧跟同步流(SyncStream)。导致管道模型中的流水其实在推理机104断档。在同步流期间整个管道模型处于静止状态。即整个管道模型只有一次流水数据。在图1所示的现有技术的方案中实行多核并行(例如图1中所示的并行管道模型I-IV,另外在推理机104中设置有多核),若需要达到性能最优,需要找到模型并行度、数据并行度、多线程、网络结构参数的最优组合。多线程决定了创建管道模型的数量,数据并行度和网络结构参数决定了一个管道模型一次处理图片的数量(即,数据并行度(dp)×网络结构参数(n)=批尺寸(batchsize)),模型并行度决定将一次的数据量(即,一次处理图片的数量)拆分到多少个核上执行。现有技术方案存在的缺陷在于,不用多线程性能上不去。为避免管道模型中断必须发起多个管道模型才能保证中央处理器(CPU)和机器学习处理器之间的流水顺畅。一个管道模型一次处理图片数量(批尺寸,batchsize)的大小对于性能的影响差异巨大。因为一个管道模型一次处理图片的数量增大能够减小流水轮回的次数。
技术实现思路
为了至少解决在上述
技术介绍
部分所描述的问题,以便提高数据处理的总体性能,本公开提出了如下的技术方案及其多个实施例。根据本公开的第一方面,提供了一种数据处理的方法,可以包括下面的步骤:将数据提供器、具有多核的推理机、后处理器依次布置在同一管道模型中;后处理器将具有多核的推理机并行处理后的数据分叉到相应的工作线程进行后处理,并将后处理得到的反馈数据流经由相应的反馈部件反馈至数据提供器。根据本公开的第二方面,提供了一种数据处理装置,可以包括:依次布置在同一管道模型中的数据提供器、具有多核的推理机、后处理器;其中后处理器将具有多核的推理机并行处理后的数据分叉到相应的工作线程进行后处理,并将后处理得到的反馈数据流经由相应的反馈部件反馈至数据提供器。根据本公开的第三方面,提供了一种电子设备,包括如上所述的数据处理装置。借助于上述的技术方案,可以避免后处理器向推理机、推理机向数据提供器的逐级反馈,可以在数据处理情况下实现单条管道模型中最大程度的无阻塞,提高数据传递的效率。附图说明图1示意性示出了现有技术中多核并行的技术方案。图2示意性示出了根据本公开一个实施例的数据处理的方法流程图;图3示意性示出了根据本公开另一个实施例的数据处理装置示意图;图4示意性示出了根据本公开又一个实施例的数据处理装置示意图;图5示意性示出了根据本公开一个实施例的电子设备示意图;图6示意性示出根据本公开一个实施例的一种组合处理装置的结构图;以及图7示意性示出根据本公开一个实施例的一种板卡的结构示意图。具体实施方式下面将结合附图1-7介绍现有技术以及本公开中的详细内容。图1示意性示出了现有技术中多核并行设备100。如在
技术介绍
部分提到的,数据提供器102负责准备输入数据,例如图1中的数据提供器102接收来自外部的请求101,即,外部向数据提供器102提供的数据(例如图片数据)。推理机104把来自数据提供器102的数据进行处理。推理机104处理完之后,推理机104再把处理完的数据传递出去,即,传递给后处理器106。但是在推理机104把数据处理完之后,还是需要等待后处理器106的处理结果。也就是说,在后处理器106的处理结果出来之后,后处理器106才告诉推理机104数据处理完毕,然后推理机104才可以继续处理数据,并把处理后的其他数据再传递给后处理器106。这里以及下面之所以将图1的内容详细描述一下,是为了帮助本领域技术人员了解现有技术存在的问题以及本公开对此的改进。例如图1所示的多核并行设备100中,我们可以看出,后处理器106负责收集处理结果,处理器106搜集的处理结果搜集完之后把结果传递回去,即把结果传递给推理机104。推理机104才可以继续向后处理器106传递数据。图1示出了四种管道模型,即,管道模型I、管道模型II、管道模型III、管道模型IV,其中管道模型I当中的内容在图1的最表面已经示出,管道模型II、管道模型III、管道模型IV的结构与管道模型I的结构基本相似,所以在图1所示的管道模型当中,仅仅示出了管道模型I的具体内容,管道模型II、管道模型III、管道模型IV的结构未示出。在图1所示的结构中包括了数据提供器102、推理机104、后处理器106,在数据提供器102、推理机104、后处理器106对应的下方虚线方框内分别示出了“输入”、“计算”、“输出”,这里的三个虚线框,即“输入”、“计算”、“输出”分别表示数据提供器102、推理机104、后处理器106所具有的对应功能。即,数据提供器102实现的是输入功能,推理机104实现的是计算功能,后处理器106实现的是输出功能。进一步的解释是,数据提供器102将来自外部的请求101的数据复制在数据提供器102中(如在数据提供器102方框与虚线框“输入”之间的三条带箭头线“复制在”所示的)。推理机104通过调用流调用来自数据提供器102的数据进行处理(如在推理机104方框与虚线框“计算”之间的两条带箭头线“调用流”和“同步流”所示的),并且在推理机104处理完的时候,借助于输入缓存器110与数据提供器102进行同步。后处理器106是将推理机104处理完的数据拷贝出来,即拷贝到后处理器106中(如在后处理器106方框与虚线框“输出”之间的一条带箭头线“拷贝出”所示的)。图1所示的输出缓存器108实现的功能是将后处理器106处理完数据的信息反馈给推理机104,输入缓存器110实现的功能是将推理机104处理完数据的信息反馈给数据提供器102,从而实现了逐级反馈。如在前面已经提到的,现有的数据处理机制需要逐级反馈,后处理器106反馈给推理机10本文档来自技高网...
【技术保护点】
1.一种数据处理的方法,包括:/n将数据提供器、具有多核的推理机、后处理器依次布置在同一管道模型中;/n所述后处理器将具有多核的所述推理机并行处理后的数据分叉到相应的工作线程进行后处理,并将后处理得到的反馈数据流经由相应的反馈部件反馈至所述数据提供器。/n
【技术特征摘要】
1.一种数据处理的方法,包括:
将数据提供器、具有多核的推理机、后处理器依次布置在同一管道模型中;
所述后处理器将具有多核的所述推理机并行处理后的数据分叉到相应的工作线程进行后处理,并将后处理得到的反馈数据流经由相应的反馈部件反馈至所述数据提供器。
2.根据权利要求1所述的数据处理的方法,所述推理机根据核的数量将输入数据流拆分至所述多核的相应核上进行并行处理。
3.根据权利要求2所述的数据处理的方法,其中所述推理机上设置的所述多核中的任一个核空闲的情况下,将来自所述数据提供器的输入数据流的数据进行处理,并且在所述推理机上设置的所述多核中的任一个核处理完成的情况下,将所述核上处理后的数据传递给所述后处理器。
4.根据权利要求3所述的数据处理的方法,其中所述反馈部件包括:
流线、输出缓存器、输入缓存器。
5.根据权利要求1-4中任一项所述的数据处理的方法,其中所述多核包括图形处理器、语音处理器、现场可编程门阵列和/或专用数据处理装置。
6.根据权利要求5所述的数据处理的方法,其中所述数据提供器和后处理器布置在中央处理器中,所述具有多核的推理机布置在具有多核的机器学习芯片上。
7.根据权利要求6所述的数据处理的方法,其中管道模型的任务并发度为所述机器学习芯片上的总核数量除以所述推理机上设置的核数量。
8.一种数据处理装置,包括:
依次...
【专利技术属性】
技术研发人员:不公告发明人,
申请(专利权)人:中科寒武纪科技股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。