CN112686797A - 用于gpu功能验证的目标帧数据获取方法、装置及存储介质 - Google Patents

用于gpu功能验证的目标帧数据获取方法、装置及存储介质 Download PDF

Info

Publication number
CN112686797A
CN112686797A CN202110036443.6A CN202110036443A CN112686797A CN 112686797 A CN112686797 A CN 112686797A CN 202110036443 A CN202110036443 A CN 202110036443A CN 112686797 A CN112686797 A CN 112686797A
Authority
CN
China
Prior art keywords
image frame
target image
target
data
frame
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
CN202110036443.6A
Other languages
English (en)
Other versions
CN112686797B (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 CN202110036443.6A priority Critical patent/CN112686797B/zh
Publication of CN112686797A publication Critical patent/CN112686797A/zh
Application granted granted Critical
Publication of CN112686797B publication Critical patent/CN112686797B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种用于GPU功能验证的目标帧数据获取方法、装置及存储介质;该方法可以包括:抓取从邻近图像帧至目标图像帧的用于对所述目标图像帧进行异常分析的调试内容;存储所述目标图像帧的图像数据以及描述数据;在所述目标图像帧的画面中选取目标区域;从已抓取的调试内容以及已存储的所述目标图像帧的描述数据中读取所述目标区域对应的调试内容以及描述数据;将所述目标区域对应的描述数据以及调试内容反馈至CPU以确定所述异常情况的起源信息。

Description

用于GPU功能验证的目标帧数据获取方法、装置及存储介质
技术领域
本发明实施例涉及图形处理器(GPU,Graphics Processing Unit)技术领域,尤其涉及一种用于GPU功能验证的目标帧数据获取方法、装置及存储介质。
背景技术
目前,通常采用运行大型三维游戏或者播放连续三维动画的方式对GPU的软硬件进行功能验证。在针对GPU进行功能验证的过程中,可能会出现遗漏像素、绘制异常等异常情况。对于上述异常情况,研发人员需要提取出现异常情况的关键帧,通过查看与该关键帧相关的渲染信息以定位问题。借助于对关键帧的数据进行分析,从而判断待测GPU的软硬件功能是否正常。
当前的相关方案中,通常会将用于分析出现异常情况的关键帧所需的所有数据进行保存;随后根据数据流进行跟踪以寻找到关键帧对应的初始数据;接着通过对初始数据进行模拟仿真以获取期望结果;最后通过将期望结果与实际的关键帧进行以判断异常情况的出现原因。但是,相关方案中涉及到关键帧的全部信息,会加大数据存储量以及耗费较多的计算资源;而异常情况通常仅出现在关键帧的部分区域,所以仍需要从完整的关键帧所存在的模型和元素中筛选具体出现异常情况区域的信息,耗费大量的计算资源和时间成本,降低了功能验证的执行效率。
发明内容
有鉴于此,本发明实施例期望提供一种用于GPU功能验证的目标帧数据获取方法、装置及存储介质;能够降低GPU功能验证的数据处理量,提高GPU功能验证的执行效率。
本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供了一种用于GPU功能验证的目标帧数据获取方法,所述方法包括:
抓取从邻近图像帧至目标图像帧的用于对所述目标图像帧进行异常分析的调试内容;其中,所述目标图像帧为GPU功能验证过程中出现异常情况的图像帧,所述邻近图像帧处于所述目标图像帧之前且与所述目标图像帧满足设定邻近度;
存储所述目标图像帧的图像数据以及描述数据;
在所述目标图像帧的画面中选取目标区域;其中,所述目标图像帧的画面基于所述目标图像帧的图像数据以显示;
从已抓取的调试内容以及已存储的所述目标图像帧的描述数据中读取所述目标区域对应的调试内容以及描述数据;
将所述目标区域对应的描述数据以及调试内容反馈至CPU以确定所述异常情况的起源信息。
第二方面,本发明实施例提供了一种用于GPU功能验证的目标帧数据获取装置,所述装置包括:抓取部分、存储部分、选取部分、读取部分和反馈部分;其中,
所述抓取部分,经配置为抓取从邻近图像帧至目标图像帧的用于对所述目标图像帧进行异常分析的调试内容;其中,所述目标图像帧为GPU功能验证过程中出现异常情况的图像帧,所述邻近图像帧处于所述目标图像帧之前且与所述目标图像帧满足设定邻近度;
所述存储部分,经配置为存储所述目标图像帧的图像数据以及描述数据;
所述选取部分,经配置为在所述目标图像帧的画面中选取目标区域;其中,所述目标图像帧的画面基于所述目标图像帧的图像数据以显示;
所述读取部分,经配置为从已抓取的调试内容以及已存储的所述目标图像帧的描述数据中读取所述目标区域对应的调试内容以及描述数据;
所述反馈部分,经配置为将所述目标区域对应的描述数据以及调试内容反馈至CPU以确定所述异常情况的起源信息。
第三方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有用于GPU功能验证的目标帧数据获取程序,所述用于GPU功能验证的目标帧数据获取程序被至少一个处理器执行时实现第一方面所述用于GPU功能验证的目标帧数据获取方法步骤。
本发明实施例提供了一种用于GPU功能验证的目标帧数据获取方法、装置及存储介质;通过可视化的方式呈现目标图像帧,以便于对该目标图像帧出现错误或异常的部分进行截取从而得到目标区域,降低了定位异常情况所需的时间,提高了异常情况的分析效率。此外,通过选取目标区域以读取对应的调试内容以及描述数据,避免了在GPU功能验证过程中进行异常情况定位时冗余数据的干扰,降低了定位异常情况所需的数据处理量。
附图说明
图1为能够实现本发明实施例技术方案的一种计算装置结构示意图;
图2为详细说明图1中处理器、GPU和系统内存的实例实施方案的框图;
图3为本发明实施例提供的一种用于GPU功能验证的目标帧数据获取方法流程示意图;
图4为本发明实施例提供的GPU功能验证的具体实施流程示意图;
图5为本发明实施例提供的用于GPU功能验证的目标帧数据获取装置组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
参见图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执行一或多个软件应用程序。在处理器6上执行的软件应用程序可包含(例如)操作系统、文字处理器应用程序、电子邮件应用程序、电子表格应用程序、媒体播放器应用程序、视频游戏应用程序、图形用户接口应用程序或另一程序。另外,处理器6可执行用于控制GPU 12的运算的GPU驱动程序22。用户可经由一或多个输入装置(未图示)(例如,键盘、鼠标、麦克风、触摸垫或经由用户接口4耦合到计算装置2的另一输入装置)将输入提供到计算装置2。
在处理器6上执行的软件应用程序可包含一或多个图形渲染指令,其指令处理器6来致使将图形数据渲染到显示器8。在一些实例中,所述软件指令可符合图形应用程序编程接口(API),例如开放式图形库OpenGL API、开放式图形库嵌入系统(OpenGL ES)API、Direct3D API、X3D API、RenderMan API、WebGL API、开放式计算语言(OpenCLT M)、RenderScript或任何其它异构计算API,或任何其它公用或专有标准图形或计算API。所述软件指令还可为针对无渲染算法(例如计算摄影、卷积神经网络、视频处理、科学应用程序等)的指令。为了处理图形渲染指令,处理器6可向GPU 12发出一或多个图形渲染命令(例如,通过GPU驱动程序22),以致使GPU 12执行图形数据的渲染中的一些或全部。在一些实例中,待渲染的图形数据可包含例如点、线、三角形、四边形、三角形带等图形图元的列表。
GPU 12可经配置以执行图形运算,从而将一或多个图形图元渲染到显示器
8。因此,当在处理器6上执行的软件应用中的一者需要图形处理时,处理器6可将图形命令和图形数据提供到GPU 12以用于渲染到显示器8。图形数据可包含(例如)绘制命令、状态信息、图元信息、纹理信息等。在一些情况下,GPU12可内置有高度并行结构,其提供比处理器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可被称作芯片上存储器。这允许GPU 12通过消除GPU 12经由总线读取和写入数据的需要来以更高效的方式操作,其中经由总线操作可经历繁重的总线业务。然而,在一些情况下,GPU 12可不包含单独的存储器,而是经由总线利用系统内存10。图形存储器40可包含一或多个易失性或非易失性存储器或存储装置,例如,随机存取存储器(RAM)、静态RAM(SRAM)、动态RAM(DRAM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、快闪存储器、磁性数据媒体或光学存储媒体。
在一些实例中,GPU 12可将完全形成的图像存储在系统内存10中。显示处理器14可从系统内存10检索图像,且输出致使显示器8的像素照亮以显示所述图像的值。显示器8可为计算装置2的显示器,其显示由GPU 12产生的图像内容。显示器8可为液晶显示器(LCD)、有机发光二极管显示器(OLED)、阴极射线管(CRT)显示器、等离子显示器或另一类型的显示装置。
图2是进一步详细说明图1中处理器6、GPU 12和系统内存10的实例实施方案的框图。如图2所示,处理器6可执行至少一个软件应用程序18、图形API 20和GPU驱动程序22,其中的每一者可为一或多个软件应用程序或服务。在一些实例中,图形API 20和GPU驱动程序22可实施为CPU 6的硬件单元。
可供GPU 12使用的存储器还可包含显存16,其可存储经渲染图像数据,例如像素数据,以及任何其它数据,因此,显存16还可被称为帧缓冲器framebuffer。在具体实施过程中,比如在GPU 12集成到计算装置2的母板中以形成集成显卡的情况下,显存16可为系统内存10的部分;而在GPU 12存在于图形卡上,且所述图形卡安装在计算装置2的母板中的端口中,或可以其它方式并入在经配置以与计算装置2互操作的外围装置内的情况下,即GPU 12存在于独立显卡的情况下,显存16可与系统内存10分离,如图2中所示;需要说明的是,本发明实施例的技术方案可以应用于图2所示的实例方案,也就是说,在实施本发明实施例的技术方案时,为了清楚简洁地描述技术方案,通常可以认为显存16与系统内存10分离;当然,上述说明并不排除本发明实施例的技术方案应用于显存16作为系统内存10的部分的情况,后续不再赘述。
显存16存储GPU 12的目的地像素。每个目的地像素可与唯一屏幕像素位置相关联。在一些实例中,显存16可存储每个目的地像素的色彩分量和目的地α值。举例来说,显存16可存储每个像素的红色、绿色、蓝色、α(RGBA)分量,其中“RGB”分量对应于色彩值,并且“A”分量对应于目的地α值(例如,用于图像合成的不透明度值)。尽管图2将显存16和系统内存10说明为单独的存储器单元,但在其它实例中,例如集成显卡的情况下,显存16可以是系统内存10的一部分。此外显存16还可能够存储除像素之外的任何合适的数据。
软件应用程序18可为利用GPU 12的功能性的任何应用程序。举例来说,软件应用程序18可为图形应用程序、操作系统、便携式制图应用程序、用于工程或艺术应用的计算机辅助设计程序、视频游戏应用程序或使用2D或3D图形的另一类型的软件应用程序。
软件应用程序18可包含指令GPU 12渲染图形用户接口(GUI)和/或图形场景的一或多个绘制指令。举例来说,绘制指令可包含界定将由GPU 12渲染的一组一或多个图形图元的指令。在一些实例中,绘制指令可共同地界定用于GUI中的多个开窗表面的全部或部分。在额外实例中,所述绘制指令可共同地定义图形场景的全部或部分,所述图形场景包含在由应用程序定义的模型空间或世界空间内的一或多个图形对象。
软件应用程序18可经由图形API 20调用GPU驱动程序22,以向GPU 12发出一或多个命令,以用于将一或多个图形图元渲染到可显示的图形图像中。举例来说,软件应用程序18可调用GPU驱动程序22,以向GPU 12提供图元定义。在一些情况下,图元定义可以例如三角形、矩形、三角形扇、三角形带等的绘制图元的列表的形式被提供到GPU 12。图元定义可包含指定与待呈现的图元相关联的一或多个顶点的顶点规格。所述顶点规格可包含每个顶点的位置坐标,且在一些情况下包含与顶点相关联的其它属性,例如色彩属性、法向量和纹理坐标。图元定义还可包含图元类型信息(例如,三角形、矩形、三角形扇、三角形带等)、缩放信息、旋转信息及类似者。
基于由软件应用程序18向GPU驱动程序22发出的指令,GPU驱动程序22可调配指定供GPU 12执行的一或多个运算以便渲染图元的一或多个命令。当GPU 12接收到来自CPU 6的命令时,GPU 12可通过执行图形处理管线,以便对命令进行解码,并对图形处理管线进行配置以执行命令中所制定的渲染操作。此外,在执行渲染操作过程中,可以通过CPU 6调用GPU驱动程序22以对显存16的存储空间进行申请、数据拷贝以及释放等操作。
结合前述图1和图2,在一些对GPU 12进行软硬件的功能验证过程示例中,软件应用程序18也可以是通过运行大型三维游戏或者播放连续三维动画的方式进行测试的测试程序,基于测试程序经由图形API 20调用GPU驱动程序22或者向GPU驱动程序22发出的指令,GPU驱动程序22基于调用或指令能够指示GPU 12执行测试程序所期望GPU 12执行的操作。基于上述具体阐述,本发明实施例期望提供一种用于GPU功能验证的目标帧数据获取方案,能够降低GPU功能验证的数据处理量,提高GPU功能验证的执行效率。基于此,参见图3,其示出了本发明实施例提供的一种用于GPU功能验证的目标帧数据获取方法,该方法可以包括:
S301:抓取从邻近图像帧至目标图像帧的用于对所述目标图像帧进行异常分析的调试内容;
其中,所述目标图像帧为GPU功能验证过程中出现异常情况的图像帧,所述邻近图像帧处于所述目标图像帧之前且与所述目标图像帧满足设定邻近度;
S302:存储所述目标图像帧的图像数据以及描述数据;
S303:在所述目标图像帧的画面中选取目标区域;其中,所述目标图像帧的画面基于所述目标图像帧的图像数据以显示;
S304:从已抓取的调试内容以及已存储的所述目标图像帧的描述数据中读取所述目标区域对应的调试内容以及描述数据;
S305:将所述目标区域对应的描述数据以及调试内容反馈至CPU以确定所述异常情况的起源信息。
基于图1所示的技术方案,通过可视化的方式呈现目标图像帧,以便于对该目标图像帧出现错误或异常的部分进行截取从而得到目标区域,降低了定位异常情况所需的时间,提高了异常情况的分析效率。此外,通过选取目标区域以读取对应的调试内容以及描述数据,避免了在GPU功能验证过程中进行异常情况定位时冗余数据的干扰,降低了定位异常情况所需的数据处理量。
针对图3所示的技术方案,在一些示例中,所述抓取从邻近图像帧至目标图像帧的用于对所述目标图像帧进行异常分析的调试内容,包括:
在GPU的物理存储区域中设置逻辑存储区及为所述逻辑存储区预留的寄存器接口;
当用于GPU功能验证的测试程序绘制至所述邻近图像帧时,通过GPU驱动程序开启所述预留的寄存器接口以抓取由所述邻近图像帧至所述目标图像帧之间的调试内容,并将抓取到的调试内容存储于所述逻辑存储区。
对于上述示例,结合前述图1以及图2,在具体实施过程中,GPU的物理存储区域可以包括前述图1以及图2中所示的显存16以及图形存储器40,可以理解地,GPU 12中执行图形渲染、图像绘制以及并行计算的渲染核阵列41能够对这两个存储区域进行数据或信息的读取和写入。基于此,可以在这两个存储区域中的至少一个开辟一逻辑存储区,该逻辑存储区能够存储通过抓取获得的调试内容;此外,相应于所述逻辑存储区还可以预留寄存器接口,通过测试程序中的硬件配置指令调用GPU驱动程序22开启或关闭该预留的寄存器接口。详细来说,当测试程序运行大型三维游戏或者播放连续三维动画的过程中,可以对图像帧进行编号;在测试程序第一次运行时,可以获取出现异常情况的目标图像帧编号,设定第N帧出现异常情况,被认为是目标图像帧,接着设定邻近度为3,也就是邻近图像帧为第N-3帧图像帧;当测试程序绘制至第N-3帧图像帧时,可以通过触发硬件配置指令调用GPU驱动程序22以开启所述预留的寄存器接口,从而在渲染核阵列41运行过程中通过抓取数据流信息的形式抓取由所述邻近图像帧至所述目标图像帧之间的调试内容,并将抓取到的调试内容存储于所述逻辑存储区。在一些示例中,调试内容可以包括异常分析所需的数据、状态信息和流水线中转化点的顶点和像素信息;具体可以包括但不限于:图形模型顶点位置,顶点法向量,顶点纹理坐标,顶点光照因子,光栅化的颜色信息,深度信息,模板信息,混合纹理层级,纹理片元和存储、精度等信息;本发明实施例对此不做赘述。基于上述内容,在硬件方面,从GPU的物理存储区域内设置逻辑存储区能够较为容易地被实现,而且逻辑存储区仅需要存储图像绘制过程中调试内容,比如上下文状态数据和单帧图像即可,所需的物理存储区域并不大;并且逻辑存储区可以通过软件设置,需要使用时开启该区域,不需要时进行关闭,不仅方便快捷,而且相比于常规方案中的算法仿真,能够更加高效精准地定位引发异常情况的问题。
针对图3所示的技术方案,在一些示例中,所述存储所述目标图像帧的图像数据以及描述数据,包括:
当用于GPU功能验证的测试程序绘制完成所述目标图像帧时,终止所述测试程序的运行,并关闭所述预留的寄存器接口;
从帧缓存中读取所述目标图像帧的图像数据和所述目标图像帧的状态信息与配置信息;
将读取到的所述目标图像帧的图像数据和所述目标图像帧的状态信息与配置信息存储于所述逻辑存储区。
沿用上例,具体来说,当测试程序运行至第N帧图像帧时,可以从帧缓存framebuffer中读取该帧的画面保存至逻辑存储区,并且可以保存该帧的全部状态和配置信息,同时中止测试程序的运行,将从预留的寄存器接口获取到的调试内容保存至逻辑存储区。以供后续过程使用。
此外,由于逻辑存储区是从前述GPU的物理存储区域中开辟获得,并且通过预留的寄存器接口进行调用和数据传输,因此,当所述预留的寄存器接口处于关闭状态时,所述逻辑存储区所对应的物理存储区域被复用为所述GPU的物理存储区域的默认功能。并且预留的寄存器接口默认为关闭状态,仅在GPU功能验证过程中发现异常情况时,通过测试程序触发硬件配置指令调用GPU驱动程序22以开启。从而实现了物理存储区域的复用,提高内存复用率,避免硬件资源浪费。
针对图3所示的技术方案,在一些示例中,所述在所述目标图像帧的画面中选取目标区域,包括:
将所述目标图像帧的图像数据显示为所述目标图像帧的画面;
接收在所述目标图像帧的画面的选取指令;其中,所述选取指令用于在所述目标图像帧的画面中选择所述目标区域;
通过执行所述选取指令在所述目标图像帧的画面中选取所述目标区域。
基于上述示例,优选来说,所述从已抓取的调试内容以及已存储的所述目标图像帧的描述数据中读取所述目标区域对应的调试内容以及描述数据,包括:
将所述目标区域在所述目标图像帧的画面中的第一坐标转化至所述目标区域在存储于所述帧缓存中的所述目标图像帧的图像数据的第二坐标;
根据所述第二坐标从所述已存储的所述目标图像帧的描述数据中读取所述目标区域对应的描述数据;
根据所述第二坐标从所述已抓取的调试内容中读取所述目标区域对应的调试内容。
沿用上例,具体来说,首先可以从逻辑存储区内读取目标图像帧的图像数据到指定存储,比如系统内存10,从而使得CPU 6能够将系统内存10内的目标图像帧的图像数据输出至显示器8的像素照亮以显示所述目标图像帧的画面;接着,研发人员可以观察显示所述目标图像帧的画面以明确目标图像帧出现异常情况的区域,也就是目标区域;随后,可以利用耦合至计算装置2的输入装置,比如鼠标框选显示画面中的目标区域,基于接收到的框选指令,计算目标区域在显示画面中的坐标,并将显示画面坐标转换成framebuffer中的屏幕坐标;然后,可以根据目标区域对应的framebuffer中的屏幕坐标从前述已存储至逻辑存储区内的数据及信息中提取目标区域对应的描述数据以及调试内容;比如顶点数据、颜色颜色、状态数据、纹理数据等信息。可以理解地,通过显示目标图像帧画面,通过可视化的呈现方式使用框选截取异常的目标区域内的数据,可避免冗余数据干扰,有效提高定位问题的时间成本,使得后续仅需要针对目标区域数据进行分析,有效提高分析效率,减少问题定位所需时间。
对于图3所示的技术方案,在一些示例中,所述将所述目标区域对应的描述数据以及调试内容反馈至CPU以确定所述异常情况的起源信息,包括:
所述将所述目标区域对应的描述数据以及调试内容通过GPU驱动程序的传输接口返回至CPU,以使得CPU根据所述目标区域对应的描述数据以及调试内容判断所述异常情况的发生原因和出现所述异常情况的起始帧。
沿用上例,具体来说,在获取到目标区域对应的描述数据以及调试内容之后,可以通过驱动接口返回给CPU 6,以使得CPU 6根据反馈的信息,定位获得出现问题或异常的像素块,并通过与像素块相关的顶点和颜色等信息,结合获取的调试内容中关于流水线状态信息和第N帧图像帧的前两帧图像帧的输出信息,判断问题发生的原因和问题发生的起始帧。如此,仅需要截取关键帧的关键部位进行分析,避免数据冗余。
结合以上阐述的技术方案内容,本发明实施例还提供了一种示例性的GPU功能验证的具体实施流程,该流程可以应用于图1或图2所示的计算装置2中,参见图4,可以包括:
S401:CPU 6通过运行测试程序向GPU 12下发待渲染或待绘制的图形数据;如果GPU 12功能验证正常,则可参见图4左方虚线框所含流程,包括步骤S402至S404;如果GPU12功能验证出现异常情况,则可参见图4右方点划线框所含流程,包括步骤S412至S41X。
如图4左方部分所示,S402:GPU 12接收待渲染或待绘制的图形数据并执行渲染或绘制操作,生成图像数据并存储至系统内存10;S403:CPU 6将图像数据从系统内存10输出至显示器8以显示绘制所得到的图像;S404:图像绘制完毕则GPU的功能验证过程结束,从而能够得出GPU绘制正确无异常的测试结论。
如图4右方部分所示,当出现绘制错误时,S412:GPU 12开启预留的寄存器接口;S413:GPU 12抓取由邻近图像帧至目标图像帧之间的调试内容,并将抓取到的调试内容存储于逻辑存储区;S414:GPU 12绘制至目标图像帧时,将目标图像帧的图像数据和状态信息与配置信息存储于逻辑存储区;S415:CPU 6显示目标图像帧的图像数据;S416:CPU 6通过接收选取指令选择显示画面中异常的目标区域;S417:GPU 12在逻辑存储区内,读取目标区域对应的调试内容、状态信息与配置信息并反馈至CPU 6;S418:CPU 6根据反馈的信息判断异常情况的发生原因和出现所述异常情况的起始帧,并在完成异常情况处理之后,返回至S401执行下一轮验证。
基于前述技术方案相同的发明构思,参见图5,其示出了本发明实施例提供的一种用于GPU功能验证的目标帧数据获取装置50,所述装置50包括:抓取部分501、存储部分502、选取部分503、读取部分504和反馈部分505;其中,
所述抓取部分501,经配置为抓取从邻近图像帧至目标图像帧的用于对所述目标图像帧进行异常分析的调试内容;其中,所述目标图像帧为GPU功能验证过程中出现异常情况的图像帧,所述邻近图像帧处于所述目标图像帧之前且与所述目标图像帧满足设定邻近度;
所述存储部分502,经配置为存储所述目标图像帧的图像数据以及描述数据;
所述选取部分503,经配置为在所述目标图像帧的画面中选取目标区域;其中,所述目标图像帧的画面基于所述目标图像帧的图像数据以显示;
所述读取部分504,经配置为从已抓取的调试内容以及已存储的所述目标图像帧的描述数据中读取所述目标区域对应的调试内容以及描述数据;
所述反馈部分505,经配置为将所述目标区域对应的描述数据以及调试内容反馈至CPU以确定所述异常情况的起源信息。
在上述方案中,所述抓取部分501,经配置为:
在GPU的物理存储区域中设置逻辑存储区及为所述逻辑存储区预留的寄存器接口;
当用于GPU功能验证的测试程序绘制至所述邻近图像帧时,通过GPU驱动程序开启所述预留的寄存器接口以抓取由所述邻近图像帧至所述目标图像帧之间的调试内容,并将抓取到的调试内容存储于所述逻辑存储区。
在上述方案中,所述调试内容包括:异常分析所需的数据、状态信息和流水线中转化点的顶点和像素信息。
在上述方案中,所述存储部分502,经配置为:
当用于GPU功能验证的测试程序绘制完成所述目标图像帧时,终止所述测试程序的运行,并关闭所述预留的寄存器接口;
从帧缓存中读取所述目标图像帧的图像数据和所述目标图像帧的状态信息与配置信息;
将读取到的所述目标图像帧的图像数据和所述目标图像帧的状态信息与配置信息存储于所述逻辑存储区。
在上述方案中,当所述预留的寄存器接口处于关闭状态时,所述逻辑存储区所对应的物理存储区域被复用为所述GPU的物理存储区域的默认功能。
在上述方案中,所述选取部分503,经配置为:
将所述目标图像帧的图像数据显示为所述目标图像帧的画面;
接收在所述目标图像帧的画面的选取指令;其中,所述选取指令用于在所述目标图像帧的画面中选择所述目标区域;
通过执行所述选取指令在所述目标图像帧的画面中选取所述目标区域。
在上述方案中,所述读取部分504,经配置为:
将所述目标区域在所述目标图像帧的画面中的第一坐标转化至所述目标区域在存储于所述帧缓存中的所述目标图像帧的图像数据的第二坐标;
根据所述第二坐标从所述已存储的所述目标图像帧的描述数据中读取所述目标区域对应的描述数据;
根据所述第二坐标从所述已抓取的调试内容中读取所述目标区域对应的调试内容。
在上述方案中,所述反馈部分505,经配置为:
所述将所述目标区域对应的描述数据以及调试内容通过GPU驱动程序的传输接口返回至CPU,以使得CPU根据所述目标区域对应的描述数据以及调试内容判断所述异常情况的发生原因和出现所述异常情况的起始帧。
上述为本实施例的一种用于GPU功能验证的目标帧数据获取装置50的示意性方案。需要说明的是,该用于GPU功能验证的目标帧数据获取装置50的技术方案与上述的用于GPU功能验证的目标帧数据获取方法的技术方案属于同一构思,该装置50的技术方案中关于各部分未详细描述的细节内容,均可以参见上述用于GPU功能验证的目标帧数据获取方法的技术方案中与各部分所配置功能相对应的步骤描述,本发明实施例对此不做赘述。
可以理解地,在本实施例中,“部分”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是单元,还可以是模块也可以是非模块化的。
另外,在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,本实施例提供了一种计算机存储介质,所述计算机存储介质存储有用于GPU功能验证的目标帧数据获取程序,所述用于GPU功能验证的目标帧数据获取程序被至少一个处理器执行时实现上述技术方案中所述用于GPU功能验证的目标帧数据获取方法步骤。
需要说明的是:本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种用于GPU功能验证的目标帧数据获取方法,其特征在于,所述方法包括:
抓取从邻近图像帧至目标图像帧的用于对所述目标图像帧进行异常分析的调试内容;其中,所述目标图像帧为GPU功能验证过程中出现异常情况的图像帧,所述邻近图像帧处于所述目标图像帧之前且与所述目标图像帧满足设定邻近度;
存储所述目标图像帧的图像数据以及描述数据;
在所述目标图像帧的画面中选取目标区域;其中,所述目标图像帧的画面基于所述目标图像帧的图像数据以显示;
从已抓取的调试内容以及已存储的所述目标图像帧的描述数据中读取所述目标区域对应的调试内容以及描述数据;
将所述目标区域对应的描述数据以及调试内容反馈至CPU以确定所述异常情况的起源信息。
2.根据权利要求1所述的方法,其特征在于,所述抓取从邻近图像帧至目标图像帧的用于对所述目标图像帧进行异常分析的调试内容,包括:
在GPU的物理存储区域中设置逻辑存储区及为所述逻辑存储区预留的寄存器接口;
当用于GPU功能验证的测试程序绘制至所述邻近图像帧时,通过GPU驱动程序开启所述预留的寄存器接口以抓取由所述邻近图像帧至所述目标图像帧之间的调试内容,并将抓取到的调试内容存储于所述逻辑存储区。
3.根据权利要求1所述的方法,其特征在于,所述调试内容包括:异常分析所需的数据、状态信息和流水线中转化点的顶点和像素信息。
4.根据权利要求2所述的方法,其特征在于,所述存储所述目标图像帧的图像数据以及描述数据,包括:
当用于GPU功能验证的测试程序绘制完成所述目标图像帧时,终止所述测试程序的运行,并关闭所述预留的寄存器接口;
从帧缓存中读取所述目标图像帧的图像数据和所述目标图像帧的状态信息与配置信息;
将读取到的所述目标图像帧的图像数据和所述目标图像帧的状态信息与配置信息存储于所述逻辑存储区。
5.根据权利要求4所述的方法,其特征在于,当所述预留的寄存器接口处于关闭状态时,所述逻辑存储区所对应的物理存储区域被复用为所述GPU的物理存储区域的默认功能。
6.根据权利要求4所述的方法,其特征在于,所述在所述目标图像帧的画面中选取目标区域,包括:
将所述目标图像帧的图像数据显示为所述目标图像帧的画面;
接收在所述目标图像帧的画面的选取指令;其中,所述选取指令用于在所述目标图像帧的画面中选择所述目标区域;
通过执行所述选取指令在所述目标图像帧的画面中选取所述目标区域。
7.根据权利要求6所述的方法,其特征在于,所述从已抓取的调试内容以及已存储的所述目标图像帧的描述数据中读取所述目标区域对应的调试内容以及描述数据,包括:
将所述目标区域在所述目标图像帧的画面中的第一坐标转化至所述目标区域在存储于所述帧缓存中的所述目标图像帧的图像数据的第二坐标;
根据所述第二坐标从所述已存储的所述目标图像帧的描述数据中读取所述目标区域对应的描述数据;
根据所述第二坐标从所述已抓取的调试内容中读取所述目标区域对应的调试内容。
8.根据权利要求1所述的方法,其特征在于,所述将所述目标区域对应的描述数据以及调试内容反馈至CPU以确定所述异常情况的起源信息,包括:
所述将所述目标区域对应的描述数据以及调试内容通过GPU驱动程序的传输接口返回至CPU,以使得CPU根据所述目标区域对应的描述数据以及调试内容判断所述异常情况的发生原因和出现所述异常情况的起始帧。
9.一种用于GPU功能验证的目标帧数据获取装置,其特征在于,所述装置包括:抓取部分、存储部分、选取部分、读取部分和反馈部分;其中,
所述抓取部分,经配置为抓取从邻近图像帧至目标图像帧的用于对所述目标图像帧进行异常分析的调试内容;其中,所述目标图像帧为GPU功能验证过程中出现异常情况的图像帧,所述邻近图像帧处于所述目标图像帧之前且与所述目标图像帧满足设定邻近度;
所述存储部分,经配置为存储所述目标图像帧的图像数据以及描述数据;
所述选取部分,经配置为在所述目标图像帧的画面中选取目标区域;其中,所述目标图像帧的画面基于所述目标图像帧的图像数据以显示;
所述读取部分,经配置为从已抓取的调试内容以及已存储的所述目标图像帧的描述数据中读取所述目标区域对应的调试内容以及描述数据;
所述反馈部分,经配置为将所述目标区域对应的描述数据以及调试内容反馈至CPU以确定所述异常情况的起源信息。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有用于GPU功能验证的目标帧数据获取程序,所述用于GPU功能验证的目标帧数据获取程序被至少一个处理器执行时实现权利要求1至8中任一项所述用于GPU功能验证的目标帧数据获取方法步骤。
CN202110036443.6A 2021-01-12 2021-01-12 用于gpu功能验证的目标帧数据获取方法、装置及存储介质 Active CN112686797B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110036443.6A CN112686797B (zh) 2021-01-12 2021-01-12 用于gpu功能验证的目标帧数据获取方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110036443.6A CN112686797B (zh) 2021-01-12 2021-01-12 用于gpu功能验证的目标帧数据获取方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN112686797A true CN112686797A (zh) 2021-04-20
CN112686797B CN112686797B (zh) 2024-07-26

Family

ID=75457582

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110036443.6A Active CN112686797B (zh) 2021-01-12 2021-01-12 用于gpu功能验证的目标帧数据获取方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN112686797B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114255155A (zh) * 2022-02-24 2022-03-29 荣耀终端有限公司 一种图形处理器测试方法和电子设备
CN114461522A (zh) * 2022-01-21 2022-05-10 中国船舶重工集团公司第七0九研究所 一种基于bmp文件的gpu绘制功能测试方法
CN115379296A (zh) * 2022-08-17 2022-11-22 在线途游(北京)科技有限公司 一种基于帧同步的数据校验方法和装置
CN115511886A (zh) * 2022-11-17 2022-12-23 烟台芯瞳半导体科技有限公司 利用gpu实现远程目标统计的方法、装置及存储介质
CN116485628A (zh) * 2023-06-15 2023-07-25 摩尔线程智能科技(北京)有限责任公司 图像显示方法、装置及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9836354B1 (en) * 2014-04-28 2017-12-05 Amazon Technologies, Inc. Automated error detection and recovery for GPU computations in a service environment
CN109599135A (zh) * 2018-11-14 2019-04-09 西安翔腾微电子科技有限公司 Gpu帧缓冲区的tlm模型、存储方法、存储系统和存储介质
CN110209501A (zh) * 2019-06-03 2019-09-06 Oppo广东移动通信有限公司 图形处理器的频率调整方法、装置、终端及存储介质
CN111078514A (zh) * 2019-11-18 2020-04-28 中国航空工业集团公司西安航空计算技术研究所 一种gpu存储系统验证方法
CN111324521A (zh) * 2018-12-13 2020-06-23 华为技术有限公司 一种图形界面性能测试方法及测试设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9836354B1 (en) * 2014-04-28 2017-12-05 Amazon Technologies, Inc. Automated error detection and recovery for GPU computations in a service environment
CN109599135A (zh) * 2018-11-14 2019-04-09 西安翔腾微电子科技有限公司 Gpu帧缓冲区的tlm模型、存储方法、存储系统和存储介质
CN111324521A (zh) * 2018-12-13 2020-06-23 华为技术有限公司 一种图形界面性能测试方法及测试设备
CN110209501A (zh) * 2019-06-03 2019-09-06 Oppo广东移动通信有限公司 图形处理器的频率调整方法、装置、终端及存储介质
CN111078514A (zh) * 2019-11-18 2020-04-28 中国航空工业集团公司西安航空计算技术研究所 一种gpu存储系统验证方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘怡光: "一种基于GPU的快速半全局优化深度图计算方法", 《工程科学与技术》, vol. 49, no. 6, 15 November 2017 (2017-11-15), pages 114 - 121 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114461522A (zh) * 2022-01-21 2022-05-10 中国船舶重工集团公司第七0九研究所 一种基于bmp文件的gpu绘制功能测试方法
CN114255155A (zh) * 2022-02-24 2022-03-29 荣耀终端有限公司 一种图形处理器测试方法和电子设备
CN115379296A (zh) * 2022-08-17 2022-11-22 在线途游(北京)科技有限公司 一种基于帧同步的数据校验方法和装置
CN115379296B (zh) * 2022-08-17 2024-03-19 在线途游(北京)科技有限公司 一种基于帧同步的数据校验方法和装置
CN115511886A (zh) * 2022-11-17 2022-12-23 烟台芯瞳半导体科技有限公司 利用gpu实现远程目标统计的方法、装置及存储介质
CN115511886B (zh) * 2022-11-17 2023-04-28 烟台芯瞳半导体科技有限公司 利用gpu实现远程目标统计的方法、装置及存储介质
CN116485628A (zh) * 2023-06-15 2023-07-25 摩尔线程智能科技(北京)有限责任公司 图像显示方法、装置及系统
CN116485628B (zh) * 2023-06-15 2023-12-29 摩尔线程智能科技(北京)有限责任公司 图像显示方法、装置及系统

Also Published As

Publication number Publication date
CN112686797B (zh) 2024-07-26

Similar Documents

Publication Publication Date Title
CN112686797B (zh) 用于gpu功能验证的目标帧数据获取方法、装置及存储介质
KR102475212B1 (ko) 타일식 아키텍처들에서의 포비티드 렌더링
US10986330B2 (en) Method and system for 360 degree head-mounted display monitoring between software program modules using video or image texture sharing
US10164459B2 (en) Selective rasterization
US8581916B2 (en) Graphics analysis techniques
CN111737019B (zh) 一种显存资源的调度方法、装置及计算机存储介质
JP5166552B2 (ja) グラフィックス処理システムにおけるオフスクリーンサーフェスのためのマルチバッファサポート
CN108027955B (zh) 经带宽压缩的图形数据的存储技术
CN108027956B (zh) 后期深度测试与保守深度测试之间的动态切换
US20160292812A1 (en) Hybrid 2d/3d graphics rendering
CN114972607B (zh) 加速图像显示的数据传输方法、装置及介质
CN115408227B (zh) 一种基于自研显卡的gpu状态调试方法、装置及存储介质
JP2018512644A (ja) 低品質タイルを使用してメモリ帯域幅を減らすためのシステムおよび方法
CN116185743B (zh) OpenGL接口的双显卡对比调试方法、装置及介质
US10825129B2 (en) Eliminating off screen passes using memoryless render target
CN113393585B (zh) 一种渲染问题定位方法、装置、定位设备及存储介质
CN113342703A (zh) 一种渲染效果实时调试方法、装置、开发设备及存储介质
CN113256764A (zh) 一种光栅化装置、方法及计算机存储介质
TW201926239A (zh) 以微磚為基礎之低解析度深度儲存
CN112991143A (zh) 一种图元装配的方法、装置及计算机存储介质
US8624907B2 (en) Graphics analysis techniques
CN112184538B (zh) 图像加速方法、相关装置、设备及存储介质
US10373286B2 (en) Method and apparatus for performing tile-based rendering
CN113467959A (zh) 应用于gpu的确定任务复杂度的方法、装置及介质
CN116909511A (zh) 提升gpu双缓冲显示效率的方法、装置及存储介质

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
CB02 Change of applicant information

Country or region after: China

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

Applicant 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

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

Country or region before: China

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant