CN109343984A - 数据处理方法、系统、计算设备及存储介质 - Google Patents

数据处理方法、系统、计算设备及存储介质 Download PDF

Info

Publication number
CN109343984A
CN109343984A CN201811223680.8A CN201811223680A CN109343984A CN 109343984 A CN109343984 A CN 109343984A CN 201811223680 A CN201811223680 A CN 201811223680A CN 109343984 A CN109343984 A CN 109343984A
Authority
CN
China
Prior art keywords
buffer area
identified
cpu
data
mark
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811223680.8A
Other languages
English (en)
Other versions
CN109343984B (zh
Inventor
李侃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Xishanju Shiyou Technology Co ltd
Zhuhai Kingsoft Digital Network Technology Co Ltd
Original Assignee
Chengdu Xishanju Shiyou Technology Co Ltd
Zhuhai Kingsoft Online Game Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Xishanju Shiyou Technology Co Ltd, Zhuhai Kingsoft Online Game Technology Co Ltd filed Critical Chengdu Xishanju Shiyou Technology Co Ltd
Priority to CN201811223680.8A priority Critical patent/CN109343984B/zh
Publication of CN109343984A publication Critical patent/CN109343984A/zh
Application granted granted Critical
Publication of CN109343984B publication Critical patent/CN109343984B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock detection or avoidance

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本说明书提供一种数据处理方法、系统、计算设备及存储介质,其中所述系统包括:第一缓存区、第二缓存区和第三缓存区,每个缓存区均配置有功能标识;缓存区控制器,用于在被标识为接收的第一缓存区写满待处理数据时,将第一缓存区的标识修改为临时存储,并将被标识为临时存储的第二缓存区的标识修改为接收;或者在被标识为待处理的第三缓存区的待处理数据处理完毕时,将第三缓存区的数据清空,将第三缓存区的标识修改为临时存储,将被标识为临时存储的第二缓存区的标识修改为待处理;CPU,用于向被标识为接收的第一缓存区发送待处理数据;GPU,用于从被标识为待处理的第三缓存区获取待处理数据。

Description

数据处理方法、系统、计算设备及存储介质
技术领域
本说明书涉及数据处理技术领域,特别涉及一种数据处理方法、系统、计算设备及存储介质。
背景技术
3D渲染过程中,现有技术中CPU和GPU之间通过缓冲传输数据,缓冲是设置于显存或内存中的一块数据存储区域,用于接收与存储CPU处理完毕的数据,并传递给GPU进行处理。
在CPU和GPU进行数据交互的过程中,会出现二者之间工作不同步的问题。例如,CPU完成了一帧数据,并准备将其传输到GPU中进行处理,但是GPU尚未完成上一帧数据的处理,因此GPU无法将上一帧数据反馈到缓冲中,导致CPU无法通过缓冲读取GPU上一帧数据的处理结果,从而必须停止工作,这被称为互锁。
发明内容
有鉴于此,本说明书实施例提供了一种数据处理方法、系统、计算设备及存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种数据处理系统,包括:
第一缓存区、第二缓存区和第三缓存区,每个缓存区均配置有功能标识,所述功能标识包括接收标识,临时存储标识和待处理标识,被标识为接收的第一缓存区用于接收CPU发送的待处理数据,并向CPU发送由GPU反馈的数据,被标识为待处理的第三缓存区用于向GPU发送所述待处理数据,并接收GPU反馈的数据;
缓存区控制器,用于在被标识为接收的第一缓存区写满待处理数据,并且被标识为临时存储的第二缓存区中无CPU发送的待处理数据的情况下,将所述第一缓存区的标识修改为临时存储,并将所述第二缓存区的标识修改为接收;或者
在被标识为待处理的第三缓存区的待处理数据传输完毕,并且被标识为临时存储的第二缓存区存储有待处理数据的情况下,将所述第三缓存区的数据清空,并将所述第三缓存区的标识修改为临时存储,将所述第二缓存区的标识修改为待处理;
CPU,用于向被标识为接收的第一缓存区发送待处理数据;
GPU,用于从被标识为待处理的第三缓存区获取待处理数据。
可选的,所述缓存区控制器还用于在被标识为接收的第一缓存区写满待处理数据,并且被标识为临时存储的第二缓存区中无CPU发送的待处理数据的情况下,通过第一交换指针将所述第一缓存区的标识修改为临时存储,并将所述第二缓存区的标识修改为接收。
可选的,所述缓存区控制器还用于在被标识为待处理的第三缓存区的待处理数据传输完毕,并且被标识为临时存储的第二缓存区存储有待处理数据的情况下,通过第二交换指针将所述第三缓存区的数据清空,并将所述第三缓存区的标识修改为临时存储,将所述第二缓存区的标识修改为待处理。
可选的,CPU还用于通过第一线程向所述被标识为接收的第一缓存区发送所述待处理数据,并通过第一线程接收由所述被标识为接收的第一缓存区反馈的GPU预设数量帧的图像数据;
GPU还用于通过第二线程从所述被标识为待处理的第三缓存区获取所述待处理数据,并通过第二线程向所述被标识为待处理的第三缓存区反馈的GPU预设数量帧的图像数据;
所述第一线程与所述第二线程互相独立。
根据本说明书实施例的第二方面,提供了一种数据处理方法,包括:
在被标识为接收的第一缓存区写入由CPU发送的待处理数据,并向所述CPU反馈发送由GPU反馈的预设数量帧的图像数据;
在被标识为接收的第一缓存区写满由CPU发送的待处理数据,并且被标识为临时存储的第二缓存区中无CPU发送的待处理数据的情况下,将所述第一缓存区的标识修改为临时存储,并将所述第二缓存区的标识修改为接收;
将被标识为待处理的第三缓存区将待处理数据传输给GPU,并接收由GPU反馈的预设数量帧的图像数据;
在被标识为待处理的第三缓存区中的CPU发送的待处理数据传输给GPU完毕,并且被标识为临时存储的第二缓存区存储有由CPU发送的待处理数据的情况下,将所述第三缓存区的由CPU发送的待处理数据清空,将由GPU反馈的绘制完成的预设数量帧的图像数据保留,并将所述第三缓存区的标识修改为临时存储,将所述第二缓存区的标识修改为待处理。
可选的,在被标识为接收的第一缓存区写满由CPU发送的待处理数据,并且被标识为临时存储的第二缓存区中无CPU发送的待处理数据的情况下,通过第一交换指针将所述第一缓存区的标识修改为临时存储,并将所述第二缓存区的标识修改为接收。
可选的,在被标识为待处理的第三缓存区中的CPU发送的待处理数据传输给GPU完毕,并且被标识为临时存储的第二缓存区存储有由CPU发送的待处理数据的情况下,将所述第三缓存区的由CPU发送的待处理数据清空,将由GPU反馈的绘制完成的预设数量的图像数据保留,通过第二交换指针将所述第三缓存区的数据清空,并将所述第三缓存区的标识修改为临时存储,将所述第二缓存区的标识修改为待处理。
根据本说明书实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述数据处理方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现权利要求所述数据处理方法的步骤。
本说明书实施例提供的数据处理方法、系统、计算设备及存储介质,通过在CPU和GPU之间设置三个缓存区,并通过缓存区控制器修改所述三个缓存区的标识使得所述三个缓存区之间交换标识,从而CPU可以持续发送数据,无需等待GPU完成上一帧数据的处理,而GPU的数据回传也无需等待CPU完成当前一帧数据的发送,GPU可以实时回传数据,完全解决了现有技术在数据处理过程中产生的CPU与GPU之间的互锁问题,实现了CPU与GPU之间工作线程的独立。
附图说明
图1是示出了根据本说明书一实施例的数据处理系统的结构示意图;
图2是示出了根据本说明书一实施例的数据处理方法的流程图;
图3是示出了根据本说明书一实施例的数据处理方法的应用示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
参考图1,图1为本说明书一实施例提供的一种数据处理系统的结构示意图,在介绍本申请的技术方案之前,首先对本申请所涉及的数据处理系统的架构进行说明。
图1示出了根据本说明书一实施例的数据处理系统通过计算设备100来实现的例子,该计算设备100的部件包括但不限于存储器110、中央处理器120、图像处理器130、第一缓存区150、第二缓存区160和第三缓存区170。中央处理器120、图像处理器130、第一缓存区150、第二缓存区160和第三缓存区170与存储器110通过总线180相连接。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备100的上述以及图1中未示出的其他部件也可以彼此相连接,例如通过总线180。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,第一缓存区150、第二缓存区160和第三缓存区170均配置有功能标识,所述功能标识包括接收标识,临时存储标识和待处理标识。第一缓存区150被标识为接收,用于接收CPU发送的待处理数据,并向CPU发送由GPU反馈的数据;第三缓存区170被标识为待处理,用于向GPU发送所述待处理数据,并接收GPU反馈的数据。
在被标识为接收的第一缓存区150写满待处理数据,并且被标识为临时存储的第二缓存区160中无CPU发送的待处理数据的情况下,所述数据处理系统则通过第一交换指针将所述第一缓存区150的标识修改为临时存储,并将所述第二缓存区160的标识修改为接收;或者在被标识为待处理的第三缓存区170的待处理数据向GPU传输完毕,并且被标识为临时存储的第二缓存区160存储有待处理数据的情况下,所述数据处理系统则通过第二交换指针将所述第三缓存区170的数据清空,并将所述第三缓存区170的标识修改为临时存储,将所述第二缓存区160的标识修改为待处理。
所述数据处理系统通过第一交换指针或者第二交换指针修改两个缓存区的功能标识,使得所述两个缓存区之间交换了功能。相比于传统中采用数据拷贝来实现多线程之间数据交换的方法,第一交换指针和第二交换指针的应用远远提高了多线程之间数据交换的效率。
本说明书一实施例中,CPU还用于通过第一线程向所述被标识为接收的第一缓存区150发送所述待处理数据,并通过第一线程接收由所述被标识为接收的第一缓存区150反馈的GPU预设数量帧的图像数据;
GPU还用于通过第二线程从所述被标识为待处理的第三缓存区170获取所述待处理数据,并通过第二线程向所述被标识为待处理的第三缓存区170反馈的GPU预设数量帧的图像数据;
所述第一线程与所述第二线程互相独立。
本说明书一实施例中,所述反馈的GPU预设数量帧的图像数据可以为1至5帧的图像数据。
通过所述两个互相独立的线程,CPU和GPU之间的工作完全独立,不会受对方进度的影响,解决了现有技术中CPU和GPU之间互相影响的问题。
本说明书实施例提供的所述数据处理系统通过在CPU和GPU之间设立三个缓存,完全解决了现有技术在渲染过程中由于单个缓存产生的CPU和GPU之间的延迟互锁问题,达到了CPU与GPU之间工作完全独立、互不影响、不会暂停的效果。
图2是示出了根据本说明书一实施例的数据处理方法的流程图,包括步骤202至步骤208。
步骤202:在被标识为接收的第一缓存区写入由CPU发送的待处理数据,并向所述CPU反馈发送由GPU反馈的预设数量帧的图像数据。
步骤204:在被标识为接收的第一缓存区写满由CPU发送的待处理数据,并且被标识为临时存储的第二缓存区中无CPU发送的待处理数据的情况下,将所述第一缓存区的标识修改为临时存储,并将所述第二缓存区的标识修改为接收。
本说明书一实施例中,在被标识为接收的第一缓存区写满CPU发送的待处理数据后,并向所述CPU反馈发送由GPU反馈的预设数量帧的图像数据。将第一缓存区标识修改为临时存储,并将无CPU发送的待处理数据的被标识为临时存储的第二缓存区的标识修改为接收,以接收CPU发送的待处理数据。通过交换所述两个缓存区的标识,CPU可以连续不断地向被标识为接收的第一缓存区发送数据,而不再受GPU处理数据的进度的影响。
步骤206:将被标识为待处理的第三缓存区将待处理数据传输给GPU,并接收由GPU反馈的预设数量帧的图像数据。
步骤208:在被标识为待处理的第三缓存区中的CPU发送的待处理数据传输给GPU完毕,并且被标识为临时存储的第二缓存区存储有由CPU发送的待处理数据的情况下,将所述第三缓存区的由CPU发送的待处理数据清空,将由GPU反馈的绘制完成的预设数量帧的图像数据保留,并将所述第三缓存区的标识修改为临时存储,将所述第二缓存区的标识修改为待处理。
本说明书一实施例中,在被标识为待处理的第三缓存区将存储的CPU发送的待处理均传输至GPU,清空第三缓存区存储的CPU发送的待处理数据,并将第三缓存区标识修改为临时存储,将存储的CPU发送的待处理数据的被标识为临时存储的第二缓存区的标识修改为待处理,以向GPU发送存储的数据。通过交换所述两个缓存区的标识,GPU可以连续不断地从被标识为待处理的第三缓存区获取待处理数据,而不再受CPU发送数据的进度的影响。
本说明书一实施例中,在被标识为接收的第一缓存区写满由CPU发送的待处理数据,并且被标识为临时存储的第二缓存区中无CPU发送的待处理数据的情况下,通过第一交换指针将所述第一缓存区的标识修改为临时存储,并将所述第二缓存区的标识修改为接收。
通过开启所述第一交换指针将所述第一缓存区的标识修改为临时存储,并将被标识为临时存储的第二缓存区的标识修改为接收,以接收CPU发送的待处理数据。通过交换所述两个缓存区的标识,CPU可以连续不断地向被标识为接收的第一缓存区发送数据,而不再受GPU处理数据的进度的影响。相比于现有技术中通过多线程之间数据拷贝实现多线程之间数据交换的方式,所述第一交换指针的应用远远提高了交换工作的效率。
本说明书一实施例中,在被标识为待处理的第三缓存区中的CPU发送的待处理数据传输给GPU完毕,并且被标识为临时存储的第二缓存区存储有由CPU发送的待处理数据的情况下,将所述第三缓存区的由CPU发送的待处理数据清空,将由GPU反馈的绘制完成的预设数量的图像数据保留,通过第二交换指针将所述第三缓存区的数据清空,并将所述第三缓存区的标识修改为临时存储,将所述第二缓存区的标识修改为待处理。
通过开启所述第二交换指针将所述被标识为待处理的第三缓存区的数据清空、并将所述被标识为待处理的第三缓存区的标识修改为临时存储,将所述被标识为临时存储的第二缓存区的标识修改为待处理,以向GPU发送存储的数据。通过交换所述两个缓存区的标识,GPU可以连续不断地从被标识为待处理的第三缓存区获取待处理数据,而不再受CPU发送数据的进度的影响。相比于现有技术中通过多线程之间数据拷贝实现多线程之间数据交换的方式,所述第二交换指针的应用远远提高了交换工作的效率。
所述数据处理方法通过在CPU和GPU之间设立三个缓存,完全解决了现有技术在渲染过程中由于单个缓存产生的CPU和GPU之间的延迟互锁问题,达到了CPU与GPU之间工作完全独立、互不影响、不会暂停的效果。
图3是示出了根据本说明书一实施例的数据处理的示意图。以三个缓存A、B、C为例进行说明。
数据处理开始时,如图3(a)所示,缓存A被标识为接收,为第一缓存区,用于接收CPU发送的待处理数据,CPU每完成一帧数据的处理,均实时将该数据发送到缓存A中;缓存B被标识为临时存储,为第二缓存区;缓存C被标识为待处理,为第三缓存区,用于向GPU发送待处理数据。
当被标识为接收的缓存A写满CPU发送的待处理数据,同时向所述CPU反馈发送由GPU反馈1帧的图像数据,并且被标识为临时存储的缓存B中无CPU发送的待处理数据时,缓存区控制器通过第一交换指针将被标识为接收的缓存A的标识修改为临时存储,并将被标识为临时存储的缓存B的标识修改为接收,所述两个缓存区实现了功能标识的交换,此时缓存A改为被标识为临时存储的第二缓存区,缓存B改为被标识为接收的第一缓存区,CPU改为向被标识为接收的缓存B继续发送待处理数据,从而CPU可以持续地发送待处理数据。
如图3(b)所示,被标识为待处理的缓存C向GPU不断地传输待处理数据,当缓存C中的待处理数据均传输至GPU,同时接收由GPU反馈1帧的图像数据,并且被标识为临时存储的缓存A存储有待处理数据时,所述缓存区控制器通过第二交换指针将被标识为待处理的缓存C的标识修改为临时存储,并清空其存储的数据,将被标识为临时存储的缓存A的标识修改为待处理,所述两个缓存实现了功能标识的交换,此时,缓存C改为被标识为临时存储的第二缓存区,缓存A改为被标识为待处理的第三缓存区,GPU改为从被标识为待处理的缓存A获取待处理数据,从而GPU可以持续地接收待处理数据,交换结果如图3(c)所示,经过上述方法完成了待处理数据从CPU传输到GPU的一次循环。
在循环开始时,判断中间位置的缓存中数据是否无CPU发送的待处理数据,若无CPU发送的待处理数据,则此时状态为图3(a)所示,符合缓存A与缓存B交换位置条件。当所述缓存A中数据填满后进行互换,由图3(a)变化为图3(b)所示,其中伪代码为:
If mid=null,when left is full.
Exchange(mid,left).
其中If mid=null,when left is full.表示缓存区mid中无CPU发送的待处理数据,并且缓存区mid与缓存区left符合标识标签进行交换条件;Exchange(mid,left)表示将缓存区mid与缓存区left的标识标签进行交换。
若判断处于中间位置的缓存中的数据无CPU发送的待处理数据,则属于图3(b)所示的状态,符合缓存A与缓存C互换位置的条件。当缓存C中数据传输完成后进行互换,系统状态由图3(b)变化为图3(c),并清空缓存C中的数据,所述伪代码为:
If mid=/null,when right complete output.
exchange(mid,right).
Clear(midconetent).
其中If mid=/null,when right complete output.表示缓存区mid中包含CPU发送的待处理数据,并且缓存区right中的待处理数据全部输出;exchange(mid,right)表示将缓存区mid与缓存区right的标识标签进行交换;Clear(midconetent)表示将缓存区mid的数据进行清空。
通过上述步骤,完成了待处理数据从CPU传输到GPU的一次循环,GPU反馈的图像数据至CPU的一次循环,之后在被标识为接收的缓存写满待处理数据或者被标识为待处理的缓存待处理数据均传输至GPU时,便按照上述的交换规则继续进行所述三个缓存之间功能标识的交换,从而CPU可以连续地发送待处理数据,待处理数据可以连续地通过三个缓存之间功能标识的交换传输至GPU,GPU可以连续地获取待处理数据。
其中,CPU还通过第一线程向被标识为接收的第一缓存区发送待处理数据,GPU还通过第二线程从被标识为待处理的第三缓存区获取待处理数据,所述两个线程相互独立,解决了现有技术中CPU和GPU之间互相影响的问题。
所述的方法通过在CPU和GPU之间设立三个缓存,完全解决了现有技术在渲染过程中由于单个缓存产生的CPU和GPU之间的延迟互锁问题,达到了CPU与GPU之间工作完全独立、互不影响、不会暂停的效果。
本说明书一实施例还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述的数据处理方法的步骤。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述的数据处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书并不受所描述的动作顺序的限制,因为依据本说明书,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

Claims (9)

1.一种数据处理系统,包括:
第一缓存区、第二缓存区和第三缓存区,每个缓存区均配置有功能标识,所述功能标识包括接收标识,临时存储标识和待处理标识,被标识为接收的第一缓存区用于接收CPU发送的待处理数据,并向CPU发送由GPU反馈的数据,被标识为待处理的第三缓存区用于向GPU发送所述待处理数据,并接收GPU反馈的数据;
缓存区控制器,用于在被标识为接收的第一缓存区写满待处理数据,并且被标识为临时存储的第二缓存区中无CPU发送的待处理数据的情况下,将所述第一缓存区的标识修改为临时存储,并将所述第二缓存区的标识修改为接收;或者
在被标识为待处理的第三缓存区的待处理数据传输完毕,并且被标识为临时存储的第二缓存区存储有待处理数据的情况下,将所述第三缓存区的数据清空,并将所述第三缓存区的标识修改为临时存储,将所述第二缓存区的标识修改为待处理;
CPU,用于向被标识为接收的第一缓存区发送待处理数据;
GPU,用于从被标识为待处理的第三缓存区获取待处理数据。
2.根据权利要求1所述的系统,其特征在于,所述缓存区控制器还用于在被标识为接收的第一缓存区写满待处理数据,并且被标识为临时存储的第二缓存区中无CPU发送的待处理数据的情况下,通过第一交换指针将所述第一缓存区的标识修改为临时存储,并将所述第二缓存区的标识修改为接收。
3.根据权利要求1所述的系统,其特征在于,所述缓存区控制器还用于在被标识为待处理的第三缓存区的待处理数据传输完毕,并且被标识为临时存储的第二缓存区存储有待处理数据的情况下,通过第二交换指针将所述第三缓存区的数据清空,并将所述第三缓存区的标识修改为临时存储,将所述第二缓存区的标识修改为待处理。
4.根据权利要求1所述的系统,其特征在于,CPU还用于通过第一线程向所述被标识为接收的第一缓存区发送所述待处理数据,并通过第一线程接收由所述被标识为接收的第一缓存区反馈的GPU预设数量帧的图像数据;
GPU还用于通过第二线程从所述被标识为待处理的第三缓存区获取所述待处理数据,并通过第二线程向所述被标识为待处理的第三缓存区反馈的GPU预设数量帧的图像数据;
所述第一线程与所述第二线程互相独立。
5.一种数据处理方法,包括:
在被标识为接收的第一缓存区写入由CPU发送的待处理数据,并向所述CPU反馈发送由GPU反馈的预设数量帧的图像数据;
在被标识为接收的第一缓存区写满由CPU发送的待处理数据,并且被标识为临时存储的第二缓存区中无CPU发送的待处理数据的情况下,将所述第一缓存区的标识修改为临时存储,并将所述第二缓存区的标识修改为接收;
将被标识为待处理的第三缓存区将待处理数据传输给GPU,并接收由GPU反馈的预设数量帧的图像数据;
在被标识为待处理的第三缓存区中的CPU发送的待处理数据传输给GPU完毕,并且被标识为临时存储的第二缓存区存储有由CPU发送的待处理数据的情况下,将所述第三缓存区的由CPU发送的待处理数据清空,将由GPU反馈的绘制完成的预设数量帧的图像数据保留,并将所述第三缓存区的标识修改为临时存储,将所述第二缓存区的标识修改为待处理。
6.根据权利要求5所述的方法,其特征在于,在被标识为接收的第一缓存区写满由CPU发送的待处理数据,并且被标识为临时存储的第二缓存区中无CPU发送的待处理数据的情况下,通过第一交换指针将所述第一缓存区的标识修改为临时存储,并将所述第二缓存区的标识修改为接收。
7.根据权利要求5所述的方法,其特征在于,在被标识为待处理的第三缓存区中的CPU发送的待处理数据传输给GPU完毕,并且被标识为临时存储的第二缓存区存储有由CPU发送的待处理数据的情况下,将所述第三缓存区的由CPU发送的待处理数据清空,将由GPU反馈的绘制完成的预设数量的图像数据保留,通过第二交换指针将所述第三缓存区的数据清空,并将所述第三缓存区的标识修改为临时存储,将所述第二缓存区的标识修改为待处理。
8.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现权利要求5-7任意一项所述方法的步骤。
9.一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现权利要求5-7任一项所述的方法的步骤。
CN201811223680.8A 2018-10-19 2018-10-19 数据处理方法、系统、计算设备及存储介质 Active CN109343984B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811223680.8A CN109343984B (zh) 2018-10-19 2018-10-19 数据处理方法、系统、计算设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811223680.8A CN109343984B (zh) 2018-10-19 2018-10-19 数据处理方法、系统、计算设备及存储介质

Publications (2)

Publication Number Publication Date
CN109343984A true CN109343984A (zh) 2019-02-15
CN109343984B CN109343984B (zh) 2020-05-19

Family

ID=65310633

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811223680.8A Active CN109343984B (zh) 2018-10-19 2018-10-19 数据处理方法、系统、计算设备及存储介质

Country Status (1)

Country Link
CN (1) CN109343984B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116230006A (zh) * 2023-05-09 2023-06-06 成都力比科技有限公司 一种基于gpu的音效可视化方法
CN116884470A (zh) * 2023-06-27 2023-10-13 珠海妙存科技有限公司 存储产品测试方法和系统、电子设备、存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101901198A (zh) * 2008-12-12 2010-12-01 辉达公司 通过标记cpu流量为特殊来避免死锁
US20120215985A1 (en) * 2011-02-21 2012-08-23 Advanced Micro Devices, Inc. Cache and a method for replacing entries in the cache
CN103532710A (zh) * 2013-09-26 2014-01-22 中国科学院数据与通信保护研究教育中心 基于gpu的sm2算法实现方法及装置
CN103679789A (zh) * 2013-12-09 2014-03-26 北京大学 基于数据流图的并行绘制与可视化方法及系统
CN106098022A (zh) * 2016-06-07 2016-11-09 北京小鸟看看科技有限公司 一种缩短图像延迟的方法和装置
CN107077717A (zh) * 2014-12-18 2017-08-18 英特尔公司 促进计算设备上的图形处理单元上的工作负荷执行的动态流水线化
CN108509248A (zh) * 2018-04-13 2018-09-07 网易(杭州)网络有限公司 数据处理方法和装置、存储介质、处理器及终端

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101901198A (zh) * 2008-12-12 2010-12-01 辉达公司 通过标记cpu流量为特殊来避免死锁
US20120215985A1 (en) * 2011-02-21 2012-08-23 Advanced Micro Devices, Inc. Cache and a method for replacing entries in the cache
CN103532710A (zh) * 2013-09-26 2014-01-22 中国科学院数据与通信保护研究教育中心 基于gpu的sm2算法实现方法及装置
CN103679789A (zh) * 2013-12-09 2014-03-26 北京大学 基于数据流图的并行绘制与可视化方法及系统
CN107077717A (zh) * 2014-12-18 2017-08-18 英特尔公司 促进计算设备上的图形处理单元上的工作负荷执行的动态流水线化
CN106098022A (zh) * 2016-06-07 2016-11-09 北京小鸟看看科技有限公司 一种缩短图像延迟的方法和装置
CN108509248A (zh) * 2018-04-13 2018-09-07 网易(杭州)网络有限公司 数据处理方法和装置、存储介质、处理器及终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黄晨 等: "基于国产CPU 的并行冗余计算机系统研究", 《计算机测量与控制》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116230006A (zh) * 2023-05-09 2023-06-06 成都力比科技有限公司 一种基于gpu的音效可视化方法
CN116884470A (zh) * 2023-06-27 2023-10-13 珠海妙存科技有限公司 存储产品测试方法和系统、电子设备、存储介质
CN116884470B (zh) * 2023-06-27 2024-02-23 珠海妙存科技有限公司 存储产品测试方法和系统、电子设备、存储介质

Also Published As

Publication number Publication date
CN109343984B (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
CN109978751A (zh) 多gpu帧渲染
CN102473112B (zh) 关于线程迁移的高速缓存预填充方法、产品与系统
Xie et al. Processing-in-memory enabled graphics processors for 3D rendering
CN104025185B (zh) 用于使用gpu控制器来预加载缓存的机制
JP2019003271A (ja) 機械学習装置、制御装置及び機械学習プログラム
CN107851040A (zh) 用于使用高速缓存需求监视在异构处理器簇架构中调度任务的系统和方法
US10338953B2 (en) Facilitating execution-aware hybrid preemption for execution of tasks in computing environments
CN109343984A (zh) 数据处理方法、系统、计算设备及存储介质
DE102020101814A1 (de) Effiziente ausführung anhand von aufgabengraphen festgelegter arbeitslasten
US20170154403A1 (en) Triple buffered constant buffers for efficient processing of graphics data at computing devices
CN110389816A (zh) 用于资源调度的方法、装置以及计算机程序产品
CN106502782A (zh) 异构计算系统及其方法
CN110232087A (zh) 大数据增量迭代方法、装置、计算机设备和存储介质
Tikhonova et al. A Preview and Exploratory Technique for Large-Scale Scientific Simulations.
CN113392968A (zh) 针对神经网络的迭代式小样本精细化的微训练
WO2016200539A1 (en) Facilitating configuration of computing engines based on runtime workload measurements at computing devices
CN108351810A (zh) 用于虚拟化图形处理的扩展
CN107479944A (zh) 混合云模式下的虚拟机内存自适应热迁移调度方法及系统
CN116627970A (zh) 一种基于区块链和联邦学习的数据共享方法及装置
CN106170776A (zh) 用于使用具有无效的读取降低高速缓冲存储器中的带宽和功率的方法和设备
CN109448092A (zh) 一种基于动态任务粒度的负载均衡集群渲染方法
CN116010733A (zh) 页面显示方法、装置、设备及计算机可读存储介质
CN113283596B (zh) 一种模型参数训练方法、服务器、系统及存储介质
Khlebnikov et al. Parallel Irradiance Caching for Interactive Monte‐Carlo Direct Volume Rendering
Wu et al. Stack-based scale-recurrent network for face image deblurring

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 519000 Room 102, 202, 302 and 402, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province, Room 102 and 202, No. 327 and Room 302, No. 329

Patentee after: Zhuhai Jinshan Digital Network Technology Co.,Ltd.

Patentee after: CHENGDU XISHANJU SHIYOU TECHNOLOGY Co.,Ltd.

Address before: 519000 Room 102, 202, 302 and 402, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province, Room 102 and 202, No. 327 and Room 302, No. 329

Patentee before: ZHUHAI KINGSOFT ONLINE GAME TECHNOLOGY Co.,Ltd.

Patentee before: CHENGDU XISHANJU SHIYOU TECHNOLOGY Co.,Ltd.