首页> 中国专利> 基于CUDA-GPU集群平台的混合式并行绘制方法

基于CUDA-GPU集群平台的混合式并行绘制方法

摘要

本发明涉及并行的图形绘制领域,公开了一种基于CUDA-GPU集群平台的混合式并行绘制方法,包括建立了一个混合式的三层嵌套并行的绘制流水线。本发明的优点在于,支持多屏拼接显示方式并进行了优化,充分利用了CUDA架构GPU显卡的性能,提高了并行的绘制过程的效率。

著录项

  • 公开/公告号CN103077007A

    专利类型发明专利

  • 公开/公告日2013-05-01

    原文格式PDF

  • 申请/专利权人 浙江工商大学;

    申请/专利号CN201310026228.3

  • 发明设计人 彭浩宇;

    申请日2013-01-24

  • 分类号

  • 代理机构杭州裕阳专利事务所(普通合伙);

  • 代理人应圣义

  • 地址 310018 浙江省杭州市下沙高教园区学正街18号

  • 入库时间 2024-02-19 18:33:18

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-01-10

    未缴年费专利权终止 IPC(主分类):G06F9/38 授权公告日:20151202 终止日期:20190124 申请日:20130124

    专利权的终止

  • 2015-12-02

    授权

    授权

  • 2013-06-05

    实质审查的生效 IPC(主分类):G06F9/38 申请日:20130124

    实质审查的生效

  • 2013-05-01

    公开

    公开

说明书

技术领域

本发明涉及并行的图形绘制领域,特别涉及一种基于CUDA-GPU集群平台的混合式并行绘制方法。

背景技术

历经二十多年的高速发展,个人计算机(PC)显卡的图形处理器(GPU)的计算能力日益强大。GPU专为高度并行的实时3D渲染计算而设计,配合专为并行计算而设计的CUDA通用编程模型,GPU的并行计算能力可以得到更灵活完美地发挥。但由于应用需求的推动,单个GPU难以满足大规模场景绘制的需求。因此,人们在PC上安装多个GPU显卡并搭建PC-GPU集群计算环境,开发适合PC-GPU集群环境的并行绘制系统,利用CUDA-GPU集群平台实现高性能图形绘制来满足应用需求。由于PC-GPU集群计算环境具有高性价比、使用灵活、扩展性好等特点,因此逐渐成为并行绘制技术的研究热点。但早期的GPU功能有限,编程接口不统一、兼容性和编程体验极差,制约了相关研究的发展。自NVIDIA在2006年发布专为并行科学计算设计的CUDA统一计算编程模型,CUDA+GPU的软硬件并行架构组合就席卷全球,掀起了CUDA+GPU研究与应用的热潮。使用统一的CUDA通用计算编程模型后,普通的PC-GPU集群一跃升级为CUDA-GPU集群通用计算平台,其编程体验和并行计算能力得到极大提升,成为并行图形绘制领域中势不可挡的发展潮流。

有了CUDA-GPU集群通用计算平台,还需要在平台上运行并行绘制系统才能完成图形绘制任务。特定的平台特性决定了不同的并行绘制系统体系结构,体系结构设计的优劣对系统性能有极大的影响,因此一直是并行绘制系统的基本研究问题之一。

传统上并行绘制系统体系结构按照图形处理流水线的并行方式可以分为sort-first、sort-middle和sort-last三种基本体系结构类型。在PC-GPU集群的并行绘制系统中一般采用sort-first或者sort-last的单个层次的体系结构,对PC-GPU集群来说,使用单一的并行方式无法很好地发挥PC-GPU集群的计算能力,特别地,对于多屏投影拼接显示,由于所需要的计算量较大,需要同时部署多台PC方能满足多平投影拼接显示的计算需求。 

发明内容

本发明针对现有技术无法充分地发挥CUDA-GPU集群的性能,设备的利用效率不高,需要同时部署多台PC的缺点,提供了一种能够充分发挥CUDA-GPU集群的计算能力,具有较高的并行绘制能力的新型基于CUDA-GPU集群平台的混合式并行绘制方法,。

为实现上述目的,本发明可采取下述技术方案:

基于CUDA-GPU集群平台的混合式并行绘制方法,包括以下具体步骤:

