CN116245997A - 基于超级计算机的三维模型动态渲染并行加速方法、系统 - Google Patents

基于超级计算机的三维模型动态渲染并行加速方法、系统 Download PDF

Info

Publication number
CN116245997A
CN116245997A CN202310314004.6A CN202310314004A CN116245997A CN 116245997 A CN116245997 A CN 116245997A CN 202310314004 A CN202310314004 A CN 202310314004A CN 116245997 A CN116245997 A CN 116245997A
Authority
CN
China
Prior art keywords
rendering
dimensional model
processes
frame
supercomputer
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.)
Pending
Application number
CN202310314004.6A
Other languages
English (en)
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.)
Qingdao Guoshi Technology Group Co ltd
Original Assignee
Qingdao Guoshi Technology Group 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 Qingdao Guoshi Technology Group Co ltd filed Critical Qingdao Guoshi Technology Group Co ltd
Priority to CN202310314004.6A priority Critical patent/CN116245997A/zh
Publication of CN116245997A publication Critical patent/CN116245997A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)

Abstract

本申请涉及一种基于超级计算机的三维模型动态渲染并行加速方法及系统,其中,该方法包括:混合内存分配步骤,为待启动的渲染进程分配超级计算机的内存,每一渲染进程配置一虚拟核组集;一级并行处理步骤,将三维模型的帧序列以帧为单位进行分组得到图像帧,为图像帧分配渲染进程;二级并行处理步骤,将每一图像帧动态划分为多个待渲染tile块,渲染进程配置有一Manager进程和多个Worker进程,Manager进程和多个Worker进程进行对应地待渲染tile块的渲染,其中,每一Manager进程和Worker进程分别配置一虚拟核组,每一虚拟核组对应多个核组CG。通过本申请,采用两级并行处理降低三维模型的总渲染时间,减小渲染进程之间负载差异,并通过进行内存分配提高渲染稳定性。

Description

