技术新讯 > 计算推算,计数设备的制造及其应用技术 > GPU图元预处理装置、系统及方法与流程  >  正文

GPU图元预处理装置、系统及方法与流程

  • 国知局
  • 2024-11-06 14:45:02

本公开涉及计算机,尤其涉及一种gpu图元预处理装置、系统及方法。

背景技术:

1、在图形处理器(graphics processing unit,gpu)设计的早期阶段,软件建模对于验证gpu的功能和性能至关重要。这一过程不仅允许对gpu的潜在性能进行预先评估,同时也通过模拟环境提供给软件开发人员一个早期的开发平台。这种方法促进了多部门的并行开发,加速了整个项目的进度。在gpu建模过程中,向软件开发人员提供一个完整、符合设计标准的gpu模型至关重要。这样做使得开发人员能够在虚拟机中解析通过pcie接口传递的合规数据。但相关技术中,模拟gpu预处理过程中的建模方式,存在模型复杂度高、硬件级模块耦合强度高、硬件设计限制模型开发设计、运行效率低下等问题。

技术实现思路

1、有鉴于此,本公开提出了一种gpu图元预处理装置、系统及方法。

2、根据本公开的一方面,提供了一种gpu图元预处理装置,所述装置包括预处理模块,所述预处理模块用于执行以下步骤:

3、接收来自gpu指令前端的渲染指令,并获取所述渲染指令对应的状态信息和顶点索引关系,所述状态信息包括顶点索引的第一存储信息、指示顶点索引排布方式的拓扑结构、顶点数据的第二存储信息,所述顶点索引关系用于指示同一顶点的顶点索引和顶点数据之间的对应关系;

4、根据所述第一存储信息从gpu显存的顶点索引缓冲区中获取到顶点索引信息,所述顶点索引信息包括多个顶点索引;

5、根据所述拓扑结构和所述第一存储信息对所述顶点索引信息中的多个顶点索引进行分割,得到所述渲染指令中各图元对应的至少一个顶点索引;

6、根据各所述图元对应的至少一个顶点索引、所述顶点索引关系和所述第二存储信息,从所述gpu显存中的顶点数据缓冲区内获取到每个所述图元对应的各顶点数据;

7、对各所述图元的所有顶点数据进行数据整合,形成各所述图元的图元信息;

8、将各所述图元的所述图元信息发送至gpu流水线模块,以使所述gpu流水线模块基于各所述图元的图元信息执行针对所述渲染指令的渲染任务。

9、在一种可能的实现方式中,所述预处理模块,还用于在进行数据整合的过程中为各所述图元的图元信息添加图元标识,还将各图元的图元信息发送至调试模块,以使所述调试模块基于各所述图元的图元标识进行对应的图元日志展示。

10、在一种可能的实现方式中,所述装置还包括所述调试模块,

11、所述调试模块,用于接收并记录来自所述预处理模块各所述图元的图元信息;以及

12、在接收到针对待查图元的查看请求的情况下,根据所述查看请求指示的待查图元标识从所述gpu流水线模块中获取到所述待查图元的处理进度,根据所述待查图元的处理进度形成对应的图元日志并展示;

13、其中,所述图元日志以json格式展示。

14、在一种可能的实现方式中,所述第一存储信息包括索引编号、索引位宽和所述顶点索引缓冲区的第一起始地址,

15、其中,根据所述第一存储信息从gpu显存的顶点索引缓冲区中获取到顶点索引信息,所述顶点索引信息包括多个顶点索引,包括:从所述第一起始地址指示的gpu显存的顶点索引缓冲区中获取到顶点索引信息;

16、根据所述拓扑结构和所述第一存储信息对所述顶点索引信息中的多个顶点索引进行分割,得到所述渲染指令中各图元对应的至少一个顶点索引,包括:根据所述拓扑结构、所述索引编号和所述索引位宽对所述顶点索引信息中的多个顶点索引进行分割,得到所述渲染指令中各图元对应的至少一个顶点索引。