1)初始化组控服务器,建立组控服务器之间的联系,启动虚拟绘制器,建立动态虚拟绘制组,将虚拟绘制器分配至动态虚拟绘制组,将动态虚拟绘制组注册到组控服务器,所述虚拟绘制器、组控服务器分别为运行于PC环境中的系统进程,所述虚拟绘制器构成虚拟机,所述PC环境为一台PC机或者由多台PC机构成的PC集群,所述PC机上安装有CUDA架构的GPU显卡,所述虚拟绘制器经过逻辑组合构成所述动态虚拟绘制组,一个组控服务器管理和控制一个动态虚拟绘制组;

2)启动绘制任务;

3)按照sort-first方式对所述绘制任务进行细分,将细分后的绘制任务发送至组控服务器;

4)所述组控服务器依据所述细分后的绘制任务的计算量调整所述动态虚拟绘制组的虚拟绘制器的数量;

5)所述组控服务器选择sort-first或者sort-last方式对所述细分后的绘制任务进行二次细分并将二次细分后的绘制任务分配至所属的虚拟绘制器;

6)所述虚拟绘制器并行地对二次细分后的绘制任务进行计算,并将计算结果返回所述组控服务器;

7)所述组控服务器将所述计算结果进行组合并显示在屏幕的相应位置上。

作为优选,所述步骤4还包括注销现有的动态虚拟绘制组或者注册新的动态虚拟绘制组。

作为优选,当所述步骤5中组控服务器选择sort-first方式,则所述步骤7中的组合步骤为对所述计算结果进行拼接;或者当所述步骤5种组控服务器选择sort-last方式,则所述步骤7中的组合步骤为对所述计算结果进行合成。

作为优选, 所述PC机上安装2块CUDA架构的GPU显卡,所述2块GPU显卡之间通过SLI接口连接。

本发明针对的是构建于CUDA-GPU集群上的多屏拼接技术,并行绘制系统的输出只需要按照投影仪阵列的投影显示器进行划分,每个组控服务器分别对应投影显示器的一个显示子区域。

本发明所采用的混合式并行绘制体系结构由三个层次的体系架构所组成,其并行绘制流水线如图3所示,第一层次对应动态虚拟绘制组,一个动态虚拟绘制组对应显示屏幕的一个特定区域,这些动态虚拟绘制组构成了sort-first并行绘制方式;第二层次对应动态虚拟绘制组内部,各虚拟绘制器之间可以选择sort-first 方式或者sort-last方式进行并行绘制;第三层次对应虚拟绘制器内部,由于虚拟绘制器使用了一部分的显卡GPU资源,利用GUDA架构的显卡本身的并行计算能力,在GPU上按照数据与计算并行的方式进行绘制。

组控服务器:每一个连接投影仪的PC机上运行一个对并行绘制过程进行管控的进程,该进程称之为组控服务器(Control Server)。组控服务器本身不参与绘制,但管理一个动态虚拟绘制组,具体的绘制工作由组内的CUDA-GPU虚拟绘制服务器(VR)完成。

CUDA-GPU虚拟绘制服务器(VR):简称虚拟绘制器,是专门完成绘制任务的工作进程。一台PC上可以运行多个虚拟绘制器进程。每一个虚拟绘制器进程都掌握着其所在PC所安装GPU的部分计算与存储资源,每一个虚拟绘制器可以并行地、互不干扰地使用所属的计算存储资源上对绘制任务进行计算。

动态虚拟绘制组(DVRT):由若干CUDA-GPU虚拟绘制服务器构成,是并行绘制系统的基本功能单元。虚拟绘制器是完成组内绘制任务的基本绘制单元,它从对应的组控服务器那里获取绘制任务,完成绘制之后将绘制结果回传给组控服务器。

本发明由于采用了以上技术方案,具有显著的技术效果:

本发明在虚拟机的基础上实现了混合式并行绘制体系结构,提升了绘制方式的适应性,特别针对多屏拼接显示和PC集群进行了优化,令这种混合式的并行绘制体系结构可以兼容不同类型的硬件设备要求。

由于动态虚拟绘制组可以灵活地根据细分的任务对选择sort-first的体系结构或者sort-last体系结构,因此可以适应不同细分任务的绘制要求,使得并行绘制的工作流程更为灵活。由于采用了上述混合式的并行绘制体系结构,充分挖掘了CUDA架构的GPU的并行计算能力,相对于现有的CUDA-GPU集群,提高了集群的整体工作效率。