基于超级计算机的三维模型动态渲染并行加速方法、系统
技术领域
本申请涉及三维模型渲染技术领域,特别是涉及基于超级计算机的三维模型动态渲染并行加速方法、系统、计算机设备和计算机可读存储介质。
背景技术
超级计算机(Super computer),是指能够执行一般个人电脑无法处理的大量资料与高速运算的电脑。超级计算机主要特点包含两个方面:极大的数据存储容量和极快速的数据处理速度,因此它可以在多种领域进行一些人们或者普通计算机无法进行的工作。
三维模型动态渲染过程中涉及光路径追踪算法,其中又包含一系列子算法,如BVH碰撞检测算法(Bounding Volume Hierarchies,BVH)、光源相交算法、体积积分算法、着色器算法、光线传播算法等,各算法复杂,计算时间长。
并行是加快路径跟踪算法速度的有效途径。目前已有的技术方案中,面向用于实时光路径追踪的多核架构Copernicus方法的应用通常是利用现有的通用核心进行尝试,但要实现其应用的性能,需要更多的硬件支持,如在22纳米半导体生产工艺上扩展到115核,否则上述方法的实现光线追踪运算每秒不会超过1亿射线。文章《TRaX:A MulticoreHardware Architecture for Real-Time Ray》中提出了一种专为实时射线跟踪的多线程、多核处理器架构TRaX,TRaX为视频游戏提供实时路径跟踪图像,也正因为其专用与实时射线跟踪,使得在大型和复杂的非实时场景中相较于现有非实时场景架构相比并没有明显优势。另外,现有结合数据和任务并行的分布式光子映射绘制方法虽然实现了任务并行,但该算法需要频繁的服务器-客户端通信以传输排序后的接收器,受限于服务器且提高任务处理成本。
综上所述,现有的三维动态渲染并行加速由于硬件成本高、实时场景与非实时场景性能无法兼顾、服务器节点可扩展性不足等原因,无法实现预期性能。
发明内容
本申请实施例提供了一种基于超级计算机的三维模型动态渲染并行加速方法、系统、计算机设备和计算机可读存储介质,采用两级并行处理降低三维模型的总渲染时间,减小渲染进程之间负载差异,并通过进行内存分配提高渲染稳定性。
第一方面,本申请实施例提供了一种基于超级计算机的三维模型动态渲染并行加速方法,包括:
混合内存分配步骤,为待启动的渲染进程分配所述超级计算机的内存,每一所述渲染进程配置一虚拟核组集,其中,所述虚拟核组集包括多个虚拟核组;
一级并行处理步骤,将三维模型的帧序列以帧为单位进行分组得到图像帧,为所述图像帧分配所述渲染进程,其中,所述帧序列中相邻图像帧分配不同的渲染进程,进行并行渲染;
二级并行处理步骤,将每一所述图像帧动态划分为多个待渲染tile块,所述渲染进程配置有一Manager进程和多个Worker进程,所述Manager进程和多个Worker进程进行对应地待渲染tile块的渲染,其中,每一所述Manager进程和Worker进程分别配置一虚拟核组,每一虚拟核组对应多个核组CG。
在其中一些实施例中,每一所述Manager进程和Worker进程中进一步配置有多个线程,每个线程对应一管理核心MPE,其中,管理核心MPE执行过程中可分别所属核组CG的用户连续段,同一进程中的管理核心MPE执行过程中可同时访问分配到的多个核组CG的用户交叉段。基于此,本申请实施例通过上述共享用户交叉段的配置实现内存局部优化,为进行并行化做准备。
在其中一些实施例中,所述一级并行处理步骤中,定义fi为第i个渲染进程中的帧数,帧数fi基于如下计算模型计算得到:
fi=fi-1+G;
其中,fi-1为第(i-1)次渲染循环中相同的渲染进程的帧数,G为已启用的渲染进程的总数,i为自然数且i>0。
在其中一些实施例中,所述二级并行处理步骤中进一步包括:
自适应动态分块步骤,获取所述图像帧并将每一所述图像帧动态划分为多个待渲染tile块,并基于一进程配置模型为每一所述图像帧动态分配进程数量。
在其中一些实施例中,所述进程配置模型基于如下计算模型计算得到:
M=N*n/D;
其中,M为进程数量,N为所述三维模型的总帧数,n为图像帧划分得到的tile块总数,D为所述三维模型每帧平铺渲染时间的最大差值。
在其中一些实施例中,所述tile块总数基于如下计算模型计算得到:
n=round(W/w*H/h);
其中,round()为四舍五入取整函数,W、H分别为当前图像帧的水平方向像素数、垂直方向像素数,w、h分别为tile块在水平方向像素数、垂直方向像素数。
第二方面,本申请实施例提供了一种基于超级计算机的三维模型动态渲染并行加速系统,包括:
混合内存分配模块,用于为待启动的渲染进程分配所述超级计算机的内存,每一所述渲染进程配置一虚拟核组集,其中,所述虚拟核组集包括多个虚拟核组;
一级并行处理模块,用于将三维模型的帧序列以帧为单位进行分组得到图像帧,为所述图像帧分配所述渲染进程,其中,所述帧序列中相邻图像帧分配不同的渲染进程,进行并行渲染;
二级并行处理模块,用于将每一所述图像帧动态划分为多个待渲染tile块,所述渲染进程配置有一Manager进程和多个Worker进程,所述Manager进程和多个Worker进程进行对应地待渲染tile块的渲染,其中,每一所述Manager进程和Worker进程分别配置一虚拟核组,每一虚拟核组对应多个核组CG。
在其中一些实施例中,每一所述Manager进程和Worker进程中进一步配置有多个线程,每个线程对应一管理核心MPE,其中,管理核心MPE执行过程中可分别所属核组CG的用户连续段,同一进程中的管理核心MPE执行过程中可同时访问分配到的多个核组CG的用户交叉段。基于此,本申请实施例通过上述共享用户交叉段的配置实现内存局部优化,为进行并行化做准备。
在其中一些实施例中,所述二级并行处理模块中进一步包括:
自适应动态分块模块,用于获取所述图像帧并将每一所述图像帧动态划分为多个待渲染tile块,并基于一进程配置模型为每一所述图像帧动态分配进程数量。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的基于超级计算机的三维模型动态渲染并行加速方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的基于超级计算机的三维模型动态渲染并行加速方法。
相比于相关技术,本申请实施例提供的基于超级计算机的三维模型动态渲染并行加速方法、系统、计算机设备和计算机可读存储介质,通过一级并行处理将三维模型的总渲染时间减少至最低,最小化不同渲染进程之间的负载差异,通过共享用户交叉段的配置实现内存局部优化,提高渲染进程的稳定性;通过二级并行处理进一步优化渲染速度。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据相关技术的内存分配原理图;
图2是根据本申请实施例的内存分配原理图;
图3是根据本申请实施例的三维模型动态渲染并行加速方法的流程图;
图4是根据本申请实施例的三维模型动态渲染并行加速系统的结构框图;
图5是根据本申请实施例的三维模型动态渲染并行加速方法的原理示意图。
图中:1、混合内存分配模块;2、一级并行处理模块;3、二级并行处理模块;301、自适应动态分块模块。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本申请实施例基于新一代神威超算平台,搭载SW26010Pro处理器,该处理器作为国产自主设计的众核处理器,使用64位自主申威指令集,采用主-从核架构。SW26010P处理器具有6个核组(Core Groups,CG)每个核组包含一个管理核心(Manage ProcessingElement,MPE,又称主核)、一个8x8的运算核心(Computing Processing Element,CPE,又称从核)和一个内存控制器(Memory Controller,MC),合计390个核心。核组CG通过寄存器通信(Register Level Communication,RLC)片上网络与其他设备通信,并可通过系统接口与外部设备连接。
Blender是一款免费开源三维图形图像软件,提供从建模、动画、材质、渲染、到音频处理、视频剪辑等一系列动画短片制作解决方案。本申请实施例以Blender作为处理工具为例进行说明,但不限于采用该处理工具,其他用于三维模型动态渲染的工具也适用于本申请的加速策略。
考虑到图像帧的渲染时间受光照、几何个体分布影响很大,场景位置的不同导致块间的计算上存在极大的负载均衡问题。理论上图像块粒度越小,块之间的渲染差距就越小。申请人发现,以图像块的大小优选配置为32×32(像素数)的图像帧举例,小于32×32会导致块的计算量太小,反复开辟、释放内存,影响计算效率。而配置为32×32的图像块,若是没有光照和几何体的渲染任务与光照和几何体相交的渲染任务处理时间差为32倍。因此,图像帧数据如何分块及分配进程是提高算法效率的关键所在。
本实施例提供了一种基于超级计算机的三维模型动态渲染并行加速方法,图3、图5根据本申请实施例的基于超级计算机的三维模型动态渲染并行加速方法的流程图及原理示意图,参考图3、图5所示,该流程包括如下步骤:
混合内存分配步骤S1,为待启动的渲染进程分配所述超级计算机的内存,每一所述渲染进程配置一虚拟核组集,其中,所述虚拟核组集包括多个虚拟核组;
一级并行处理步骤S2,将三维模型的帧序列以帧为单位进行分组得到图像帧,为所述图像帧分配所述渲染进程,其中,所述帧序列中相邻图像帧分配不同的渲染进程,进行并行渲染;定义fi为第i个渲染进程中的帧数,帧数fi基于如下计算模型计算得到:fi=fi-1+G;其中,fi-1为第(i-1)次渲染循环中相同的渲染进程的帧数,G为已启用的渲染进程的总数,i为自然数且i>0。
二级并行处理步骤S3,基于自适应集群分布策略将每一所述图像帧动态划分为多个待渲染tile块,所述渲染进程配置有一Manager进程和多个Worker进程,所述Manager进程和多个Worker进程进行对应地待渲染tile块的渲染,其中,每一所述Manager进程和Worker进程分别配置一虚拟核组,每一虚拟核组对应多个核组CG。如参考图2、图5所示,本申请实施例的虚拟核组对应三个核组CG。
一般来说,帧动画是按照从左到右、从上到下的顺序排列的。基于此,在进行帧渲染任务时通常采用帧间均分方法对每个核组按顺序分配连续的帧;但是,由于帧与帧之间在内容上存在关联,两个相邻帧在渲染时间上差异较小。如果按顺序将相邻的帧放入同一核组进行渲染,随着时间维度的增长,核组间的渲染时间差异会越来越大。但基于上述步骤S2,与传统的多帧平衡方法相比,一级并行处理可以将三维模型的总渲染时间减少至最低,最小化不同渲染进程之间,也即虚拟核组集之间的负载差异。进一步的,经过二级并行处理步骤S3将一帧图数据库进一步分块处理,以进一步利用神威超算平台架构的独特性动态分配块处理进程,深入缩减渲染时间。
考虑到内存消耗是呈现系统的瓶颈。例如,Blender推荐高达32GB的内存。然而,在神威超级计算机平台上,单个SW26010P处理器可访问96GB内存,平均每个核组可访问16GB内存。因此,为了优化内存分配,本实施例作进一步设置,具体的:神威超算平台的主存包括系统连续段、用户连续段、用户交叉段、核心组IO段及芯片IO段,本申请主要访问的是用户连续段、用户交叉段内存。
基于上述步骤S1~S3,每一所述Manager进程和Worker进程中进一步配置有多个线程,每个线程对应一管理核心MPE,其中,管理核心MPE执行过程中可分别所属核组CG的用户连续段,同一进程中的管理核心MPE执行过程中可同时访问分配到的多个核组CG的用户交叉段,如图2所示。
基于此,本申请实施例通过上述共享用户交叉段的配置实现内存局部优化,为进行并行化做准备。可选的,参考图5所示,Manager进程和Worker进程均进一步配置有1个通信线程和2个渲染线程,通信线程负责与其他节点进行通信、块的调度以及各节点块渲染结果的汇总,渲染线程主要负责tile块的渲染。对于Manager进程本身的渲染任务,通过通信线程的信号来触发渲染线程工作。同时,Worker进程的渲染线程处于等待任务的状态。当它从Manager进程接收到任务时,便开始渲染工作,工作完成后,将渲染结果数据发送到Manager进程进行渲染结果汇总。
为了满足Blender的内存需求,所述用户交叉段配置为30GB,所述用户连续段配置为2GB。具体的,在渲染过程中,可以选择将堆数据存放在用户交叉段中;其他数据,如代码和全局变量数据,存放在用户连续段中。
如图1所示,常规内存分配策略是为一个进程分配一个核组CG,其中,每个管理核心MPE执行过程中分别访问一个用户连续段和用户交叉段,每个核组CG都是私有的;而本申请采用上述配置进行内存局部优化,实现在单个节点进程中共享核组CG之间的用户交叉段,可以避免渲染复杂模型时,出现内存不够的情况,并且,本申请的通信线程利用MPI异步通信方式,无需占用交叉段进行核组间通信。
在其中一些实施例中,该方法基于SW26010Pro处理器实现,二级并行处理步骤S3中进一步包括:
自适应动态分块步骤S301,获取所述图像帧并将每一所述图像帧动态划分为多个待渲染tile块,并基于一进程配置模型为每一所述图像帧动态分配进程数量。其中,进程配置模型基于如下计算模型计算得到:M=N*n/D;其中,M为进程数量,N为所述三维模型的总帧数,n为图像帧划分得到的tile块总数,D为所述三维模型每帧平铺渲染时间的最大差值,该差值可以可通过试验测试得到。具体的,所述tile块总数基于如下计算模型计算得到:n=round(W/w*H/h);其中,round()为四舍五入取整函数,W、H分别为当前图像帧的水平方向像素数、垂直方向像素数,w、h分别为tile块在水平方向像素数、垂直方向像素数。
基于此,通过基于像素数计算tile块总数并结合该最大差值计算配置的进程数量,上述自适应动态分块步骤可以根据模型顶点数量、分辨率、纹理等数据进行进程的分配,获取复杂场景的图像帧数据并分割为动态块,进行动态块分组并行化,以1080P的三维模型为例,分为32组图像块并行渲染速度最快,优化渲染速度的同时不浪费过多进程节点资源。
本申请通过使用国产神威超算平台的从核计算资源进行算法加速,可以同时开启千万级规模进程并行渲染,以实现快速渲染任务,缩短整个模型的渲染时长,并行效率可提升90%以上。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以不同于此处的顺序执行所示出或描述的步骤。
本实施例还提供了一种基于超级计算机的三维模型动态渲染并行加速系统,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本申请实施例的三维模型动态渲染并行加速系统的结构框图,如图4所示,该系统包括包括:
混合内存分配模块1,用于为待启动的渲染进程分配所述超级计算机的内存,每一所述渲染进程配置一虚拟核组集,其中,所述虚拟核组集包括多个虚拟核组;
一级并行处理模块2,用于将三维模型的帧序列以帧为单位进行分组得到图像帧,为所述图像帧分配所述渲染进程,其中,所述帧序列中相邻图像帧分配不同的渲染进程,进行并行渲染;
二级并行处理模块3,用于将每一所述图像帧动态划分为多个待渲染tile块,所述渲染进程配置有一Manager进程和多个Worker进程,所述Manager进程和多个Worker进程进行对应地待渲染tile块的渲染,其中,每一所述Manager进程和Worker进程分别配置一虚拟核组,每一虚拟核组对应多个核组CG。其中,所述系统基于SW26010Pro处理器实现,所述二级并行处理模块3中进一步包括:自适应动态分块模块301,用于获取所述图像帧并将每一所述图像帧动态划分为多个待渲染tile块,并基于一进程配置模型为每一所述图像帧动态分配进程数量。
在其中一些实施例中,每一所述Manager进程和Worker进程中进一步配置有多个线程,每个线程对应一管理核心MPE,其中,管理核心MPE执行过程中可分别所属核组CG的用户连续段,同一进程中的管理核心MPE执行过程中可同时访问分配到的多个核组CG的用户交叉段。基于此,本申请实施例通过上述共享用户交叉段的配置实现内存局部优化,为进行并行化做准备。
本实施例通过实现上述方法及系统,利用一级并行处理将三维模型的总渲染时间减少至最低,最小化不同渲染进程之间的负载差异,通过共享用户交叉段的配置实现内存局部优化,提高渲染进程的稳定性;通过二级并行处理进一步优化渲染速度。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
另外,结合图1描述的本申请实施例基于超级计算机的三维模型动态渲染并行加速方法可以由计算机设备来实现。具体的,该计算机设备为神威太湖之光SunwayTaihuLight,由40960个神威SW26010处理器组成的超级计算机。
另外,结合上述实施例中的基于超级计算机的三维模型动态渲染并行加速方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种基于超级计算机的三维模型动态渲染并行加速方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种基于超级计算机的三维模型动态渲染并行加速方法,其特征在于,包括:
混合内存分配步骤,为待启动的渲染进程分配所述超级计算机的内存,每一所述渲染进程配置一虚拟核组集,其中,所述虚拟核组集包括多个虚拟核组;
一级并行处理步骤,将三维模型的帧序列以帧为单位进行分组得到图像帧,为所述图像帧分配所述渲染进程,其中,所述帧序列中相邻图像帧分配不同的渲染进程,进行并行渲染;
二级并行处理步骤,将每一所述图像帧动态划分为多个待渲染tile块,所述渲染进程配置有一Manager进程和多个Worker进程,所述Manager进程和多个Worker进程进行对应地待渲染tile块的渲染,其中,每一所述Manager进程和Worker进程分别配置一虚拟核组,每一虚拟核组对应多个核组CG。
2.根据权利要求1所述的基于超级计算机的三维模型动态渲染并行加速方法,其特征在于,每一所述Manager进程和Worker进程中进一步配置有多个线程,每个线程对应一管理核心MPE,其中,管理核心MPE执行过程中可分别所属核组CG的用户连续段,同一进程中的管理核心MPE执行过程中可同时访问分配到的多个核组CG的用户交叉段。
3.根据权利要求1或2所述的基于超级计算机的三维模型动态渲染并行加速方法,其特征在于,所述一级并行处理步骤中,定义fi为第i个渲染进程中的帧数,帧数fi基于如下计算模型计算得到:
fi=fi-1+G;
其中,fi-1为第(i-1)次渲染循环中相同的渲染进程的帧数,G为已启用的渲染进程的总数。
4.根据权利要求1或2所述的基于超级计算机的三维模型动态渲染并行加速方法,其特征在于,所述二级并行处理步骤中进一步包括:
自适应动态分块步骤,获取所述图像帧并将每一所述图像帧动态划分为多个待渲染tile块,并基于一进程配置模型为每一所述图像帧动态分配进程数量。
5.根据权利要求4所述的基于超级计算机的三维模型动态渲染并行加速方法,其特征在于,所述进程配置模型基于如下计算模型计算得到:
M=N*n/D;
其中,M为进程数量,N为所述三维模型的总帧数,n为图像帧划分得到的tile块总数,D为所述三维模型每帧平铺渲染时间的最大差值。
6.根据权利要求4所述的基于超级计算机的三维模型动态渲染并行加速方法,其特征在于,所述tile块总数基于如下计算模型计算得到:
n=round(W/w*H/h);
其中,round()为四舍五入取整函数,W、H分别为当前图像帧的水平方向像素数、垂直方向像素数,w、h分别为tile块在水平方向像素数、垂直方向像素数。
7.一种基于超级计算机的三维模型动态渲染并行加速系统,其特征在于,包括:
混合内存分配模块,用于为待启动的渲染进程分配所述超级计算机的内存,每一所述渲染进程配置一虚拟核组集,其中,所述虚拟核组集包括多个虚拟核组;
一级并行处理模块,用于将三维模型的帧序列以帧为单位进行分组得到图像帧,为所述图像帧分配所述渲染进程,其中,所述帧序列中相邻图像帧分配不同的渲染进程,进行并行渲染;
二级并行处理模块,用于将每一所述图像帧动态划分为多个待渲染tile块,所述渲染进程配置有一Manager进程和多个Worker进程,所述Manager进程和多个Worker进程进行对应地待渲染tile块的渲染,其中,每一所述Manager进程和Worker进程分别配置一虚拟核组,每一虚拟核组对应多个核组CG。
8.根据权利要求7所述的基于超级计算机的三维模型动态渲染并行加速系统,其特征在于,所述二级并行处理模块中进一步包括:
自适应动态分块模块,用于获取所述图像帧并将每一所述图像帧动态划分为多个待渲染tile块,并基于一进程配置模型为每一所述图像帧动态分配进程数量。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的基于超级计算机的三维模型动态渲染并行加速方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至6中任一项所述的基于超级计算机的三维模型动态渲染并行加速方法。
CN202310314004.6A 2023-03-27 2023-03-27 基于超级计算机的三维模型动态渲染并行加速方法、系统 Pending CN116245997A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310314004.6A CN116245997A (zh) 2023-03-27 2023-03-27 基于超级计算机的三维模型动态渲染并行加速方法、系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310314004.6A CN116245997A (zh) 2023-03-27 2023-03-27 基于超级计算机的三维模型动态渲染并行加速方法、系统

