一种多GPU协同渲染方法、系统、装置及存储介质制造方法及图纸

技术编号:35682371 阅读:10 留言:0更新日期:2022-11-23 14:25
本发明专利技术公开了一种多GPU协同渲染方法、系统、装置及存储介质,多GPU协同渲染方法通过将空闲的GPU放置于空闲队列,将正在工作的GPU放置于工作队列,在CPU生成一帧的渲染作业且空闲队列不为空时提交渲染作业至空闲队列中的任意一个GPU进行渲染,CPU回读帧数据后对帧数据进行编码,实现了在空闲队列中存在多个空闲GPU时对多帧渲染作业的协同、并行渲染,降低了GPU渲染的计算压力,并且使得本发明专利技术的多GPU协同渲染方法相较于传统的实时渲染技术能够在同一时间段内渲染更多的帧,提升了视频帧的渲染和编码效率。本发明专利技术可广泛应用于计算机技术领域。领域。领域。

【技术实现步骤摘要】
一种多GPU协同渲染方法、系统、装置及存储介质


[0001]本申请涉及计算机
,尤其是一种多GPU协同渲染方法、系统、装置及存储介质。

技术介绍

[0002]基于视频串流的实时渲染技术一般被应用于云游戏场景中。在云游戏场景中,数据的存储、计算和渲染由云端完成,云端在渲染完成后将输出的图像存储至显存,随后回读图像至内存并进行编码生成视频码流,将实时的游戏画面串流到终端进行显示,最终呈现给用户。
[0003]然而,一方面,相较于云游戏领域,数字孪生、工业仿真等领域具有场景规模大(模型数据量大)、解析度要求高等特征,因此上述实时渲染技术应用于数字孪生、工业仿真等领域时GPU渲染的计算压力大,当GPU负载达到上限后无法继续提升帧率,从而无法充分利用云环境的资源扩展(scale

out)能力;另一方面,由于现有的实时渲染技术的渲染和编码过程依赖同一个GPU串行执行,视频帧的渲染和编码效率较低,且难以通过并行的方式进行优化。

技术实现思路

