一种数据处理方法以及数据处理装置制造方法及图纸

技术编号:37971984 阅读:6 留言:0更新日期:2023-06-30 09:47
本申请实施例公开了一种数据处理方法,用于大幅提升数据处理效率的同时只付出很小的软硬件开发成本。本申请实施例方法包括:接收主机设备发送的第一数据,根据预置处理逻辑处理第一数据,预置处理逻辑包括主机设备在第一芯片中预置的程序,预置处理逻辑指示第一数据与第二数据并行处理,第二数据为第一芯片中正在处理的数据。在处理的数据。在处理的数据。

【技术实现步骤摘要】
一种数据处理方法以及数据处理装置


[0001]本申请实施例涉及计算机领域,尤其涉及一种数据处理方法以及数据处理装置。

技术介绍

[0002]随着互联网和信息行业的快速发展,主机设备产生的数据需要外置于主机设备的专用芯片进行处理,由专用芯片将处理后的数据再返回到主机设备。例如,主机设备将获取到的原始图像数据发送到人工智能(artificial intelligence,AI)芯片,由AI芯片对原始图像数据优化处理,并将优化之后的图像数据发送到主机设备。
[0003]目前为了提升主机设备与AI芯片之间的数据传输和处理效率,需要AI芯片的厂商在AI芯片设计通用的数据并行处理机制。通用的数据并行处理机制例如,CUDA流机制。由于通用的数据并行处理机制需要AI芯片的厂商进行大量的软硬件开发,使得AI芯片厂商的开发投入成本比较高。

技术实现思路