Publications (1)

Publication Number Publication Date
CN116245997A true CN116245997A (zh) 2023-06-09

Family

ID=86627832

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310314004.6A Pending CN116245997A (zh) 2023-03-27 2023-03-27 基于超级计算机的三维模型动态渲染并行加速方法、系统

Country Status (1)

Country Link
CN (1) CN116245997A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116612223A (zh) * 2023-07-17 2023-08-18 金锐同创(北京)科技股份有限公司 数字孪生模拟空间的生成方法、装置、计算机设备和介质
CN117149706A (zh) * 2023-10-27 2023-12-01 山东大学 一种地震模拟数据的大规模并行优化方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116612223A (zh) * 2023-07-17 2023-08-18 金锐同创(北京)科技股份有限公司 数字孪生模拟空间的生成方法、装置、计算机设备和介质
CN116612223B (zh) * 2023-07-17 2023-10-17 金锐同创(北京)科技股份有限公司 数字孪生模拟空间的生成方法、装置、计算机设备和介质
CN117149706A (zh) * 2023-10-27 2023-12-01 山东大学 一种地震模拟数据的大规模并行优化方法及系统
CN117149706B (zh) * 2023-10-27 2024-03-19 山东大学 一种地震模拟数据的大规模并行优化方法及系统

Similar Documents