17、在一种可能的实现方式中,所述第二存储信息包括顶点编号、顶点位宽和所述顶点数据缓冲区的第二起始地址;所述顶点索引关系通过索引编号和顶点编号之间的对应关系来表示顶点索引和顶点数据之间的对应关系;

18、其中,根据各所述图元对应的至少一个顶点索引、所述顶点索引关系和所述第二存储信息,从所述gpu显存中的顶点数据缓冲区内获取到每个所述图元对应的各顶点数据,包括:

19、根据每个所述图元对应的各顶点索引的索引编号和所述顶点索引关系,确定出每个所述图元对应的各顶点数据的顶点编号;

20、根据每个所述图元对应的各顶点数据的顶点编号和所述顶点位宽,确定出每个所述图元对应的各顶点数据相对于所述第二起始地址的偏移地址;

21、根据每个所述图元对应的各顶点数据的偏移地址和所述第二起始地址,从所述gpu显存中的顶点数据缓冲区内获取到每个所述图元对应的各顶点数据。

22、在一种可能的实现方式中,所述顶点索引信息中设置有至少一个分割标识符和/或结束标识符,各所述分割标识符设置在顶点索引信息中对应的顶点索引之间,所述分割标识符用于指示所述顶点索引信息中需要重置分割算法再继续进行顶点索引分割的位置,所述结束标识符用于指示所述顶点索引信息中需要结束顶点索引分割的位置。

23、在一种可能的实现方式中,所述预处理模块通过存储模块接口访问所述gpu显存,所述存储模块接口是针对需要验证的gpu预先建模形成的。

24、在一种可能的实现方式中,所述预处理模块是针对需要验证的gpu的功能预先建模形成的。

25、根据本公开的另一方面,提供了一种gpu图元预处理系统,所述系统包括:gpu图元预处理装置、gpu显存、gpu流水线模块;

26、所述gpu图元预处理装置中的预处理模块执行以下步骤:

27、接收来自gpu指令前端的渲染指令,并获取所述渲染指令对应的状态信息和顶点索引关系,所述状态信息包括顶点索引的第一存储信息、指示顶点索引排布方式的拓扑结构、顶点数据的第二存储信息,所述顶点索引关系用于指示同一顶点的顶点索引和顶点数据之间的对应关系;

28、根据所述第一存储信息从gpu显存的顶点索引缓冲区中获取到顶点索引信息,所述顶点索引信息包括多个顶点索引;

29、根据所述拓扑结构和所述第一存储信息对所述顶点索引信息中的多个顶点索引进行分割,得到所述渲染指令中各图元对应的至少一个顶点索引;

30、根据各所述图元对应的至少一个顶点索引、所述顶点索引关系和所述第二存储信息,从所述gpu显存中的顶点数据缓冲区内获取到每个所述图元对应的各顶点数据;

31、对各所述图元的所有顶点数据进行数据整合,形成各所述图元的图元信息;

32、将各所述图元的所述图元信息发送至gpu流水线模块;

33、所述gpu流水线模块,用于基于各所述图元的图元信息执行针对所述渲染指令的渲染任务。

34、在一种可能的实现方式中,所述预处理模块,还用于在进行数据整合的过程中为各所述图元的图元信息添加图元标识,还将各图元的图元信息发送至调试模块,以使所述调试模块基于各所述图元的图元标识进行对应的图元日志展示。

35、在一种可能的实现方式中,所述gpu图元预处理装置还包括所述调试模块,

36、所述调试模块,用于接收并记录来自所述预处理模块各所述图元的图元信息;以及

37、在接收到针对待查图元的查看请求的情况下,根据所述查看请求指示的待查图元标识从所述gpu流水线模块中获取到所述待查图元的处理进度,根据所述待查图元的处理进度形成对应的图元日志并展示;

38、其中,所述图元日志以json格式展示。

39、在一种可能的实现方式中,所述第一存储信息包括索引编号、索引位宽和所述顶点索引缓冲区的第一起始地址,