[0004]本申请实施例提供了一种数据处理方法以及数据处理装置,用于大幅提升数据处理效率的同时只付出很小的软硬件开发成本。
[0005]本申请实施第一方面提供了一种数据处理方法,该方法由设备执行,也可以由设备的部件,例如设备的处理器、芯片或芯片系统等执行,还可以由能实现全部或部分设备功能的逻辑模块或软件实现。以第一芯片为例,本申请实施例提供的数据处理方法包括:第一芯片根据预置处理逻辑接收主机设备发送的第一数据,第一数据例如原始图像数据或原始视频数据。第一芯片根据预置处理逻辑处理第一数据,预置处理逻辑包括主机设备在第一芯片中预置的程序,该程序由主机设备基于业务需求编程并预置在第一芯片的处理器。第一芯片向主机设备开发第一芯片中部分处理器的控制权限,以使得主机设备能够将程序预置在第一芯片的处理器。预置处理逻辑指示第一数据与第二数据并行处理,第二数据为第一芯片中正在处理的数据,第二数据包括主机设备在发送第一数据之前发送的数据,第二数据例如原始图像数据或原始视频数据。第一芯片根据预置处理逻辑向主机设备发送处理后的第一数据。
[0006]本申请实施例中外置于主机设备的第一芯片向主机设备开放一部分处理器的控制权,由主机设备根据业务需求在第一芯片中定制化编程,定制化编程的处理逻辑能够支持第一芯片对主机设备发送的数据并行处理。从而第一芯片的厂商无需在第一芯片中开发支持数据并行处理的通用数据处理机制,从而降低了第一芯片的软硬件等总体开发成本。
[0007]一种可能的实施方式中,第一设备在在接收主机设备发送的第一数据之前,第一芯片接收预置请求,该预置请求用于将预置处理逻辑写入第一芯片。具体的,主机设备基于第一芯片的处理器架构,通过应用程序接口在第一芯片写入预置处理逻辑,预置处理逻辑用于控制第一芯片的处理器资源,具体的,预置处理逻辑能够控制第一芯片的处理资源并行处理与主机设备交互发送和接收数据。
[0008]本申请实施例中主机设备能够基于第一芯片开放的处理器控制权,在第一芯片中根据业务处理需求预置程序,从而避免第一芯片的厂商开发面向通用任务的多种数据处理机制,主机设备基于数据处理需求开发定制的处理逻辑,从而降低了第一芯片的软件开发成本。
[0009]一种可能的实施方式中,预置处理逻辑中至少包括依次执行的第一线程和第二线程,预置处理逻辑指示第一芯片在第二线程处理第二数据时,第一线程同时处理第一数据。预置处理逻辑还能够指示第一芯片通过第一线程处理第二数据之后,通过第二线程处理第二数据。
[0010]可以理解的是,当预置处理逻辑中还包括第三线程时,预置处理逻辑还能够指示第一芯片通过第二线程处理第二数据之后,通过第三线程处理第二数据。第一芯片通过第三线程处理第二数据时,第二线程同时处理第一数据。
[0011]本申请实施例中主机设备通过在第一芯片中预置处理逻辑,预置处理逻辑能够控制第一芯片实现多线程的并行处理,从而提升了任务的处理效率。
[0012]一种可能的实现方式中,第一芯片基于预置处理逻辑调度第二线程处理第二数据的过程中,当第一芯片调度第一线程处理完成第二数据之后,基于信号量驱动第二线程处理第二数据。即第一线程处理完成第二数据之后,向第二线程发送触发信号,第二线程接收到触发信号之后,第二线程开始处理第二数据。
[0013]本申请实施例中第一线程和第二线程之间可以通过信号量进行通信,使得第一线程处理第二数据之后能够自动触发第二线程处理第二数据,从而提升了数据的处理效率。
[0014]一种可能的实现方式中,第一线程处理第二数据的时间小于或等于第二线程处理第二数据的时间,第一线程处理第一数据的时间小于或等于第二线程处理第二数据的时间,第一线程为接收线程,第二线程为处理线程。
[0015]当第一芯片接收线程的处理数据时间小于处理线程处理数据的时间时,由于接收线程和处理线程在第一芯片并行处理,对于主机设备而言,主机设备不感知第一芯片接收线程的处理时间,从而掩盖了主机设备向第一芯片发送数据的时延。
[0016]可以理解的是,预置处理逻辑包括发送线程时,且发送线程的处理时间小于处理线程的时间时,由于处理线程和发送线程并行处理,因此,主机设备同样不感知第一芯片发送线程的处理时间,从而掩盖了第一芯片向主机设备发送数据的时延。
[0017]本申请实施例中接收线程的处理时间小于处理线程的处理时间,由于接收线程和处理线程并行处理,因此处理线程的处理时间掩盖了接收线程的处理时间,从提升了主机设备的数据处理效率。
[0018]一种可能的实施方式中,第一芯片为人工智能AI芯片,第一芯片所在的设备包括AI设备。第一数据和第二数据都包括原始图像数据,主机设备向AI设备发送原始图像数据,AI设备中的AI芯片对原始图像数据进行处理,并将处理后的数据发送到主机设备。
[0019]本申请实施例中提供的数据处理方法可应用到AI领域,从而提升了本申请实施例中数据处理方法的适用性。
[0020]本申请实施例第二方面提供了一种数据处理装置,该数据处理装置包括接收模块、处理模块和发送模块。其中,接收模块用于接收主机设备发送的第一数据,处理模块用于根据预置处理逻辑处理第一数据,预置处理逻辑包括主机设备在第一芯片中预置的程
序,预置处理逻辑指示第一数据与第二数据并行处理,第二数据为第一芯片中正在处理的数据。发送模块用于主机设备发送处理后的第一数据。
[0021]一种可能的实施方式中,接收模块还用于接收预置处理逻辑的预置请求,该预置请求用于在第一芯片写入预置处理逻辑,预置处理逻辑用于控制第一芯片的处理器资源。
[0022]一种可能的实施方式中,预置处理逻辑中至少包括依次执行的第一线程和第二线程,处理模块具体用于在第二线程处理第二数据时,第一线程处理第一数据。
[0023]一种可能的实施方式中,处理模块具体用于当调度第一线程处理完成第二数据之后,基于信号量驱动第二线程处理第二数据。
[0024]一种可能的实施方式中,第一线程处理第二数据的时间小于或等于第二线程处理第二数据的时间,第一线程为接收线程,第二线程为处理线程本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,应用于第一芯片,包括:根据第一芯片中的预置处理逻辑接收主机设备发送的第一数据;根据所述预置处理逻辑处理所述第一数据,所述预置处理逻辑包括所述主机设备在所述第一芯片中预置的程序,所述预置处理逻辑指示所述第一数据与第二数据并行处理,所述第二数据为所述第一芯片中正在处理的数据;根据所述预置处理逻辑将处理后的第一数据结果发送给主机设备。2.根据权利要求1所述的方法,其特征在于,所述根据第一芯片中的预置处理逻辑接收主机设备发送的第一数据之前,所述方法还包括:接收所述预置处理逻辑的预置请求,所述预置请求用于在所述第一芯片写入所述预置处理逻辑,所述预置处理逻辑用于控制所述第一芯片的处理器资源。3.根据权要求1或2所述的方法,其特征在于,所述预置处理逻辑中至少包括依次执行的第一线程和第二线程,所述预置处理逻辑指示所述第一数据与第二数据并行处理包括:在所述第二线程处理所述第二数据时,所述第一线程同时处理所述第一数据。4.根据权利要求3所述的方法,其特征在于,基于所述预置处理逻辑调度第二线程处理所述第二数据:当调度第一线程处理完成第二数据之后,基于线程间同步的方式驱动所述第二线程处理所述第二数据。5.根据权利要求3或4所述的方法,其特征在于,所述第一线程处理所述第二数据的时间小于或等于所述第二线程处理所述第二数据的时间,所述第一线程为接收线程,所述第二线程为处理线程。6.根据权利要求1至5中任一项所述的方法,其特征在于,所述第一芯片为人工智能AI芯片,所述第一芯片所在的设备包括AI设备。7.一种数据处理装置,其特征在于,包括:接收模块,用于根据预置处理逻辑接收主机设备发送的第一数据;处理模块,用于根据预置处理逻辑处理所述第一数据,所述预置处理逻辑包括所述主机设备在所述第一芯片中预置的程序,所述预置处理逻辑指示所述第一数据与第二数据并行处理,所述第二...

【专利技术属性】
技术研发人员:倪小珂
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1