附图说明

图1是本发明的混合式并行绘制体系结构的逻辑结构示意图。

图2是本发明的虚拟机的逻辑结构示意图。

图3是本发明的并行绘制流水线的逻辑结构示意图。

具体实施方式

下面结合实施例对本发明作进一步的详细描述。

实施例1

基于CUDA-GPU集群平台的混合式并行绘制方法,使用如图1、2所示的并行绘制体系结构,包括进程级的组控服务器1和虚拟绘制器3,以及动态虚拟绘制组2,具体步骤为:

1)初始化组控服务器1,建立组控服务器1之间的联系,启动虚拟绘制器3,建立动态虚拟绘制组2,将虚拟绘制器3分配至动态虚拟绘制组2,初始状态下虚拟绘制器3不属于任何动态虚拟绘制组2,在并行系统运行过程中被实时地分配到各动态虚拟绘制组2中,并归由各组控服务器1支配。将动态虚拟绘制组2注册到组控服务器1,组控服务器1开始对动态虚拟绘制组2进行管理和监控,所述虚拟绘制器3、组控服务器1分别为运行于PC环境中的系统进程,所述虚拟绘制器3构成虚拟机,虚拟绘制器3占有一部分的GPU运算资源,所述PC环境为一台PC机或者由多台PC机构成的PC集群,所述PC机上安装有CUDA架构的GPU显卡,特别地, PC机上安装有2块CUDA架构的GPU显卡,所述2块GPU显卡之间通过SLI接口连接。,所述虚拟绘制器3经过逻辑组合构成所述动态虚拟绘制组2,一个组控服务器1管理和控制一个动态虚拟绘制组2。

2)启动绘制任务。

3)按照sort-first方式对所述绘制任务进行细分,将细分后的绘制任务发送至组控服务器1。

4)所述组控服务器1依据所述细分后的绘制任务的计算量调整所述动态虚拟绘制组2的虚拟绘制器3的数量,组控服务器1还可以根据需要注销现有的动态虚拟绘制组2或者注册新的动态虚拟绘制组2,达到动态虚拟绘制组2的总体绘制能力和细分后的绘制任务计算量的平衡。

5)所述组控服务器1选择sort-first或者sort-last方式对所述细分后的绘制任务进行二次细分并将二次细分后的绘制任务分配至所属的虚拟绘制器3。

6)所述虚拟绘制器3并行地对二次细分后的绘制任务进行计算,并将计算结果返回所述组控服务器1。

7)所述组控服务器1将所述计算结果进行组合,这里的组合步骤需要依据步骤5中组控服务器1所选择的方式选择组合的方式:当所述步骤5中组控服务器1选择sort-first方式,虚拟绘制器3将其负责的屏幕子块的图像发送到组控服务器1,组控服务器1将所有的子块进行拼接组合成本动态虚拟绘制组的输出图像;或者当所述步骤5种组控服务器1选择sort-last方式,则所有虚拟绘制器参与图像深度合成过程,并由组控服务器1生成最终的合成图像。组内自适应切换的目的是选择更适应的当前绘制环境的绘制方式以提高并行绘制系统效率。组合完成后,组控服务器1根据所对应的屏幕位置和矫正参数,对组合后所得到的图像进行校正后显示在屏幕的相应位置上,最终在屏幕上得到所需要的图像。

对比试验

将实施例1与现有技术进行对比以观测具体的效果。为了能够准确的进行对比,在硬件结构上,都采用具有16个节点的并行绘制系统,这16个节点为安装有同样的GUDA架构的GPU的PC机,分别采用实施例1所述的技术方案和现有技术中的AnyGL、OpenRM+Chromium、Equalizer等并行绘制技术进行对比,在同样大小的显示屏上进行显示,所测试的数据集分别包括35-650百万个三角面片数不等,记录绘制结果如下表所示:

由上表可知,对于同样的并行节点数和同样的数据集,采用实施例1所述的并行绘制方法,具有较高的输出帧数,说明采用实施例1所述的方法后,对并行绘制系统中的CUDA-GPU集群的绘制性能有了显著的提升。

总之,以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所作的均等变化与修饰,皆应属本发明专利的涵盖范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号