40、其中,根据所述第一存储信息从gpu显存的顶点索引缓冲区中获取到顶点索引信息,所述顶点索引信息包括多个顶点索引,包括:从所述第一起始地址指示的gpu显存的顶点索引缓冲区中获取到顶点索引信息;

41、根据所述拓扑结构和所述第一存储信息对所述顶点索引信息中的多个顶点索引进行分割,得到所述渲染指令中各图元对应的至少一个顶点索引,包括:根据所述拓扑结构、所述索引编号和所述索引位宽对所述顶点索引信息中的多个顶点索引进行分割,得到所述渲染指令中各图元对应的至少一个顶点索引。

42、在一种可能的实现方式中,所述第二存储信息包括顶点编号、顶点位宽和所述顶点数据缓冲区的第二起始地址;所述顶点索引关系通过索引编号和顶点编号之间的对应关系来表示顶点索引和顶点数据之间的对应关系;

43、其中,根据各所述图元对应的至少一个顶点索引、所述顶点索引关系和所述第二存储信息,从所述gpu显存中的顶点数据缓冲区内获取到每个所述图元对应的各顶点数据,包括:

44、根据每个所述图元对应的各顶点索引的索引编号和所述顶点索引关系,确定出每个所述图元对应的各顶点数据的顶点编号;

45、根据每个所述图元对应的各顶点数据的顶点编号和所述顶点位宽,确定出每个所述图元对应的各顶点数据相对于所述第二起始地址的偏移地址;

46、根据每个所述图元对应的各顶点数据的偏移地址和所述第二起始地址,从所述gpu显存中的顶点数据缓冲区内获取到每个所述图元对应的各顶点数据。

47、在一种可能的实现方式中,所述顶点索引信息中设置有至少一个分割标识符和/或结束标识符,各所述分割标识符设置在顶点索引信息中对应的顶点索引之间,所述分割标识符用于指示所述顶点索引信息中需要重置分割算法再继续进行顶点索引分割的位置,所述结束标识符用于指示所述顶点索引信息中需要结束顶点索引分割的位置。

48、在一种可能的实现方式中,所述系统还包括存储模块接口,所述预处理模块通过所述存储模块接口访问所述gpu显存,所述存储模块接口是针对需要验证的gpu预先建模形成的。

49、在一种可能的实现方式中,所述预处理模块是针对需要验证的gpu的功能预先建模形成的。

50、根据本公开的另一方面,提供了一种gpu图元预处理方法,应用于gpu图元预处理装置,所述装置包括预处理模块,所述方法包括控制所述预处理模块执行以下步骤:

51、接收来自gpu指令前端的渲染指令,并获取所述渲染指令对应的状态信息和顶点索引关系,所述状态信息包括顶点索引的第一存储信息、指示顶点索引排布方式的拓扑结构、顶点数据的第二存储信息,所述顶点索引关系用于指示同一顶点的顶点索引和顶点数据之间的对应关系;

52、根据所述第一存储信息从gpu显存的顶点索引缓冲区中获取到顶点索引信息,所述顶点索引信息包括多个顶点索引;

53、根据所述拓扑结构和所述第一存储信息对所述顶点索引信息中的多个顶点索引进行分割,得到所述渲染指令中各图元对应的至少一个顶点索引;

54、根据各所述图元对应的至少一个顶点索引、所述顶点索引关系和所述第二存储信息,从所述gpu显存中的顶点数据缓冲区内获取到每个所述图元对应的各顶点数据;

55、对各所述图元的所有顶点数据进行数据整合,形成各所述图元的图元信息;

56、将各所述图元的所述图元信息发送至gpu流水线模块,以使所述gpu流水线模块基于各所述图元的图元信息执行针对所述渲染指令的渲染任务。

57、在一种可能的实现方式中,所述方法还包括:

