CN112801856A - 数据处理方法和装置 - Google Patents
数据处理方法和装置 Download PDFInfo
- Publication number
- CN112801856A CN112801856A CN202110156501.9A CN202110156501A CN112801856A CN 112801856 A CN112801856 A CN 112801856A CN 202110156501 A CN202110156501 A CN 202110156501A CN 112801856 A CN112801856 A CN 112801856A
- Authority
- CN
- China
- Prior art keywords
- cache
- memory
- cache information
- space
- calculation
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 230000015654 memory Effects 0.000 claims abstract description 130
- 238000004364 calculation method Methods 0.000 claims abstract description 52
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000013507 mapping Methods 0.000 claims abstract description 25
- 238000003860 storage Methods 0.000 claims abstract description 25
- 238000012545 processing Methods 0.000 claims abstract description 15
- 238000009826 distribution Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 17
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种数据处理方法和装置。其中,该方法包括:对GPU运算分配计算所需要的存储空间;其中,将缓存信息映射至CPU访存地址空间;通过缓存信息建立输入和输出内存对象;依据建立后的输入和输出内存对象分配计算任务,并输出计算任务得到的结果数据。本发明解决了由于相关技术中在桌面访问的过程中拷贝大量占用了内存总线带宽,在多线程环境下影响编码器的访存速度,导致编码总体时长加大的技术问题。
Description
技术领域
本发明涉及图像处理技术领域,具体而言,涉及一种数据处理方法和装置。
背景技术
目前,在桌面平台计算领域,通常采用中央处理器和图形处理器结合(CentralProcessing Unit+Graphics Processing Unit,简称CPU+GPU)的异构处理器来进行混合计算,其所使用的技术是开放计算机语言(Open Computing Language,简称OpenCL)。
其中,桌面平台GPU做通用计算步骤:
步骤1、分配输入、输出内存对象。
步骤2、将输入内存对象映射到CPU访存地址空间。
步骤3、将GPU计算所需要的源数据拷贝到上述映射后的地址。
步骤4、分配计算任务。
步骤5、等待计算完成。
步骤6、将输出内存对象映射到CPU访存地址空间。
步骤7、将计算结果从步骤6中映射的地址拷贝出来。
注:映射拷贝的原因是CPU不能直接访问显卡显存,显卡不能直接访问主控内存。显卡通过PCIE接口和PC南桥芯片组相连接,两片存储区域是隔离的,数据交互涉及PCIE的DMA双向传输。
与桌面平台不同的是,嵌入式平台计算领域主要采用CPU进行通用计算,而嵌入式GPU则主要用于图像渲染。
与桌面平台相比,嵌入式平台本身计算单元有限,因此,优先将嵌入式GPU用于图像渲染,另一方面,若直接将嵌入式GPU用于通用计算,则存在:源数据的拷入和结果数据的拷出效率低的问题。之所以产生此问题的原因如下:
在嵌入式图传编码系统中计算过程需要的源数据是采集芯片采集到的数据。如果按照桌面平台的步骤,需要将采集芯片的数据缓冲区(Direct Rendering Manager-buffer,DMA-BUF)拷贝到为GPU分配的缓冲区。对于桌面平台将数据拷贝到GPU缓冲区的过程是通过PCIE的DMA来完成的,效率很高。
但是对于嵌入式平台来说,由于其GPU采用的是统一内存访问(Unified MemoryAccess,简称UMA)架构,所以如果照搬桌面环境的步骤必须涉及一次主控内存到主控内存的拷贝。而这次拷贝占用了CPU的数据总线带宽。在嵌入式图传这种场景下每秒60帧,24色深的1920x1080图像每帧多达6MByte的数据量,这种拷贝大量占用了内存总线带宽,在多线程环境下影响编码器的访存速度,导致编码总体时长加大。
针对上述由于相关技术中在桌面访问的过程中拷贝大量占用了内存总线带宽,在多线程环境下影响编码器的访存速度,导致编码总体时长加大的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据处理方法和装置,以至少解决由于相关技术中在桌面访问的过程中拷贝大量占用了内存总线带宽,在多线程环境下影响编码器的访存速度,导致编码总体时长加大的技术问题。
根据本发明实施例的一个方面,提供了一种数据处理方法,包括:对GPU运算分配计算所需要的存储空间;其中,将缓存信息映射至CPU访存地址空间;通过缓存信息建立输入和输出内存对象;依据建立后的输入和输出内存对象分配计算任务,并输出计算任务得到的结果数据。
可选的,对GPU运算分配计算所需要的存储空间包括:获取携带高速缓冲存储器CACHE的缓存信息,其中,携带高速缓冲存储器CACHE的缓存信息用于存储非硬件产生的源数据和结果数据;将携带高速缓冲存储器CACHE的缓存信息中的缓存空间DMA-BUF映射至CPU访存地址空间。
可选的,对GPU运算分配计算所需要的存储空间包括:获取缓存信息,其中,缓存信息中记载了已分配的缓存空间DMA-BUF;将已分配的缓存空间DMA-BUF映射至CPU访存地址空间。
进一步地,可选的,通过缓存信息建立输入和输出内存对象包括:通过缓存信息中的文件描述符获取缓存空间对应的物联地址序列和内存属性。
可选的,依据建立后的输入和输出内存对象分配计算任务,并输出计算任务得到的结果数据包括:依据建立后的输入和输出内存对象通过开放式计算的接口分配计算任务;将计算任务得到的结果数据作为存储对象的内容进行输出。
根据本发明实施例的另一方面,还提供了一种数据处理装置,包括:分配模块,用于对GPU运算分配计算所需要的存储空间;其中,将缓存信息映射至CPU访存地址空间;建立模块,用于通过缓存信息建立输入和输出内存对象;输出模块,用于依据建立后的输入和输出内存对象分配计算任务,并输出计算任务得到的结果数据。
可选的,分配模块包括:第一获取单元,用于获取携带高速缓冲存储器CACHE的缓存信息,其中,携带高速缓冲存储器CACHE的缓存信息用于存储非硬件产生的源数据和结果数据;第一分配单元,用于将携带高速缓冲存储器CACHE的缓存信息中的缓存空间DMA-BUF映射至CPU访存地址空间。
可选的,分配模块包括:第二获取单元,用于获取缓存信息,其中,缓存信息中记载了已分配的缓存空间DMA-BUF;第二分配单元,用于将已分配的缓存空间DMA-BUF映射至CPU访存地址空间。
进一步地,可选的,建立模块包括:建立单元,用于通过缓存信息中的文件描述符获取缓存空间对应的物联地址序列和内存属性。
可选的,输出模块包括:任务分配单元,用于依据建立后的输入和输出内存对象通过开放式计算的接口分配计算任务;输出单元,用于将计算任务得到的结果数据作为存储对象的内容进行输出。
在本发明实施例中,通过对GPU运算分配计算所需要的存储空间;其中,将缓存信息映射至CPU访存地址空间;通过缓存信息建立输入和输出内存对象;依据建立后的输入和输出内存对象分配计算任务,并输出计算任务得到的结果数据,达到了缩短编码总体时长的目的,从而实现了最大限度优化流程减少访存次数,减小内存复制带来的性能损失的技术效果,进而解决了由于相关技术中在桌面访问的过程中拷贝大量占用了内存总线带宽,在多线程环境下影响编码器的访存速度,导致编码总体时长加大的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的数据处理方法的流程示意图;
图2a是根据本发明实施例的数据处理方法中进行原始图像处理的示意图;
图2b是根据本发明实施例的数据处理方法中进行非原始图像处理的示意图;
图2c是根据本发明实施例的数据处理方法中主控内存示意的示意图;
图3是根据本发明实施例的数据处理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种数据处理方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的数据处理方法的流程示意图,如图1所示,该方法包括如下步骤:
步骤S102,对GPU运算分配计算所需要的存储空间;其中,将缓存信息映射至CPU访存地址空间;
具体的,本申请实施例提供的数据处理方法可以适用于嵌入式图传编码系统的内存使用优化方案,其中,在实现提前为GPU运算分配计算所需要的存储空间的过程中,本申请实施例包括两种实现方式,具体如下:
方式一:
在一种优选的实施方式中,对GPU运算分配计算所需要的存储空间包括:获取携带高速缓冲存储器CACHE的缓存信息,其中,携带高速缓冲存储器CACHE的缓存信息用于存储非硬件产生的源数据和结果数据;将携带高速缓冲存储器CACHE的缓存信息中的缓存空间DMA-BUF映射至CPU访存地址空间。
具体的,申请带CACHE的DMA-BUF。用来存储非硬件产生的源数据和结果数据,如算法的参数、常量等。特点为数据量小。将此DMA-BUF映射到CPU访存地址空间。
其中,申请可CACHE内存的原因是编码器GPU计算的同时,CPU也需要同时进行计算,即CPU也需要访问此内存,可CACHE的内存可以提高访存效率。访存可CACHE的内存前先看是否被访问的内存在CACHE里,如果在直接从CACHE读写数据,如果不在则从内存里读写数据读写后更新CACHE。如果是不可CACHE的,每次都要访存。CACHE是CPU里的,访问CACHE比读写内存快的多。
方式二:
在一种优选的实施方式中,对GPU运算分配计算所需要的存储空间包括:获取缓存信息,其中,缓存信息中记载了已分配的缓存空间DMA-BUF;将已分配的缓存空间DMA-BUF映射至CPU访存地址空间。
具体的,导入为其它硬件设备已分配的DMA-BUF(适用于涉及和硬件共享的内存)。将此DMA-BUF映射到CPU访存地址空间。
需要说明的是,映射的原因是DMA-BUF是通过驱动程序分配的,用户态的编码器不知道此内存地址。
综上,本申请实施例中在图传编码系统非运行时进行存储空间的分配,也就是,在初始化编码器时分配好,在结束编码器,即不再进行采集编码时再释放。
对于嵌入式图传编码系统直接处理采集芯片采集到的数据这种计算场景,源数据使用步骤S102中的方式二建立的内存对象,这样减少了每帧图像从采集芯片的DMA-BUF到显存的数据拷贝,即从采集芯片驱动程序所申请的内存到显存的拷贝。(由于嵌入式GPU是UMA架构,这里的显存也是主控内存)
对于嵌入式图传系统编码算法中所需要的非硬件产生的源数据以及结果数据,使用S102中的方式一建立的内存对象,也可以减少内存拷贝。
其中“提前”分配,旨在减少内存对象分配过程带来的效率开销。
步骤S104,通过缓存信息建立输入和输出内存对象;
具体的,通过上述步骤S102中的缓存信息DMA-BUF来建立输入和输出内存对象(不涉及重新开辟存储空间);
进一步地,可选的,步骤S104中通过缓存信息建立输入和输出内存对象包括:通过缓存信息中的文件描述符获取缓存空间对应的物联地址序列和内存属性。
具体的,DMA-BUF信息主要是指DMA-BUF的文件描述符。驱动程序申请的DMA-BUF暴露给应用程序的操作接口是文件描述符。GPU的驱动可以通过其它驱动申请的DMA-BUF暴露出的文件描述符找到DMA-BUF的真实物理地址序列及内存属性(包括是否可CACHE)。
步骤S106,依据建立后的输入和输出内存对象分配计算任务,并输出计算任务得到的结果数据。
可选的,步骤S106中依据建立后的输入和输出内存对象分配计算任务,并输出计算任务得到的结果数据包括:依据建立后的输入和输出内存对象通过开放式计算的接口分配计算任务;将计算任务得到的结果数据作为存储对象的内容进行输出。
具体的,通过OpenCL的Host接口(即,本申请实施例中的开放式计算的接口)来分配计算任务,具体来说,首先,获取预先写好的OpenCL Kernel程序,用于在GPU上运行,而GPU有多个计算单元。其次,CPU通过OpenCL的Host接口给GPU排任务,即给GPU上的N个运算单元排M个运算任务(一般M远大于N,这M个任务是将原本的计算任务拆分而来),每个计算任务都要运行OpenCL Kernel程序。GPU上的N个运算单元以流水线式运行M个任务,如果任务排的好即流水线不断流而且OpenCL Kernel程序矢量化做得好,可以达到性能很大提升。
此外,在等待计算完成后,直接使用输出存储对象的内容,即将步骤S102中映射出的结果内存地址作为普通内存地址访问。
需要说明的是,本申请实施例中由于编码器包含很多计算序列,本申请实施例中的步骤S102至S106是一个计算的步骤,即编码器包含多个步骤S102至S106。一个存结果的输出内存对象背后的DMA-BUF可以作为另一个计算的输入数据内存对象背后的DMA-BUF。
具体的,本申请实施例仅适用于原始图像采集数据和GPU访问的内存都在主控CPU所连接的内存中的UMA系统。只有原始图像和GPU访问的内存都在同一个内存中,数据才有共享的可能,进而进行统一的控制。
本申请实施例在实施过程中有两个软件上的前提:
1)驱动程序需要支持DMA-BUF的用户态访问接口。
2)需要OpenCL支持DMA-BUF的导入接口。
本申请实施例涉及的步骤如图2a和2b所示。图2a和2b是根据本发明实施例的数据处理方法中进行原始图像和非原始图像处理的示意图,如图2a和2b所示,分处理原始图像和非原始图像两种情景演示。其中,如图2c所示,图2c是根据本发明实施例的数据处理方法中主控内存示意的示意图,非图像输入数据及结果数据的分配可借用采集芯片驱动或其它外设驱动(如显示控制器驱动)完成。
①采集芯片驱动分配的用于存储原始图像数据的DMA-BUF缓冲区队列。
②非原始图像数据通过借用采集芯片驱动或其它外设驱动分配。
③结果数据也通过借用采集芯片驱动或其它外设驱动分配。
④本申请实施例不使用GPU内存来处理数据输入输出。(GPU内存采集芯片驱动无法直接使用。GPU和外设之间的内存共享仅可通过DMA-BUF机制完成)
⑤其它system内存仅供CPU运算使用。
本申请实施例不使用GPU内存来处理数据输入输出(涉及数据拷贝)。
在本发明实施例中,通过对GPU运算分配计算所需要的存储空间;其中,将缓存信息映射至CPU访存地址空间;通过缓存信息建立输入和输出内存对象;依据建立后的输入和输出内存对象分配计算任务,并输出计算任务得到的结果数据,达到了缩短编码总体时长的目的,从而实现了最大限度优化流程减少访存次数,减小内存复制带来的性能损失的技术效果,进而解决了由于相关技术中在桌面访问的过程中拷贝大量占用了内存总线带宽,在多线程环境下影响编码器的访存速度,导致编码总体时长加大的技术问题。
实施例2
根据本发明实施例的另一方面,还提供了一种数据处理装置,图3是根据本发明实施例的数据处理装置的示意图,如图3所示,包括:分配模块32,用于对GPU运算分配计算所需要的存储空间;其中,将缓存信息映射至CPU访存地址空间;建立模块34,用于通过缓存信息建立输入和输出内存对象;输出模块36,用于依据建立后的输入和输出内存对象分配计算任务,并输出计算任务得到的结果数据。
可选的,分配模块32包括:第一获取单元,用于获取携带高速缓冲存储器CACHE的缓存信息,其中,携带高速缓冲存储器CACHE的缓存信息用于存储非硬件产生的源数据和结果数据;第一分配单元,用于将携带高速缓冲存储器CACHE的缓存信息中的缓存空间DMA-BUF映射至CPU访存地址空间。
可选的,分配模块32包括:第二获取单元,用于获取缓存信息,其中,缓存信息中记载了已分配的缓存空间DMA-BUF;第二分配单元,用于将已分配的缓存空间DMA-BUF映射至CPU访存地址空间。
进一步地,可选的,建立模块34包括:建立单元,用于通过缓存信息中的文件描述符获取缓存空间对应的物联地址序列和内存属性。
可选的,输出模块36包括:任务分配单元,用于依据建立后的输入和输出内存对象通过开放式计算的接口分配计算任务;输出单元,用于将计算任务得到的结果数据作为存储对象的内容进行输出。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
对GPU运算分配计算所需要的存储空间;其中,将缓存信息映射至CPU访存地址空间;
通过所述缓存信息建立输入和输出内存对象;
依据建立后的输入和输出内存对象分配计算任务,并输出所述计算任务得到的结果数据。
2.根据权利要求1所述的方法,其特征在于,所述对GPU运算分配计算所需要的存储空间包括:
获取携带高速缓冲存储器CACHE的缓存信息,其中,所述携带高速缓冲存储器CACHE的缓存信息用于存储非硬件产生的源数据和结果数据;
将所述携带高速缓冲存储器CACHE的缓存信息中的缓存空间DMA-BUF映射至所述CPU访存地址空间。
3.根据权利要求1所述的方法,其特征在于,所述对GPU运算分配计算所需要的存储空间包括:
获取所述缓存信息,其中,所述缓存信息中记载了已分配的缓存空间DMA-BUF;
将所述已分配的缓存空间DMA-BUF映射至所述CPU访存地址空间。
4.根据权利要求2或3所述的方法,其特征在于,所述通过所述缓存信息建立输入和输出内存对象包括:
通过所述缓存信息中的文件描述符获取缓存空间对应的物联地址序列和内存属性。
5.根据权利要求4所述的方法,其特征在于,所述依据建立后的输入和输出内存对象分配计算任务,并输出所述计算任务得到的结果数据包括:
依据建立后的输入和输出内存对象通过开放式计算的接口分配所述计算任务;
将所述计算任务得到的结果数据作为存储对象的内容进行输出。
6.一种数据处理装置,其特征在于,包括:
分配模块,用于对GPU运算分配计算所需要的存储空间;其中,将缓存信息映射至CPU访存地址空间;
建立模块,用于通过所述缓存信息建立输入和输出内存对象;
输出模块,用于依据建立后的输入和输出内存对象分配计算任务,并输出所述计算任务得到的结果数据。
7.根据权利要求6所述的装置,其特征在于,所述分配模块包括:
第一获取单元,用于获取携带高速缓冲存储器CACHE的缓存信息,其中,所述携带高速缓冲存储器CACHE的缓存信息用于存储非硬件产生的源数据和结果数据;
第一分配单元,用于将所述携带高速缓冲存储器CACHE的缓存信息中的缓存空间DMA-BUF映射至所述CPU访存地址空间。
8.根据权利要求6所述的装置,其特征在于,所述分配模块包括:
第二获取单元,用于获取所述缓存信息,其中,所述缓存信息中记载了已分配的缓存空间DMA-BUF;
第二分配单元,用于将所述已分配的缓存空间DMA-BUF映射至所述CPU访存地址空间。
9.根据权利要求7或8所述的装置,其特征在于,所述建立模块包括:
建立单元,用于通过所述缓存信息中的文件描述符获取缓存空间对应的物联地址序列和内存属性。
10.根据权利要求9所述的装置,其特征在于,所述输出模块包括:
任务分配单元,用于依据建立后的输入和输出内存对象通过开放式计算的接口分配所述计算任务;
输出单元,用于将所述计算任务得到的结果数据作为存储对象的内容进行输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110156501.9A CN112801856B (zh) | 2021-02-04 | 2021-02-04 | 数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110156501.9A CN112801856B (zh) | 2021-02-04 | 2021-02-04 | 数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112801856A true CN112801856A (zh) | 2021-05-14 |
CN112801856B CN112801856B (zh) | 2024-06-21 |
Family
ID=75814166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110156501.9A Active CN112801856B (zh) | 2021-02-04 | 2021-02-04 | 数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112801856B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114756699A (zh) * | 2022-04-26 | 2022-07-15 | 湖南翰博薇微电子科技有限公司 | 图形数据的访问处理方法、装置、计算机设备和存储介质 |
CN115934768A (zh) * | 2022-12-01 | 2023-04-07 | 摩尔线程智能科技(北京)有限责任公司 | 数据的处理方法、显示适配器、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060085569A1 (en) * | 2004-10-14 | 2006-04-20 | International Business Machines Corporation | Method for minimizing the translation overhead for large I/O transfers |
CN101446926A (zh) * | 2008-11-10 | 2009-06-03 | 成都市华为赛门铁克科技有限公司 | 一种高速缓冲存储器掉电数据保存方法、设备和系统 |
CN103200128A (zh) * | 2013-04-01 | 2013-07-10 | 华为技术有限公司 | 一种网络包处理的方法、装置和系统 |
CN103262053A (zh) * | 2010-10-29 | 2013-08-21 | 尤尼西斯公司 | 具有共享的输入/输出的安全分区 |
CN108206937A (zh) * | 2016-12-20 | 2018-06-26 | 浙江宇视科技有限公司 | 一种提升智能分析性能的方法和装置 |
US10102605B1 (en) * | 2016-08-26 | 2018-10-16 | Amazon Technologies, Inc. | Graphics library virtualization for virtualized graphics processing |
-
2021
- 2021-02-04 CN CN202110156501.9A patent/CN112801856B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060085569A1 (en) * | 2004-10-14 | 2006-04-20 | International Business Machines Corporation | Method for minimizing the translation overhead for large I/O transfers |
CN101446926A (zh) * | 2008-11-10 | 2009-06-03 | 成都市华为赛门铁克科技有限公司 | 一种高速缓冲存储器掉电数据保存方法、设备和系统 |
CN103262053A (zh) * | 2010-10-29 | 2013-08-21 | 尤尼西斯公司 | 具有共享的输入/输出的安全分区 |
CN103200128A (zh) * | 2013-04-01 | 2013-07-10 | 华为技术有限公司 | 一种网络包处理的方法、装置和系统 |
US10102605B1 (en) * | 2016-08-26 | 2018-10-16 | Amazon Technologies, Inc. | Graphics library virtualization for virtualized graphics processing |
CN108206937A (zh) * | 2016-12-20 | 2018-06-26 | 浙江宇视科技有限公司 | 一种提升智能分析性能的方法和装置 |
Non-Patent Citations (5)
Title |
---|
HAO WEN等: "Heterogeneous Cache Hierarchy Management for Integrated CPU-GPU Architecture", 2019 IEEE HIGH PERFORMANCE EXTREME COMPUTING CONFERENCE (HPEC), 31 December 2019 (2019-12-31) * |
JAEKYU LEE等: "TAP: A TLP-aware cache management policy for a CPU-GPU heterogeneous architecture", IEEE INTERNATIONAL SYMPOSIUM ON HIGH-PERFORMANCE COMP ARCHITECTURE, 31 December 2012 (2012-12-31) * |
WANG SHAOHUA;LI SHENG;LAI SHUNNAN;: "Real-time rendering of large-scale static scene", COMPUTER AIDED DRAFTING, DESIGN AND MANUFACTURING, no. 02, 15 June 2017 (2017-06-15) * |
孙传伟等: "CPU-GPU融合架构上的缓存性能分析与优化", 计算机工程与应用, vol. 53, no. 2, 31 December 2017 (2017-12-31) * |
郭丹;韩俊刚;: "在多态阵列处理器上实现统一渲染架构", 计算机技术与发展, no. 08 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114756699A (zh) * | 2022-04-26 | 2022-07-15 | 湖南翰博薇微电子科技有限公司 | 图形数据的访问处理方法、装置、计算机设备和存储介质 |
CN115934768A (zh) * | 2022-12-01 | 2023-04-07 | 摩尔线程智能科技(北京)有限责任公司 | 数据的处理方法、显示适配器、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112801856B (zh) | 2024-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9274839B2 (en) | Techniques for dynamic physical memory partitioning | |
US9436447B2 (en) | Technique for live analysis-based rematerialization to reduce register pressures and enhance parallelism | |
CN108206937B (zh) | 一种提升智能分析性能的方法和装置 | |
CN108701368B (zh) | 用于经实施例化的几何结构的更有效的光线跟踪方法和装置 | |
CN111309649B (zh) | 一种数据传输和任务处理方法、装置及设备 | |
KR20190021474A (ko) | 페이지 오류 없이 가상 메모리 내 희소 데이터 세트에의 물리 페이지의 할당 | |
JP2010186465A (ja) | ヘテロジニアス処理ユニットのための集中デバイス仮想化レイヤ | |
US11727632B2 (en) | Shader binding management in ray tracing | |
EP3964949B1 (en) | Graphics processing method and apparatus | |
US20180293106A1 (en) | Techniques for Accessing a Graphical Processing Unit Memory by an Application | |
CN111813713A (zh) | 数据加速运算处理方法、装置及计算机可读存储介质 | |
CN112801856B (zh) | 数据处理方法和装置 | |
CN114356598A (zh) | Linux内核态与用户态的数据交互方法及装置 | |
JP2020503609A (ja) | マルチオペレーティングシステム用のメモリアクセス方法、装置及び電子設備 | |
CN117058288A (zh) | 图形处理器及方法、多核图形处理系统、电子装置及设备 | |
US10733689B2 (en) | Data processing | |
CN105677491B (zh) | 一种数据传输方法及装置 | |
CN113743573B (zh) | 用于访问和利用压缩数据及其状态信息的技术 | |
JP7058658B2 (ja) | 映像表示方法、装置、電子機器及びコンピュータプログラム製品 | |
CN112162855B (zh) | 基于页锁定内存的gpu页缺失处理方法、系统及介质 | |
CN115454358B (zh) | 数据的存储控制方法及其装置、图像处理系统 | |
CN116263982B (zh) | 图形处理器、系统、方法、电子装置及设备 | |
CN113345067B (zh) | 一种统一渲染方法、装置、设备和引擎 | |
WO2019114044A1 (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
US20220083464A1 (en) | Memory pool management |
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 |