用于运行高性能GPU应用的方法、装置及计算机存储介质制造方法及图纸

技术编号:26600851 阅读:35 留言:0更新日期:2020-12-04 21:24
本发明专利技术实施例属于GPU技术领域,公开了用于运行高性能GPU应用的方法、装置及计算机存储介质;该方法可以包括:基于高端GPU应用程序的渲染复杂度为待渲染帧划分至少一个宏分块;建立宏分块与GPU阵列中各GPU之间的映射关系;将所述待渲染帧的渲染任务划分为各宏分块对应的渲染子任务;根据所述映射关系将各宏分块对应的渲染子任务分配至各宏分块所映射的GPU以执行。通过上述方法能够将高端GPU应用部署至低端GPU执行,以实现通过低端GPU运行高端GPU应用的效果。

【技术实现步骤摘要】
用于运行高性能GPU应用的方法、装置及计算机存储介质
本专利技术实施例涉及图像处理器(GPU,GraphicsProcessingUnit)
,尤其涉及用于运行高性能GPU应用的方法、装置及计算机存储介质。
技术介绍
随着GPU通用技术的发展,GPU所能适用的应用场景愈加丰富,通常可以将GPU应用程序依照其所适用的GPU的性能,划分为适用于低端GPU运行的低端GPU应用、适用于中、高端GPU运行的中、高端GPU应用。目前来说,依照GPU的每秒浮点运算次数(FLOPS,FLoating-pointOperationPerSecond)性能指标将GPU划分为低端GPU(低于192GFLOPS的GPU)、中端GPU(192G至1024GFLOPS的GPU)以及高端GPU(高于1024GFLOPS的GPU),可以理解地,高、中、低端GPU是相对而言的,上述指标阈值随着GPU的发展也会随之进行更新,本专利技术实施例不做具体限定。通常来说,高端GPU应用是指对性能需求较高的图形应用程序,这类应用程序对渲染需求非常高,例如最典型的应用是3A(Alotofmoney、Alotofresources以及Alotoftime)游戏;而低端GPU应用是指对GPU性能要求低的图形应用程序,这类应用对渲染需求低,最为典型的例子则是一些纸牌类游戏。在目前各类的图形应用程序中,若要实现或运行高端GPU应用,则需要使用高性能的高端GPU来满足相应的应用需求,因此,低端GPU则无法满足高端GPU应用对性能的需求。而在一些数据应用平台中,其所搭载的GPU并非高端GPU,而是以中低端GPU为核心,在这种情况下,高端GPU应用就难以在这些应用平台中运行,由此一来,数据应用平台的应用场景就局限于中低端GPU应用领域。无法实现或运行高端GPU应用。
技术实现思路
有鉴于此,本专利技术实施例期望提供用于运行高性能GPU应用的方法、装置及计算机存储介质;能够将高端GPU应用部署至低端GPU执行,以实现通过低端GPU运行高端GPU应用的效果。本专利技术实施例的技术方案是这样实现的:第一方面,本专利技术实施例提供了一种用于运行高性能GPU应用的方法,所述方法应用于CPU,所述方法包括:基于高端GPU应用程序的渲染复杂度为待渲染帧划分至少一个宏分块;建立宏分块与GPU阵列中各GPU之间的映射关系;将所述待渲染帧的渲染任务划分为各宏分块对应的渲染子任务;根据所述映射关系将各宏分块对应的渲染子任务分配至各宏分块所映射的GPU以执行。第二方面,本专利技术实施例提供了一种用于运行高性能GPU应用的方法,所述方法应用于GPU阵列中的GPU,所述方法包括:接收CPU根据宏分块与GPU的映射关系所分配的渲染子任务;执行所述渲染子任务,并将执行结果写入对应的显存中。第三方面,本专利技术实施例提供了一种计算装置,所述计算装置包括:CPU、GPU阵列以及存储器;其中,所述GPU阵列包括多个用于执行图形应用程序的GPU;所述CPU耦接于所述GPU阵列中的GPU;所述存储器,耦接至所述CPU以及所述GPU阵列中的GPU,并且存储有可供所述CPU以及所述GPU阵列中各GPU执行的指令或程序;当所述指令或程序由所述CPU执行时,使所述CPU执行第一方面所述用于运行高性能GPU应用的方法的步骤;当所述指令或程序由所述GPU阵列中各GPU执行时,使所述GPU执行第二方面所述用于运行高性能GPU应用的方法的步骤。第四方面,本专利技术实施例提供了一种计算机存储介质,所述计算机存储介质存储有用于运行高性能GPU应用的程序,所述用于运行高性能GPU应用的程序被至少一个处理器执行时实现第一方面所述的用于运行高性能GPU应用的方法的步骤;或者第二方面所述的用于运行高性能GPU应用的的方法的步骤本专利技术实施例提供了一种用于运行高性能GPU应用的方法、装置及计算机存储介质;在执行高端GPU应用的过程中,将GPU阵列中的每个GPU均映射到固定的macro-tile,并且依照该映射将高端GPU应用中的渲染任务划分为与macro-tile对应的渲染子任务,随后将渲染子任务分配至与macro-tile具有映射关系的GPU执行渲染操作,最终CPU将所有GPU的执行结果进行整合,以获得高端GPU应用所需的渲染完成图像。也就是说,即使GPU阵列中的单个GPU属于低端GPU,无法单独执行或运行高端GPU应用,但是,通过合理的任务划分,就可以将一个复杂庞大的高端GPU应用拆分为多个计算量相对较小的低端GPU应用,利用低端GPU来实现高端GPU所能支持的性能,充分地将低端GPU的性能发挥出来,从而实现低端GPU完成高端GPU应用的场景需求。由此一来,对于GPU应用而言,无需再将精力花费在评判当前数据中心硬件资源配置是否能够满足当前GPU应用对GPU算力的需求。附图说明图1为本专利技术实施例提供的一种计算机系统的组成示意框图。图2为本专利技术实施例提供的另一种计算机系统的组成示意框图。图3为本专利技术实施例提供的一种图形渲染管线的逻辑结构框图。图4为本专利技术实施例提供的一种用于运行高性能GPU应用的方法流程示意图。图5为本专利技术实施例提供的宏分块与GPU的映射关系示意图。图6为本专利技术实施例提供的GPU阵列的工作范围示意图。图7为本专利技术实施例提供的覆盖多个宏分块的图元示意图。图8为本专利技术实施例提供的另一种用于运行高性能GPU应用的方法流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。对于高端GPU应用来说,对性能要求相对较高,因此,通常需要高端GPU来运行或执行。但随着技术的不断发展,高端GPU会逐渐地由于技术迭代更新而成为低端GPU,从而无法持续地保持运行后续出现的高端GPU应用的能力。举例来说,如今现有的数据应用平台或数据计算平台,其所搭载的GPU可能会随着技术发展以及性能指标的提升而被评价为低端GPU,从而无法运行当前藉由技术发展所产生的高端GPU应用。为了能够充分地将低端GPU的性能发挥出来,从而能够完成当前高端GPU所能够完成的应用需求(也就是当前高端GPU应用的运行需求),本专利技术实施例期望通过将高端GPU应用进行合理的任务拆分,并且将拆分后的任务部署到低端GPU中,利用低端GPU来实现高端GPU所能支持的性能,从而实现低端GPU完成高端GPU应用的场景需求。图1为本专利技术实施例提供的一种计算机系统100,该系统100提供了能够执行本专利技术实施例所阐述的技术方案的计算平台,如图1所示,该系统100可以包括CPU101和系统存储器102,图形子系统110经由总线115和桥120连接到CPU101和系统存储器102。在该系统100的一些示例中,系统存储器102可以存储用于CPU101以及图形子系统110两者的指令和数据,此外,该系统100还可以包括显存160,用于存储经图形子系统110渲染本文档来自技高网
...