58、控制所述预处理模块在进行数据整合的过程中为各所述图元的图元信息添加图元标识,还将各图元的图元信息发送至调试模块,以使所述调试模块基于各所述图元的图元标识进行对应的图元日志展示。

59、在一种可能的实现方式中,所述方法还包括:控制所述调试模块接收并记录来自所述预处理模块各所述图元的图元信息;以及在接收到针对待查图元的查看请求的情况下,根据所述查看请求指示的待查图元标识从所述gpu流水线模块中获取到所述待查图元的处理进度,根据所述待查图元的处理进度形成对应的图元日志并展示;

60、其中,所述图元日志以json格式展示。

61、在一种可能的实现方式中,所述第一存储信息包括索引编号、索引位宽和所述顶点索引缓冲区的第一起始地址,

62、其中,根据所述第一存储信息从gpu显存的顶点索引缓冲区中获取到顶点索引信息,所述顶点索引信息包括多个顶点索引,包括:从所述第一起始地址指示的gpu显存的顶点索引缓冲区中获取到顶点索引信息;

63、根据所述拓扑结构和所述第一存储信息对所述顶点索引信息中的多个顶点索引进行分割,得到所述渲染指令中各图元对应的至少一个顶点索引,包括:根据所述拓扑结构、所述索引编号和所述索引位宽对所述顶点索引信息中的多个顶点索引进行分割,得到所述渲染指令中各图元对应的至少一个顶点索引。

64、在一种可能的实现方式中,所述第二存储信息包括顶点编号、顶点位宽和所述顶点数据缓冲区的第二起始地址;所述顶点索引关系通过索引编号和顶点编号之间的对应关系来表示顶点索引和顶点数据之间的对应关系;

65、其中,根据各所述图元对应的至少一个顶点索引、所述顶点索引关系和所述第二存储信息,从所述gpu显存中的顶点数据缓冲区内获取到每个所述图元对应的各顶点数据,包括:

66、根据每个所述图元对应的各顶点索引的索引编号和所述顶点索引关系,确定出每个所述图元对应的各顶点数据的顶点编号;

67、根据每个所述图元对应的各顶点数据的顶点编号和所述顶点位宽,确定出每个所述图元对应的各顶点数据相对于所述第二起始地址的偏移地址;

68、根据每个所述图元对应的各顶点数据的偏移地址和所述第二起始地址,从所述gpu显存中的顶点数据缓冲区内获取到每个所述图元对应的各顶点数据。

69、在一种可能的实现方式中,所述顶点索引信息中设置有至少一个分割标识符和/或结束标识符,各所述分割标识符设置在顶点索引信息中对应的顶点索引之间,所述分割标识符用于指示所述顶点索引信息中需要重置分割算法再继续进行顶点索引分割的位置,所述结束标识符用于指示所述顶点索引信息中需要结束顶点索引分割的位置。

70、在一种可能的实现方式中,所述预处理模块是针对需要验证的gpu的功能预先建模形成的。

71、根据本公开的另一方面,提供了一种gpu图元预处理装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为在执行所述存储器存储的指令时,实现上述方法。

72、根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。

73、根据本公开的另一方面,提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。

74、本公开实施例提供的gpu图元预处理装置、系统及方法,具有以下优势:

75、简化硬件设计建模流程:通过简化基于硬件的设计建模流程,显著提升开发效率和维护便捷性。在gpu设计阶段大幅提前软件开发的启动时间,有助于实现部门间的并行开发。

76、模块间耦合度降低:采用基于功能概念的模块替代传统硬件模块,消除硬件模块间的同步依赖,实现了模型的高内聚性和低耦合度。

77、为软件开发提供实时反馈:提供的gpu图元预处理装置能够实时记录关键运行信息,并以日志形式呈现,有效降低软件开发过程中的调试难度和时间成本。

78、轻量级模型实现高效模拟:通过剔除不必要的硬件模拟细节,构建了一个高效的轻量级模型,显著提升了模拟速度。

79、根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

本文地址:https://www.jishuxx.com/zhuanli/20241106/323919.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。