Publication Publication Date Title
US10789758B2 (en) Ray tracing in computer graphics using intersection testing at selective resolution
US11625885B2 (en) Graphics processor with non-blocking concurrent architecture
CN106991011B (zh) 基于cpu多线程与gpu多粒度并行及协同优化的方法
US20200043123A1 (en) Simultaneous compute and graphics scheduling
CN116245997A (zh) 基于超级计算机的三维模型动态渲染并行加速方法、系统
US9043801B2 (en) Two-tiered dynamic load balancing using sets of distributed thread pools
US9152462B2 (en) Parallel processing device, parallel processing method, optimization device, optimization method and computer program
WO2009117691A2 (en) Architectures for parallelized intersection testing and shading for ray-tracing rendering
US20150178879A1 (en) System, method, and computer program product for simultaneous execution of compute and graphics workloads
US9378533B2 (en) Central processing unit, GPU simulation method thereof, and computing system including the same
US20210191765A1 (en) Method for static scheduling of artificial neural networks for a processor
CN106251392A (zh) 用于执行交织的方法和设备
CN114020470B (zh) 资源分配方法、装置、可读介质及电子设备
CN111352727B (zh) 一种应用于图像混合集群处理系统的图像处理方法
Grosset et al. TOD-tree: Task-overlapped direct send tree image compositing for hybrid MPI parallelism and GPUs
CN117271136A (zh) 数据处理方法、装置、设备和存储介质
CN116468597B (zh) 基于多gpu的图像渲染方法、装置及可读存储介质
US20230297499A1 (en) Locating a memory unit associated with a memory address utilizing a mapper
US11830123B2 (en) Accelerated processing via a physically based rendering engine
Takayama et al. Implementation of Cell-Projection Parallel Volume Rendering with Dynamic Load Balancing.
CN118312327A (zh) 硬件资源分配方法、电子设备与存储介质
CN117851015A (zh) 一种应用多gpu协同进行单源最短路径计算方法
Kwon et al. An implementation of a parallel ray tracing algorithm on hybrid parallel architecture

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