【技术保护点】
1.一种用于运行高性能GPU应用的方法,其特征在于,所述方法应用于CPU,所述方法包括:/n基于高端GPU应用程序的渲染复杂度为待渲染帧划分至少一个宏分块;/n建立宏分块与GPU阵列中各GPU之间的映射关系;/n将所述待渲染帧的渲染任务划分为各宏分块对应的渲染子任务;/n根据所述映射关系将各宏分块对应的渲染子任务分配至各宏分块所映射的GPU以执行。/n

【技术特征摘要】
1.一种用于运行高性能GPU应用的方法,其特征在于,所述方法应用于CPU,所述方法包括:
基于高端GPU应用程序的渲染复杂度为待渲染帧划分至少一个宏分块;
建立宏分块与GPU阵列中各GPU之间的映射关系;
将所述待渲染帧的渲染任务划分为各宏分块对应的渲染子任务;
根据所述映射关系将各宏分块对应的渲染子任务分配至各宏分块所映射的GPU以执行。


2.根据权利要求1所述的方法,其特征在于,所述将所述待渲染帧的渲染任务划分为各宏分块对应的渲染子任务,包括:
将所述渲染任务中属于同一宏分块的顶点划分为同属宏分块对应的渲染子任务。


3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
读取各GPU对应的显存中由各GPU执行完成对应的渲染子任务之后所写入的执行结果;
根据所述宏分块与GPU阵列中各GPU之间的映射关系,将所有GPU的执行结果进行整合,获得待渲染帧对应的渲染完成图像。


4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将各GPU执行各自渲染子任务以外所需的由其他GPU映射的宏分块中的顶点数据发送至相应的GPU。


5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
计算所述待渲染帧中各顶点的顶点平面坐标;
根据各顶点的顶点平面坐标完成所述待渲染帧的图元装配,并确定所述顶点所属的宏分块。


6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将待渲染帧的所有顶点平均分配至所述GPU阵列中各GPU,以使得各GPU完成各自所分配顶点的顶点着色操作以及平面坐标计算;
读取已完成顶点着色操作的顶点的平面坐标,并按照当前图元类型对所述顶点进行图元装配,并确定所述顶点所属的宏分块。


7.一种用于运行高...

【专利技术属性】
技术研发人员:黄虎才李洋姚冠宇
申请(专利权)人:西安芯瞳半导体技术有限公司
类型:发明
国别省市:陕西;61

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

1