一种GPU分块渲染的性能分析方法及系统技术方案

技术编号:39316056 阅读:9 留言:0更新日期:2023-11-12 15:59
本发明专利技术公开一种GPU分块渲染的性能分析方法及系统,方法包括:对GPU性能参数数据进行预处理,以得到tile分配数据、tile任务计数数据、指令数据和时间数据;将tile分配数据与tile任务计数数据显示在绘图区的tile参数区,将指令数据显示在绘图区的指令轴区域,将时间数据显示在绘图区的时间轴区域;通过操作控件区或绘图区来对绘图区显示的tile分配数据、tile任务计数数据、指令数据和时间数据的内容进行控制,以进行性能分析。本发明专利技术可以协助GPU架构研发人员以tile为单位开展性能分析工作。发人员以tile为单位开展性能分析工作。发人员以tile为单位开展性能分析工作。

【技术实现步骤摘要】
一种GPU分块渲染的性能分析方法及系统


[0001]本专利技术属于图形处理器
,更具体地,涉及一种GPU分块渲染的性能分析方法及系统。

技术介绍

[0002]光栅化是计算机执行3D渲染过程中十分重要的一环。光栅化是指将3维模型(通常是一系列点、线和多边形)基于其在3维空间中与观察者的相对位置,变换到屏幕坐标并确定,以此来确定每个像素的颜色的过程。目前,市面上主流的图形渲染的图形处理单元(Graphics Processing Unit,简写为:GPU)基于其光栅化方式的不同,可以分为分块渲染(Tile Based Rendering,简写为:TBR)和立即渲染(Immediate Mode Rendering,简写为:IMR)两类。分块渲染的光栅化方式,顾名思义,就是将屏幕分成若干较小的块(tile),以块为基本单位执行光栅化,并将渲染结果存入帧缓存(frame buffer)内。而立即渲染则是对整个屏幕进行光栅化。分块渲染由于其处理的基本单元是tile,所以可以将执行单元、片上缓存、各级缓存(cache)都做得相对较小,从而降低芯片的面积和功耗。所以分块渲染GPU通常用于移动端设备。
[0003]目前针对分块渲染GPU的性能分析软件主要是以帧或单次基本渲染(draw call)为单位去分析的,对于单个tile在GPU内的生命周期和处理流程并没有过多关注。
[0004]鉴于此,如何克服上述现有技术所存在的技术问题是本
亟待解决的难题。

技术实现思路

[0005]本专利技术的目的之一在于克服上述现有技术中存在的技术问题,提出一种GPU分块渲染的性能分析方法及系统,协助GPU架构研发人员以tile为单位开展性能分析工作。本专利技术旨在解决GPU架构研发人员缺少有效的针对tile处理过程的性能分析方法的问题。本专利技术方法所形成的系统是基于Python和Python上一个开源的包PyQtGraph所编写的,系统能够对接GPU性能分析参数,分析并展示tile相关的性能参数,对tile展开性能分析。该方法和系统可以作为开展GPU性能分析的必要的工具,为tile分析和整体性能分析提供有效的支持。
[0006]为实现上述目的,按照本专利技术的第一方面,提供了一种GPU分块渲染的性能分析方法,包括:对GPU性能参数数据进行预处理,以得到块分配数据、块任务计数数据、指令数据和时间数据;将块分配数据与块任务计数数据显示在绘图区的块参数区,将指令数据显示在绘图区的指令轴区域,将时间数据显示在绘图区的时间轴区域;通过操作控件区或绘图区来对绘图区显示的块分配数据、块任务计数数据、指令数据和时间数据的内容进行控制,以进行性能分析;其中,通过对控件区的打开数据选项、
选择数据组选项、选择参数选项进行操作来控制绘图区所显示的块分配数据、块任务计数数据、指令数据和时间数据的内容;或通过在绘图区捕捉各类鼠标事件并对其进行响应,来显示块分配数据、块任务计数数据、指令数据和时间数据的不同参数和图形。
[0007]进一步的,所述块分配数据包括块被分配到执行单元的数据,所述GPU性能参数数据中包含了块和执行单元的对应关系,通过解析该对应关系,以获取块分配数据。
[0008]进一步的,所述块任务计数数据包括块上所执行的任务数量和指令数量的数据,所述GPU性能参数数据中包含了每个块上图元的数量,任务和块的对应关系,以及每个任务中包含的指令类型和数量,通过提取图元的数量和解析任务和块的对应关系,并加以统计,以得到块任务计数数据。
[0009]进一步的,所述指令数据包括块在不同时刻所执行的指令情况的数据,所述GPU性能参数数据中包含了指令和块的对应关系,以及每个指令开始执行的时刻数据,通过解析指令和块的对应关系,以及提取指令开始执行的时刻,以获知块在任一时刻正在执行什么指令,也即得到指令数据。
[0010]进一步的,所述时间数据包括光栅化过程中阶段分界的数据,所述GPU性能参数数据中包含了块进入不同模块处理的时刻数据,该时刻数据作为块在光栅化过程中各个阶段的分界线,将其提取出来作为时间数据。
[0011]进一步的,所述将块分配数据与块任务计数数据显示在绘图区的块参数区具体包括:将块分配数据和块任务计数数据以热力图的方式显示到绘图区的块参数区;块参数区中的每个色块代表不同的块,通过控件区的选择参数按钮来选择需要显示的具体内容;选择块分配数据时,色块内的数据代表块对应的执行单元id,颜色用于区分不同的执行单元;选择块任务计数数据中的图元数据时,色块的数据显示的是块处理的图元数量,颜色表示图元数量大小的相对程度;选择块任务计数数据中的FOP指令数据时,色块的数据显示的是块执行的FOP指令的数量,颜色表示FOP指令数量大小的相对程度。
[0012]进一步的,所述将指令数据显示在绘图区的指令轴区域具体包括:将指令数据以时间为横轴,不同颜色色块代表不同指令,显示在块参数区下方,即构成了指令轴区域;指令轴区域用于展示指定的块的整个生命周期内所执行的所有指令,以及所有指令的顺序、执行时长、起始时间和依赖关系。
[0013]进一步的,所述将时间数据显示在绘图区的时间轴区域具体包括:时间轴区域用于显示指定的块各个阶段的起始时刻和时长;通过统计所有块的时间数据,以得到任一时刻已完成光栅化的块的数量,将该数量以折线图的方式显示在时间轴区域上,以清晰地展现GPU以块为单位执行光栅化的速率。
[0014]进一步的,所述通过对控件区的打开数据选项、选择数据组选项、选择参数选项进行操作来控制绘图区所显示的块分配数据、块任务计数数据、指令数据和时间数据的内容时,其中,打开数据选项支持用户选择所需要分析的数据文件,数据文件内包含多组可分析的数据;选择数据组选项支持用户选择该数据文件内所需要分析的具体的某一组数据;选
择参数选项支持用户选择需要分析的具体的块参数;或所述通过在绘图区捕捉各类鼠标事件并对其进行响应,来显示块分配数据、块任务计数数据、指令数据和时间数据的不同参数和图形时,其中,在块参数区,通过鼠标点击来选中特定的块,选中任一块之后,鼠标所在位置会显示该选中的块的各项参数;在指令轴区域,通过鼠标左键拖拽和鼠标滚轮来调节指令轴上显示的指令队列范围;在时间轴区域,通过鼠标左键点击或拖拽时刻游标来指定时刻。
[0015]第二方面,本专利技术提供一种GPU分块渲染的性能分析系统,应用如第一方面所述的GPU分块渲染的性能分析方法,系统包括:预处理模块、控件区与绘图区,其中:所述预处理模块用于对GPU性能参数数据进行预处理,以得到块分配数据、块任务计数数据、指令数据和时间数据;所述绘图区包括块参数区、指令轴区域和时间轴区域,所述块参数区用于显示块分配数据和块任务计数数据,所述指令轴区域用于显示指令数据,所述时间轴区域用于显示时间数据;所述控件区包括打开数据选项、选择数据组选项、选择参数选项,用于对所述绘图区的显示内容进行控制。
[0016]总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,具有如下有益效果:本发本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种GPU分块渲染的性能分析方法,其特征在于,包括:对GPU性能参数数据进行预处理,以得到块分配数据、块任务计数数据、指令数据和时间数据;将块分配数据与块任务计数数据显示在绘图区的块参数区,将指令数据显示在绘图区的指令轴区域,将时间数据显示在绘图区的时间轴区域;通过操作控件区或绘图区来对绘图区显示的块分配数据、块任务计数数据、指令数据和时间数据的内容进行控制,以进行性能分析;其中,通过对控件区的打开数据选项、选择数据组选项、选择参数选项进行操作来控制绘图区所显示的块分配数据、块任务计数数据、指令数据和时间数据的内容;或通过在绘图区捕捉各类鼠标事件并对其进行响应,来显示块分配数据、块任务计数数据、指令数据和时间数据的不同参数和图形。2.根据权利要求1所述的GPU分块渲染的性能分析方法,其特征在于,所述块分配数据包括块被分配到执行单元的数据,所述GPU性能参数数据中包含了块和执行单元的对应关系,通过解析该对应关系,以获取块分配数据。3.根据权利要求2所述的GPU分块渲染的性能分析方法,其特征在于,所述块任务计数数据包括块上所执行的任务数量和指令数量的数据,所述GPU性能参数数据中包含了每个块上图元的数量,任务和块的对应关系,以及每个任务中包含的指令类型和数量,通过提取图元的数量和解析任务和块的对应关系,并加以统计,以得到块任务计数数据。4.根据权利要求1所述的GPU分块渲染的性能分析方法,其特征在于,所述指令数据包括块在不同时刻所执行的指令情况的数据,所述GPU性能参数数据中包含了指令和块的对应关系,以及每个指令开始执行的时刻数据,通过解析指令和块的对应关系,以及提取指令开始执行的时刻,以获知块在任一时刻正在执行的指令,得到指令数据。5.根据权利要求1所述的GPU分块渲染的性能分析方法,其特征在于,所述时间数据包括光栅化过程中阶段分界的数据,所述GPU性能参数数据中包含了块进入不同模块处理的时刻数据,该时刻数据作为块在光栅化过程中各个阶段的分界线,将其提取出来作为时间数据。6.根据权利要求3所述的GPU分块渲染的性能分析方法,其特征在于,所述将块分配数据与块任务计数数据显示在绘图区的块参数区包括:将块分配数据和块任务计数数据以热力图的方式显示到绘图区的块参数区;块参数区中的每个色块代表不同的块,通过控件区的选择参数按钮来选择需要显示的具体内容;选择块分配数据时,色块内的数据代表块对应的执行单元id,颜色用于区分不同的执行单元;选择块任务计数数据...

【专利技术属性】
技术研发人员:毛守迪冯雨华凤杨文富黄慧胜
申请(专利权)人:芯动微电子科技武汉有限公司
类型:发明
国别省市:

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

1