CN111209116B - 一种分配显存空间的方法、装置及计算机存储介质 - Google Patents

一种分配显存空间的方法、装置及计算机存储介质 Download PDF

Info

Publication number
CN111209116B
CN111209116B CN202010026220.7A CN202010026220A CN111209116B CN 111209116 B CN111209116 B CN 111209116B CN 202010026220 A CN202010026220 A CN 202010026220A CN 111209116 B CN111209116 B CN 111209116B
Authority
CN
China
Prior art keywords
data
video memory
idle data
idle
processed
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.)
Active
Application number
CN202010026220.7A
Other languages
English (en)
Other versions
CN111209116A (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.)
Xi'an Xintong Semiconductor Technology Co ltd
Original Assignee
Xi'an Xintong Semiconductor 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 Xi'an Xintong Semiconductor Technology Co ltd filed Critical Xi'an Xintong Semiconductor Technology Co ltd
Priority to CN202010026220.7A priority Critical patent/CN111209116B/zh
Publication of CN111209116A publication Critical patent/CN111209116A/zh
Application granted granted Critical
Publication of CN111209116B publication Critical patent/CN111209116B/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种分配显存空间的方法、装置及计算机存储介质;该方法可以包括:从空闲数据列表中查找与待处理数据的特征值相同的第一空闲数据;其中,所述空闲数据列表包括已完成处理的空闲数据,各所述空闲数据的特征值以及各所述空闲数据于显存的存储空间索引;相应于查找到所述第一空闲数据,将所述第一空闲数据返回以利用所述第一空闲数据及所述第一空闲数据于所述显存的存储空间进行图形处理。

Description

一种分配显存空间的方法、装置及计算机存储介质
技术领域
本发明实施例涉及图形处理器(GPU,Graphics Processing Unit)技术领域,尤其涉及一种分配显存空间的方法、装置及计算机存储介质。
背景技术
在通过图形应用程序以使用GPU处理图形数据的过程中,纹理数据、模型顶点属性等与图形具有关联的数据都需要存储在GPU的显存空间中。具体来说,图形应用程序可经由图形应用程序编程接口(API,Application Programming Interface)调用GPU驱动程序,向GPU发出指令以进行图形的绘制等操作。在绘制过程中,应用程序需要通过调用glBufferData、glTexImage2D等接口以将数据对象存储在GPU的显存空间中,并在绘制结束后通过调用glDeleteBuffers、glDeleteTextures等接口以释放数据的存储空间;在整个绘制过程中,GPU驱动程序负责实现显存空间的申请,数据对象的拷贝,显存空间的释放等操作。执行显存空间的申请和释放过程需要较大的CPU运算能力开销,将数据对象拷贝至显存空间同样也需要较大的CPU运算能力开销,基于此,目前在处理图形数据的过程中,CPU基于以上运算能力的开销导致执行效率较低。
发明内容
有鉴于此,本发明实施例期望提供一种分配显存空间的方法、装置及计算机存储介质;能够降低图形处理过程中CPU的运算开销,从而提高图形处理的执行效率。
本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供了一种分配显存空间的方法,所述方法包括:
从空闲数据列表中查找与待处理数据的特征值相同的第一空闲数据;其中,所述空闲数据列表包括已完成处理的空闲数据,各所述空闲数据的特征值以及各所述空闲数据于显存的存储空间索引;
相应于查找到所述第一空闲数据,将所述第一空闲数据返回以利用所述第一空闲数据及所述第一空闲数据于所述显存的存储空间进行图形处理。
第二方面,本发明实施例提供了一种分配显存空间的装置,所述装置包括:查找部分和返回部分;其中,
所述查找部分,经配置为从空闲数据列表中查找与待处理数据的特征值相同的第一空闲数据;以及,在查找到所述第一空闲数据时触发所述返回部分;
其中,所述空闲数据列表包括已完成处理的空闲数据,各所述空闲数据的特征值以及各所述空闲数据于显存的存储空间索引;
所述返回部分,经配置为将所述第一空闲数据返回以利用所述第一空闲数据及所述第一空闲数据于所述显存的存储空间进行图形处理。
第三方面,本发明实施例提供了一种计算装置,所述计算装置包括:存储器和处理器;其中,所述存储器,用于存储能够在处理器上运行的计算机程序;
所述处理器,用于在运行所述计算机程序时,执行第一方面所述的分配显存空间的方法的步骤。
第四方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有分配显存空间的程序,所述分配显存空间的程序被至少一个处理器执行时实现第一方面所述的分配显存空间的方法的步骤。
本发明实施例提供了一种分配显存空间的方法、装置及计算机存储介质;当需要针对待处理数据进行图形处理或操作的情况下,可以直接将与待处理数据具有相同特征值的第一空闲数据返回,以通过对第一空闲数据进行图形处理来替代对待处理数据进行图形处理。结合图形场景中经常出现重复绘制物体的情况,上述方案可以同时避免GPU驱动程序为待处理数据重新在所述显存中申请存储空间以及将待处理数据拷贝到存储空间的操作,降低了CPU执行显存空间申请及数据拷贝的运算开销。
附图说明
图1为能够实施本发明实施例的一个或多个方面的计算装置框图;
图2为本发明实施例提供的空闲数据列表的示意图;
图3为本发明实施例提供的GPU驱动程序针对待处理数据分配显存空间的方案流程示意图;
图4为本发明实施例提供的GPU驱动程序针对显存空间确定是否释放的方案流程示意图;
图5为本发明实施例提供的一种分配显存空间的方法的流程示意图;
图6为本发明实施例提供的一种分配显存空间的装置组成示意图;
图7为本发明实施例提供的另一种分配显存空间的装置组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
一般来说,在进行图形处理的过程中需要处理大量的纹理、模型顶点属性等图形数据,而这些数据的内容的大部分是保持不变的,以及在绘制场景的过程中场景内的物体会被重复绘制,所以,会出现相同的数据对象被重复的申请、拷贝、释放。基于此,本发明实施例期望描述一种分配显存空间的技术,举例来说,期望通过缓存重复出现的数据对象及该数据对象的存储空间以避免CPU重复地针对相同数据对象执行显存空间申请、拷贝及释放的操作。
图1为一种能够实施本发明实施例的一个或多个方面的计算装置2,该计算装置2的实例包括但不限于:无线装置、移动或蜂窝电话(包含所谓的智能电话)、个人数字助理(PDA)、视频游戏控制台(包含视频显示器、移动视频游戏装置、移动视频会议单元)、膝上型计算机、桌上型计算机、电视机顶盒、平板计算装置、电子书阅读器、固定或移动媒体播放器,等。在图1的实例中,该计算装置2可以包括:处理器6、系统存储器10和GPU 12。计算装置2还可包含显示处理器14、收发器模块3、用户接口4和显示器8。收发器模块3和显示处理器14两者可为与处理器6和/或GPU 12相同的集成电路(IC)的部分,两者可在包含处理器6和/或GPU 12的一或多个IC的外部,或可形成于在包含处理器6和/或GPU 12的IC外部的IC中。
为清楚起见,计算装置2可包含图1中未图示的额外模块或单元。举例来说,计算装置2可在其中计算装置2为移动无线电话或的实例中包含扬声器和麦克风(两者均未在图1中示出)来实现电话通信,或在计算装置2为媒体播放器的情况下包含扬声器。计算装置2还可包含摄像机。此外,计算装置2中所示的各种模块和单元可能不是在计算装置2的每个实例中都是必需的。举例来说,在计算装置2为桌上型计算机或经装备以与外部用户接口或显示器介接的其它装置的实例中,用户接口4和显示器8可在计算装置2外部。
用户接口4的实例包含(但不限于)轨迹球、鼠标、键盘和其它类型的输入装置。用户接口4还可为触摸屏,并且可作为显示器8的部分并入。收发器模块3可包含电路以允许计算装置2与另一装置或网络之间的无线或有线通信。收发器模块3可包含调制器、解调器、放大器和用于有线或无线通信的其它此类电路。
处理器6可为微处理器,例如中央处理单元(CPU),其经配置以处理供执行的计算机程序的指令。处理器6可包括控制计算装置2的运算的通用或专用处理器。用户可将输入提供到计算装置2,以致使处理器6执行系统存储器10中所存储的一或多个软件应用程序。在处理器6上执行的软件应用程序可包含(例如)操作系统、文字处理器应用程序、电子邮件应用程序、电子表格应用程序、媒体播放器应用程序、视频游戏应用程序、图形用户接口应用程序或另一程序。另外,处理器6可执行存储在系统存储器10中的用于控制GPU 12的运算的GPU驱动程序22。用户可经由一或多个输入装置(未图示)(例如,键盘、鼠标、麦克风、触摸垫或经由用户输入接口4耦合到计算装置2的另一输入装置)将输入提供到计算装置2。
在处理器6上执行的软件应用程序18为图形应用程序的情况下,该图形应用程序可包含一或多个图形渲染指令,其指令处理器6来致使将图形数据渲染到显示器8。在一些实例中,所述软件指令可符合图形API 20,例如开放式图形库(OpenGL,Open GraphicsLibrary)API、开放式图形库嵌入系统(OpenGL ES)API、Direct3D API、X3D API、RenderManAPI、WebGL API、开放式计算语言(OpenCLT M)、RenderScript或任何其它异构计算API,或任何其它公用或专有标准图形或计算API。所述软件指令还可为针对无渲染算法(例如计算摄影、卷积神经网络、视频处理、科学应用程序等)的指令。为了处理图形渲染指令,处理器6可向GPU 12发出一或多个图形渲染命令发(例如,通过GPU驱动程序22),以致使GPU 12执行图形数据的渲染中的一些或全部。在一些实例中,待渲染的图形数据可包含例如点、线、三角形、四边形、三角形带等图形图元的列表。
GPU 12可经配置以执行图形运算,举例来说,经从CPU 6和/或系统存储器10所提供的图形数据生成像素数据,与本地的图形存储器40(例如常用帧缓冲区(buffer))交互以存储和更新图形数据,传递像素数据到显示设备8。图形数据可包含(例如)绘制命令、状态信息、图元信息、纹理信息等。在一些情况下,GPU 12可内置有高度并行结构,其提供比处理器6高效的对复杂图形相关运算的处理。举例来说,GPU 12可包含经配置来以并行方式对多个顶点或像素进行运算的多个处理元件,例如着色器单元。在一些情况下,GPU 12的高度并行性质允许GPU 12比使用处理器6直接将场景绘制到显示器8更快速地将图形图像(例如,GUI和二维(2D)和/或三维(3D)图形场景)绘制到显示器8上。
在一些情况下,可将GPU 12集成到计算装置2的母板中。在其它情况下,GPU 12可存在于图形卡上,所述图形卡安装在计算装置2的母板中的端口中,或可以其它方式并入在经配置以与计算装置2互操作的外围装置内。GPU 12可包含一或多个处理器,例如一或多个微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或其它等效的集成或离散逻辑电路。GPU 12还可包含一或多个处理器核心,使得GPU 12可被称作多核处理器。
图形存储器40可为GPU 12的一部分。因此,GPU 12可在不使用总线的情况下从图形存储器40读取数据且将数据写入到图形存储器40。换句话说,GPU 12可使用本地存储装置而不是芯片外存储器在本地处理数据。此类图形存储器40可被称作显存40。这允许GPU12通过消除GPU 12经由总线读取和写入数据的需要来以更高效的方式操作,其中经由总线操作可经历繁重的总线业务。图形存储器40可包含一或多个易失性或非易失性存储器或存储装置,例如,随机存取存储器(RAM)、静态RAM(SRAM)、动态RAM(DRAM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、快闪存储器、磁性数据媒体或光学存储媒体。
在一些实例中,GPU 12可将最终完全形成的图像由显存存储在系统存储器10中。显示处理器14可从系统存储器10检索图像,且输出致使显示器8的像素照亮以显示所述图像的值。显示器8可为计算装置2的显示器,其显示由GPU 12产生的图像内容。显示器8可为液晶显示器(LCD)、有机发光二极管显示器(OLED)、阴极射线管(CRT)显示器、等离子显示器或另一类型的显示装置。
结合图1所示的计算装置2,CPU 6在运行图形应用程序18,经由图形API20调用GPU驱动程序22以进行图形绘制或处理的过程中,需要通过调用GPU驱动程序22以对图形存储器40或显存40的存储空间进行申请、数据拷贝以及释放等操作,而这些操作由于需要通过CPU 6的调用以实现,从而增加了CPU 6的计算开销。结合被绘制或处理的图形所展示的场景中通常包括需要重复绘制或处理的数据对象,本发明实施例所描述的一种分配显存空间的方案可以通过GPU驱动程序22以实现。
在一些示例中,GPU驱动程序22从空闲数据列表中查找与待处理数据的特征值相同的第一空闲数据;其中,所述空闲数据列表包括已完成处理的空闲数据,各所述空闲数据的特征值以及各所述空闲数据于显存的存储空间索引。在某些实现过程中,图形应用程序18可将需进行图形处理的待处理数据及待处理数据的数据量经由图形API 20传入GPU驱动程序22;GPU驱动程序22在获得待处理数据以及待处理数据的数据量后,可以按照已预先约定的特征值计算方法计算获得待处理数据的特征值,在本申请中,某一对象(例如待处理数据、空闲数据等)的特征值优选为能够唯一标识该对象区别于其他对象的标志,比如按照散列HASH算法,诸如循环冗余校验-32(CRC-32,Cyclic Redundancy Check 32)、信息摘要算法-5(MD5,Message-Digest Algorithm 5)、安全散列算法1(SHA1,Secure Hash Algorithm1)、RACE原始完整性校验消息摘要(RIPEMD-160,RACE Intergrity PrimitivesEvaluation Message Digest 160)、SHA256、SHA512、SHA3-224、SHA3-256、SHA3-384、SHA3-512等算法计算获得的HASH值。而空闲数据列表则记录了显存中已完成处理但尚未释放其在显存的存储空间的数据的相关信息,本发明实施例中,基于该种数据已处理完毕,因此,也被称之为空闲数据。而空闲数据的相关信息则可以包括但不限于空闲数据的特征值,例如HASH值、空闲数据的数据量、空闲数据于所述显存的存储空间索引。而在某些实现过程中,空闲数据列表可以通过列表的数据结构对空闲数据的相关信息进行保存,具体形式如图2所示。
在一些示例中,相应于GPU驱动程序22从所述空闲数据列表中查找到所述第一空闲数据,将所述第一空闲数据返回以利用所述第一空闲数据及所述第一空闲数据于所述显存的存储空间进行图形处理。举例来说,若待处理数据与第一空闲数据的特征值相同,结合前述特征值的功能,就可以确定待处理数据与第一空闲数据的内容一致。因此,当需要针对待处理数据进行图形处理或操作的情况下,可以直接将第一空闲数据返回,以通过对第一空闲数据进行图形处理来替代对待处理数据进行图形处理。由上述内容并结合图形场景中经常出现重复绘制物体的情况,通过本示例可以同时避免GPU驱动程序22为待处理数据重新在所述显存中申请存储空间以及将待处理数据拷贝到存储空间的操作,降低了CPU 6执行显存空间申请及数据拷贝的运算开销。
针对上述示例,在一些示例中,相应于GPU驱动程序22从所述空闲数据列表中查找不到所述第一空闲数据,则从所述空闲数据列表中查找与所述待处理数据的数据量相同的第二空闲数据;相应于GPU驱动程序22从所述空闲数据列表中查找到所述第二空闲数据,将所述待处理数据拷贝至所述第二空闲数据于所述显存的存储空间。需要说明的是,当从空闲数据列表所包含的已完成处理的数据中未找到与待处理数据具有相同内容的第一空闲数据,则无法直接利用针对空闲数据进行图形处理来替代针对待处理数据进行图形处理,那么就无法按照上述示例以实现同时避免GPU驱动程序22为待处理数据重新在所述显存中申请存储空间以及将待处理数据拷贝到新申请的存储空间的操作,但是由于空闲数据列表中还包括已完成处理数据的数据量,那么可以查找与待处理数据的数据量相同的第二空闲数据,当查找到第二空闲数据,结合两者数据量相同,则可以获知两者于显存中所需的的存储空间也相同。基于此,可以根据空闲数据列表中第二空闲数据于显存的存储空间索引将待处理数据拷贝至第二空闲数据于所述显存的存储空间中。通过本示例,即使GPU驱动程序22需要执行将待处理数据拷贝到存储空间的操作,但仍然避免执行为待处理数据重新在所述显存中申请存储空间的操作,降低了CPU 6执行显存空间申请的运算开销。
针对上述示例,在一些示例中,所述方法还包括:相应于GPU驱动程序22从所述空闲数据列表中查找不到所述第二空闲数据,为所述待处理数据于所述显存申请新的存储空间,并将所述待处理数据拷贝至所述新申请的存储空间。需要说明的是,结合上述两个示例,当从空闲数据列表所包含的已完成处理的数据中既查找不到第一空闲数据,又查找不到第二空闲数据,此时,为了图形处理的正常进行,GPU驱动程序22只能为待处理数据重新在所述显存中申请存储空间以及将待处理数据拷贝到存储空间。
当数据处理完毕后,结合以上三个示例,在一些示例中,当存储于显存的数据处理完毕后,GPU驱动程序22将处理完毕的数据标记为空闲数据,并通过所述空闲数据列表记录所述空闲数据的数据量、所述空闲数据的特征值以及所述空闲数据于所述显存的存储空间索引。举例来说,当数据处理完毕后,图形应用程序18可以通过调用图形API 20向GPU驱动程序22输入处理完成且需确认是否释放的数据,此时,GPU驱动程序22可以计算并记录处理完毕的数据的特征值,并且将该处理完毕的数据标记为空闲数据后,通过空闲数据列表记录该处理完毕数据的数据量、该处理完毕的数据的特征值以及该处理完毕的数据于所述显存的存储空间索引。可以理解地,本示例的执行同样也表示着空闲数据列表的生成过程。
在一些示例中,针对处理完毕后的数据是否需要对下显存中的存储空间进行释放操作,本发明实施例所参考的是显存中尚未使用的空间是否适用于后续的图形处理,在本发明实施例中,显存中已使用的存储空间不仅包括存储有正在被处理数据的存储空间,而且还包括存储有空闲数据的存储空间。本发明实施例对此不做赘述。基于以上描述,GPU驱动程序22还可以检查所述显存已使用的存储空间是否达到设定的阈值:相应于所述已使用的存储空间大于或等于设定的阈值,按照设定策略从所述空闲数据列表中选择空闲数据,并将被选择的空闲数据于所述显存的存储空间进行释放。需要说明的是,当显存已使用的存储空间已达到(例如大于或等于)设定的阈值,说明显存剩余的可使用存储空间不足以胜任后续的图形处理操作,因此需要选择一些空闲数据的存储空间进行释放以补充可使用的存储空间,在具体操作过程中,GPU驱动程序22可采用最近最少使用(LRU,Least RecentlyUsed)策略,从空闲数据列表中选取最近时间段内最少使用的,也就是使用频率低的空闲数据,并将选择出来的空闲数据于显存所占用的存储空间进行释放。
基于上述示例,若显存中尚未使用的空间仍然能够胜任后续的图形处理操作,那么就无须进行释放显存已使用的存储空间,举例来说,相应于所述已使用的存储空间小于所述设定的阈值,则GPU驱动程序22确定不对所述显存已使用的存储空间进行释放。
综合以上所有示例,参见图3,其示出了能够实现以上所有示例的一个或多个方面的GPU驱动程序22针对待处理数据分配显存空间的方案流程,在本流程中,特征值优选设定为HASH值,该流程可以包括:
S301:接收由图形应用程序18传入的待处理数据及待处理数据的数据量;
S302:根据待处理数据的HASH值从空闲数据列表中查找是否存在与待处理数据的HASH值相同的第一空闲数据;
S303:若存在与待处理数据的HASH值相同的第一空闲数据,则将所述第一空闲数据返回,本流程结束。
S304:若不存在与待处理数据的HASH值相同的第一空闲数据,则从所述空闲数据列表中查找是否存在与所述待处理数据的数据量相同的第二空闲数据;
S305:若存在第二空闲数据,则将所述待处理数据拷贝至所述第二空闲数据于所述显存的存储空间,本流程结束;
S306,若不存在第二空闲数据,则为所述待处理数据于所述显存申请新的存储空间,并将所述待处理数据拷贝至所述新申请的存储空间;本流程结束。
可以理解地,通过上述流程完成待处理数据的显存空间分配后,会通过GPU 12对待处理数据按照CPU 6通过GPU驱动程序22所下发的指令进行图形处理。当处理完毕之后,GPU驱动程序22就需要针对显存的存储空间是否进行释放确认,参见图4,其示出了能够实现以上所有示例的一个或多个方面的GPU驱动程序22针对显存空间确定是否释放的方案流程,在本流程中,所述设定策略优选为LRU策略,该流程可以包括:
S401:接收由图形应用程序输入的处理完成且需确认是否释放的数据;
S402:检查所述显存已使用的存储空间是否达到设定的阈值:
S403:若所述已使用的存储空间达到设定的阈值,按照LRU策略从所述空闲数据列表中选择空闲数据,并将被选择的空闲数据于所述显存的存储空间进行释放;本流程结束;
S404:若所述已使用的存储空间未达到设定的阈值,确定不对所述显存已使用的存储空间进行释放;本流程结束。
综合上述示例及方案流程,参见图5,其示出了本发明实施例提供的一种分配显存空间的方法,该方法可以包括:
S501:从空闲数据列表中查找与待处理数据的特征值相同的第一空闲数据;
需要说明的是,所述空闲数据列表包括已完成处理的空闲数据,各所述空闲数据的特征值以及各所述空闲数据于显存的存储空间索引;
S502:相应于查找到所述第一空闲数据,将所述第一空闲数据返回以利用所述第一空闲数据及所述第一空闲数据于所述显存的存储空间进行图形处理。
在一些示例中,所述方法还包括:
相应于查找不到所述第一空闲数据,则从所述空闲数据列表中查找与所述待处理数据的数据量相同的第二空闲数据;
相应于查找到所述第二空闲数据,将所述待处理数据拷贝至所述第二空闲数据于所述显存的存储空间。
在一些示例中,所述方法还包括:
相应于查找不到所述第二空闲数据,为所述待处理数据于所述显存申请新的存储空间,并将所述待处理数据拷贝至所述新申请的存储空间。
在一些示例中,所述方法还包括:当存储于显存的数据处理完毕后,将处理完毕的数据标记为空闲数据,并通过所述空闲数据列表记录所述空闲数据的数据量、所述空闲数据的特征值以及所述空闲数据于所述显存的存储空间索引。
在一些示例中,所述方法还包括:检查所述显存已使用的存储空间是否达到设定的阈值:
相应于所述已使用的存储空间大于或等于设定的阈值,按照设定策略从所述空闲数据列表中选择空闲数据,并将被选择的空闲数据于所述显存的存储空间进行释放。
在一些示例中,所述方法还包括:
相应于所述已使用的存储空间小于所述设定的阈值,则确定不对所述显存已使用的存储空间进行释放。
图6为能够实现前述示例、流程及方案的一个或多个方面的分配显存空间的装置60,可以包括:查找部分601、返回部分602;其中,
所述查找部分601,经配置为从空闲数据列表中查找与待处理数据的特征值相同的第一空闲数据;以及,在查找到所述第一空闲数据时触发所述返回部分602;
其中,所述空闲数据列表包括已完成处理的空闲数据,各所述空闲数据的特征值以及各所述空闲数据于显存的存储空间索引;
所述返回部分602,经配置为将所述第一空闲数据返回以利用所述第一空闲数据及所述第一空闲数据于所述显存的存储空间进行图形处理。
在一些示例中,参见图7,所述装置60还包括:拷贝部分603;
所述查找部分601,还经配置为:
若查找不到所述第一空闲数据,则从所述空闲数据列表中查找与所述待处理数据的数据量相同的第二空闲数据;以及,在查找到所述第二空闲数据时触发所述拷贝部分603;
所述拷贝部分603,经配置为将所述待处理数据拷贝至所述第二空闲数据于所述显存的存储空间。
在一些示例中,参见图7,所述装置60还包括:申请部分604;
所述查找部分601,还经配置为:若查找不到所述第二空闲数据,触发所述申请部分604和所述拷贝部分603;
所述申请部分604,经配置为:为所述待处理数据于所述显存申请新的存储空间;
所述拷贝部分603,还经配置为:将所述待处理数据拷贝至所述新申请的存储空间。
在一些示例中,参见图7,所述装置60还可以包括:记录部分605,经配置为:当存储于显存的数据处理完毕后,将处理完毕的数据标记为空闲数据,并通过所述空闲数据列表记录所述空闲数据的数据量、所述空闲数据的特征值以及所述空闲数据于所述显存的存储空间索引。
在一些示例中,参见图7,所述装置60还可以包括:检查部分606和释放部分607;其中,
所述检查部分606,经配置为检查所述显存已使用的存储空间是否达到设定的阈值;以及,当所述已使用的存储空间大于或等于设定的阈值时触发所述释放部分607;
所述释放部分607,经配置为按照设定策略从所述空闲数据列表中选择空闲数据,并将被选择的空闲数据于所述显存的存储空间进行释放。
在一些示例中,参见图7,所述装置60还可以包括:确定部分608;
所述检查部分606,还经配置为当所述已使用的存储空间小于所述设定的阈值时,触发所述确定部分608;
所述确定部分608,还经配置为确定不对所述显存已使用的存储空间进行释放。
可以理解地,在本实施例中,“部分”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是单元,还可以是模块也可以是非模块化的。
另外,在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,那么可将功能作为一或多个指令或代码存储在计算机可读媒体上或经由计算机可读媒体传输。计算机可读媒体可包含计算机数据存储媒体或通信媒体,通信媒体包含促进将计算机程序从一处传递到另一处的任何媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中描述的技术的指令、代码和/或数据结构的任何可用媒体。举例来说且非限制,此类计算机可读媒体可包括U盘、移动硬盘、RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于运载或存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输软件,那么同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电和微波等无线技术包含于媒体的定义中。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
代码可由一或多个处理器执行,所述一或多个处理器例如是一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。因此,如本文中所使用的术语“处理器”和“处理单元”可指前述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可在经配置用于编码和解码的专用硬件和/或软件模块内提供,或者并入在组合式编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明实施例的技术可实施于各种各样的装置或设备中,所述装置或设备包含无线手持机、集成电路(IC)或一组IC(即,芯片组)。本发明中描述各种组件、模块或单元是为了强调经配置以执行所公开的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。
已描述了本发明的各种方面。这些和其它实施例在所附权利要求书的范围内。需要说明的是:本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (14)

1.一种分配显存空间的方法,其特征在于,所述方法包括:
从空闲数据列表中查找与待处理数据的特征值相同的第一空闲数据;其中,所述空闲数据列表包括已完成处理的空闲数据,各所述空闲数据的特征值以及各所述空闲数据于显存的存储空间索引;
相应于查找到所述第一空闲数据,将所述第一空闲数据返回以利用所述第一空闲数据及所述第一空闲数据于所述显存的存储空间进行图形处理。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
相应于查找不到所述第一空闲数据,则从所述空闲数据列表中查找与所述待处理数据的数据量相同的第二空闲数据;
相应于查找到所述第二空闲数据,将所述待处理数据拷贝至所述第二空闲数据于所述显存的存储空间。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
相应于查找不到所述第二空闲数据,为所述待处理数据于所述显存申请新的存储空间,并将所述待处理数据拷贝至新申请的存储空间。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:当存储于显存的数据处理完毕后,将处理完毕的数据标记为空闲数据,并通过所述空闲数据列表记录所述空闲数据的数据量、所述空闲数据的特征值以及所述空闲数据于所述显存的存储空间索引。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:检查所述显存已使用的存储空间是否达到设定的阈值:
相应于所述已使用的存储空间大于或等于设定的阈值,按照设定策略从所述空闲数据列表中选择空闲数据,并将被选择的空闲数据于所述显存的存储空间进行释放。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
相应于所述已使用的存储空间小于所述设定的阈值,则确定不对所述显存已使用的存储空间进行释放。
7.一种分配显存空间的装置,其特征在于,所述装置包括:查找部分和返回部分;其中,
所述查找部分,经配置为从空闲数据列表中查找与待处理数据的特征值相同的第一空闲数据;以及,在查找到所述第一空闲数据时触发所述返回部分;
其中,所述空闲数据列表包括已完成处理的空闲数据,各所述空闲数据的特征值以及各所述空闲数据于显存的存储空间索引;
所述返回部分,经配置为将所述第一空闲数据返回以利用所述第一空闲数据及所述第一空闲数据于所述显存的存储空间进行图形处理。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:拷贝部分;
所述查找部分,还经配置为:
若查找不到所述第一空闲数据,则从所述空闲数据列表中查找与所述待处理数据的数据量相同的第二空闲数据;以及,在查找到所述第二空闲数据时触发所述拷贝部分;
所述拷贝部分,经配置为将所述待处理数据拷贝至所述第二空闲数据于所述显存的存储空间。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:申请部分;
所述查找部分,还经配置为:若查找不到所述第二空闲数据,触发所述申请部分和所述拷贝部分;
所述申请部分,经配置为:为所述待处理数据于所述显存申请新的存储空间;
所述拷贝部分,还经配置为:将所述待处理数据拷贝至新申请的存储空间。
10.根据权利要求7至9任一项所述的装置,其特征在于,所述装置还包括:记录部分,经配置为:当存储于显存的数据处理完毕后,将处理完毕的数据标记为空闲数据,并通过所述空闲数据列表记录所述空闲数据的数据量、所述空闲数据的特征值以及所述空闲数据于所述显存的存储空间索引。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:检查部分和释放部分;其中,
所述检查部分,经配置为检查所述显存已使用的存储空间是否达到设定的阈值;以及,当所述已使用的存储空间大于或等于设定的阈值时触发所述释放部分;
所述释放部分,经配置为按照设定策略从所述空闲数据列表中选择空闲数据,并将被选择的空闲数据于所述显存的存储空间进行释放。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:确定部分;
所述检查部分,还经配置为当所述已使用的存储空间小于所述设定的阈值时,触发所述确定部分;
所述确定部分,还经配置为确定不对所述显存已使用的存储空间进行释放。
13.一种计算装置,其特征在于,所述计算装置包括:存储器和处理器;其中,所述存储器,用于存储能够在处理器上运行的计算机程序;
所述处理器,用于在运行所述计算机程序时,执行权利要求1至6任一项所述的分配显存空间的方法的步骤。
14.一种计算机存储介质,其特征在于,所述计算机存储介质存储有分配显存空间的程序,所述分配显存空间的程序被至少一个处理器执行时实现权利要求1至6任一项所述的分配显存空间的方法的步骤。
CN202010026220.7A 2020-01-06 2020-01-06 一种分配显存空间的方法、装置及计算机存储介质 Active CN111209116B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010026220.7A CN111209116B (zh) 2020-01-06 2020-01-06 一种分配显存空间的方法、装置及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010026220.7A CN111209116B (zh) 2020-01-06 2020-01-06 一种分配显存空间的方法、装置及计算机存储介质

Publications (2)

Publication Number Publication Date
CN111209116A CN111209116A (zh) 2020-05-29
CN111209116B true CN111209116B (zh) 2023-09-12

Family

ID=70788926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010026220.7A Active CN111209116B (zh) 2020-01-06 2020-01-06 一种分配显存空间的方法、装置及计算机存储介质

Country Status (1)

Country Link
CN (1) CN111209116B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737019B (zh) * 2020-08-31 2020-12-11 西安芯瞳半导体技术有限公司 一种显存资源的调度方法、装置及计算机存储介质
CN112329834B (zh) * 2020-10-29 2023-08-01 北京百度网讯科技有限公司 循环网络模型训练时显存空间的分配方法和装置
CN112446816B (zh) * 2021-02-01 2021-04-09 成都点泽智能科技有限公司 显存动态数据存储方法、装置及服务器
CN113051072A (zh) * 2021-03-02 2021-06-29 长沙景嘉微电子股份有限公司 内存管理方法,装置,系统及计算机可读存储介质
CN113467958B (zh) * 2021-09-02 2021-12-14 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备以及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103853312A (zh) * 2012-12-03 2014-06-11 辉达公司 来自与数据处理设备的处理器关联的存储器的静态帧显示
CN109685712A (zh) * 2017-10-18 2019-04-26 阿里巴巴集团控股有限公司 图像缓存和使用方法及装置、终端

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9589314B2 (en) * 2013-04-29 2017-03-07 Qualcomm Incorporated Query processing for tile-based renderers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103853312A (zh) * 2012-12-03 2014-06-11 辉达公司 来自与数据处理设备的处理器关联的存储器的静态帧显示
CN109685712A (zh) * 2017-10-18 2019-04-26 阿里巴巴集团控股有限公司 图像缓存和使用方法及装置、终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张德好 ; 刘青昆 ; .一种Cholesky分解重叠算法.计算机工程.2012,(第18期),全文. *

Also Published As

Publication number Publication date
CN111209116A (zh) 2020-05-29

Similar Documents

Publication Publication Date Title
CN111209116B (zh) 一种分配显存空间的方法、装置及计算机存储介质
CN110928695B (zh) 一种关于显存的管理方法、装置及计算机存储介质
US9715750B2 (en) System and method for layering using tile-based renderers
JP6073533B1 (ja) タイルベースのアーキテクチャ上での最適化されたマルチパスレンダリング
KR101813429B1 (ko) 공유 데이터 채널들을 가지는 셰이더 파이프라인
CN104508638A (zh) 多核心处理系统中的高速缓冲存储器数据迁移
CN111737019B (zh) 一种显存资源的调度方法、装置及计算机存储介质
KR102336528B1 (ko) 캐시 메모리를 가지는 전자 장치 및 그의 운용 방법
CN108027955B (zh) 经带宽压缩的图形数据的存储技术
US9165337B2 (en) Command instruction management
CN111367780B (zh) 一种gpu的性能测试方法、装置及计算机存储介质
KR20130135309A (ko) 그래픽 프로세싱을 위한 데이터 저장 어드레스 할당
CN110930497B (zh) 一种全局光照相交加速方法、装置及计算机存储介质
CN114972607B (zh) 加速图像显示的数据传输方法、装置及介质
CN116391205A (zh) 用于图形处理单元混合渲染的装置和方法
CN111311478B (zh) 一种gpu渲染核数据的预读取方法、装置及计算机存储介质
CN117194055B (zh) Gpu显存申请及释放的方法、装置及存储介质
EP3201872A1 (en) Transparent pixel format converter
CN116909511A (zh) 提升gpu双缓冲显示效率的方法、装置及存储介质
CN111161391A (zh) 一种生成追踪路径的方法、装置及计算机存储介质
CN111127620B (zh) 一种生成半球域采样模式的方法、装置及计算机存储介质
CN111179151A (zh) 一种提高图形渲染效率的方法、装置及计算机存储介质
CN112988364B (zh) 一种动态的任务调度方法、装置及存储介质
CN117435521B (zh) 基于gpu渲染的纹理显存映射方法、装置及介质
CN117899472A (zh) 对象渲染方法、装置、介质及设备

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
CB03 Change of inventor or designer information

Inventor after: Ma Chao

Inventor after: Sun Jiankang

Inventor after: Wang Shikai

Inventor before: Ma Chao

Inventor before: Sun Jiankang

Inventor before: Wang Shikai

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: Room 301, Building D, Yeda Science and Technology Park, No. 300 Changjiang Road, Yantai Area, China (Shandong) Pilot Free Trade Zone, Yantai City, Shandong Province, 265503

Patentee after: Xi'an Xintong Semiconductor Technology Co.,Ltd.

Address before: Room 21101, 11 / F, unit 2, building 1, Wangdu, No. 3, zhangbayi Road, Zhangba Street office, hi tech Zone, Xi'an City, Shaanxi Province

Patentee before: Xi'an Xintong Semiconductor Technology Co.,Ltd.

CP03 Change of name, title or address