[0004]本专利技术的目的在于至少一定程度上解决现有技术中存在的技术问题之一。
[0005]为此,本专利技术实施例的一个目的在于提供一种多GPU协同渲染方法、系统、装置及存储介质,通过多GPU协同渲染降低GPU渲染的计算压力,并提升视频帧的渲染和编码效率。
[0006]为了达到上述技术目的,本专利技术实施例所采取的技术方案包括:
[0007]一方面,本专利技术实施例提供了一种多GPU协同渲染方法,包括以下步骤:
>[0008]响应于接收到渲染任务,生成一帧的第一渲染作业;
[0009]确认空闲队列中不为空,提交所述第一渲染作业至第一GPU,所述第一GPU为所述空闲队列中的任意一个GPU,所述空闲队列用于放置空闲的GPU;
[0010]将所述第一GPU从所述空闲队列转移到工作队列,所述工作队列用于放置正在工作的GPU;
[0011]响应于所述第一GPU完成所述第一渲染作业的渲染,回读帧数据,所述帧数据为所述第一GPU渲染所述第一渲染作业后生成的数据;
[0012]将所述第一GPU从所述工作队列转移到所述空闲队列。
[0013]本专利技术实施例的一种多GPU协同渲染方法,通过将空闲的GPU放置于空闲队列,将正在工作的GPU放置于工作队列,在CPU生成一帧的渲染作业且空闲队列不为空时提交渲染作业至空闲队列中的任意一个GPU进行渲染,CPU回读帧数据后对帧数据进行编码,实现了在空闲队列中存在多个空闲GPU时对多帧渲染作业的协同、并行渲染,降低了GPU渲染的计算压力,并且使得本专利技术的多GPU协同渲染方法相较于传统的实时渲染技术能够在同一时间段内渲染更多的帧,提升了视频帧的渲染和编码效率。
[0014]另外,根据本专利技术上述实施例的一种多GPU协同渲染方法,还可以具有以下附加的技术特征:
[0015]进一步地,本专利技术实施例的一种多GPU协同渲染方法中,所述渲染任务包括渲染帧率,所述方法还包括:
[0016]根据所述渲染帧率计算帧间隔;
[0017]根据所述帧间隔设置多个帧提交时刻和多个帧编码时刻,其中,各个所述帧提交时刻之间的间隔等于所述帧间隔,各个所述帧编码时刻之间的间隔等与所述帧间隔。
[0018]进一步地,在本专利技术的一个实施例中,所述确认空闲队列不为空,提交所述第一渲染作业至第一GPU,包括:
[0019]确认空闲队列不为空,判断当前时刻是否已达到第一时刻,所述第一时刻为预设的所述帧提交时刻中所述第一渲染作业的提交时刻;
[0020]若是,将所述第一渲染作业提交至所述第一GPU,并将所述第一时刻的下一个所述帧提交时刻设置为第二时刻,所述第二时刻为预设的第二渲染作业的提交时刻,所述第二渲染作业为所述第一渲染作业的下一帧渲染作业;
[0021]若否,等待当前时刻达到所述第一时刻时将所述第一渲染作业提交至所述第一GPU,并将所述第一时刻的下一个所述帧提交时刻设置为所述第二时刻。
[0022]进一步地,在本专利技术的一个实施例中,所述确认空闲队列不为空,提交所述第一渲染作业至第一GPU,还包括:
[0023]根据所述第一渲染作业和所述第二渲染作业生成同步数据,所述同步数据为所述第一渲染作业与所述第二渲染作业之间的上下文数据;
[0024]将所述同步数据发送给除所述第一GPU以外的其他GPU。
[0025]进一步地,在本专利技术的一个实施例中,在所述响应于接收到渲染任务,生成一帧的第一渲染作业这一步骤之后,所述方法还包括:
[0026]确认所述空闲队列为空,阻塞帧提交进程。
[0027]进一步地,在本专利技术的一个实施例中,所述对所述帧数据进行编码,包括:
[0028]判断当前时刻是否已达到第三时刻,所述第三时刻为预设的所述帧编码时刻中所述第一渲染作业对应的所述帧数据的编码时刻;
[0029]若是,对所述帧数据进行编码,并将所述第三时刻的下一个所述帧编码时刻设置为第四时刻,所述第四时刻为预设的所述帧数据的下一帧数据的编码时刻;
[0030]若否,等待当前时刻达到所述第三时刻时对所述帧数据进行编码,并将所述第三时刻的下一个所述帧编码时刻设置为所述第四时刻。
[0031]进一步地,在本专利技术的一个实施例中,在所述将所述第一GPU从所述工作队列转移到所述空闲队列这一步骤之后,所述方法还包括:
[0032]确认所述帧提交进程没有阻塞,等待所述第二渲染作业生成。
[0033]另一方面,本专利技术实施例提出了一种多GPU协同渲染系统,包括:
[0034]生成模块,用于响应于接收到渲染任务,生成一帧的第一渲染作业;
[0035]提交模块,用于确认空闲队列中不为空,提交所述第一渲染作业至第一GPU,所述第一GPU为所述空闲队列中的任意一个GPU,所述空闲队列用于放置空闲的GPU;
[0036]第一转移模块,用于将所述第一GPU从所述空闲队列转移到工作队列,所述工作队
列用于放置正在工作的GPU;
[0037]帧数据处理模块,用于响应于所述第一GPU完成所述第一渲染作业的渲染,回读帧数据,并对所述帧数据进行编码,所述帧数据为所述第一GPU渲染所述第一渲染作业后生成的数据;
[0038]第二转移模块,用于将所述第一GPU从所述工作队列转移到所述空闲队列。
[0039]另一方面,本专利技术实施例提供了一种多GPU协同渲染装置,包括:
[0040]至少一个处理器;
[0041]至少一个存储器,用于存储至少一个程序;
[0042]当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现所述的一种多GPU协同渲染方法。
[0043]另一方面,本专利技术实施例提供了一种存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于实现所述的一种多GPU协同渲染方法。
[0044]本专利技术的优点和有益效果将在下面的本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种多GPU协同渲染方法,其特征在于,包括以下步骤:响应于接收到渲染任务,生成一帧的第一渲染作业;确认空闲队列不为空,提交所述第一渲染作业至第一GPU,所述第一GPU为所述空闲队列中的任意一个GPU,所述空闲队列用于放置空闲的GPU;将所述第一GPU从所述空闲队列转移到工作队列,所述工作队列用于放置正在工作的GPU;响应于所述第一GPU完成所述第一渲染作业的渲染,回读帧数据,并对所述帧数据进行编码,所述帧数据为所述第一GPU渲染所述第一渲染作业后生成的数据;将所述第一GPU从所述工作队列转移到所述空闲队列。2.根据权利要求1所述的一种多GPU协同渲染方法,其特征在于,所述渲染任务包括渲染帧率,所述方法还包括:根据所述渲染帧率计算帧间隔;根据所述帧间隔设置多个帧提交时刻和多个帧编码时刻,其中,各个所述帧提交时刻之间的间隔等于所述帧间隔,各个所述帧编码时刻之间的间隔等与所述帧间隔。3.根据权利要求2所述的一种多GPU协同渲染方法,其特征在于,所述确认空闲队列不为空,提交所述第一渲染作业至第一GPU,包括:确认空闲队列不为空,判断当前时刻是否已达到第一时刻,所述第一时刻为预设的所述帧提交时刻中所述第一渲染作业的提交时刻;若是,将所述第一渲染作业提交至所述第一GPU,并将所述第一时刻的下一个所述帧提交时刻设置为第二时刻,所述第二时刻为预设的第二渲染作业的提交时刻,所述第二渲染作业为所述第一渲染作业的下一帧渲染作业;若否,等待当前时刻达到所述第一时刻时将所述第一渲染作业提交至所述第一GPU,并将所述第一时刻的下一个所述帧提交时刻设置为所述第二时刻。4.根据权利要求3所述的一种多GPU协同渲染方法,其特征在于,所述确认空闲队列不为空,提交所述第一渲染作业至第一GPU,还包括:根据所述第一渲染作业和所述第二渲染作业生成同步数据,所述同步数据为所述第一渲染作业与所述第二渲染作业之间的上下文数据;将所述同步数据发送给除所述第一GPU以外的其他GPU。5.根据权利要求3所述的一种多GPU协同渲染方法,其特征在于,在所述响应于接收到渲染任务,生成一帧的第一渲染作业这一步骤之...

【专利技术属性】
技术研发人员:黄巍王必成聂凯旋
申请(专利权)人:北京松应科技有限公司
类型:发明
国别省市:

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

1