[发明专利]分级同步数据链的方法、装置及电子设备有效
申请号: | 202210855908.5 | 申请日: | 2022-07-21 |
公开(公告)号: | CN114925139B | 公开(公告)日: | 2022-11-18 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 沐曦科技(成都)有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F5/06;G06T1/20;G06T1/60 |
代理公司: | 北京纪凯知识产权代理有限公司 11245 | 代理人: | 陆惠中 |
地址: | 610096 四川省成都市武侯区中国(四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分级 同步 数据链 方法 装置 电子设备 | ||
本发明提供一种分级同步数据链的方法、装置及电子设备,涉及计算机技术,包括接收下层分解单元响应线程束请求生成的调度信息,所述调度信息由下层分解单元通过适配检查得到;根据存储器对所述调度信息进行存储;接收上层分解单元针对着色器生成的发射许可,基于所述发射许可,将所述调度信息发射给着色器执行。本发明只要缓存深度合适,资源无短缺,可以完全消除口令链带来的等待,所有着色器的资源分发可以一直处于连续状态,流水线无气泡。本实施例在维护发射次序的前提下,达到了理论上的最大吞吐量。
技术领域
本发明涉及计算机技术,尤其涉及一种分级同步数据链的方法、装置及电子设备。
背景技术
软件将任务以网格(grid)为单位交付给硬件。
因为尽力提高并行度的需求,所有任务都是乱序执行。但出于支持场景切换能力的考虑,要求硬件支持随时打断现有网格的分发,并尽快开始执行优先级更高的其它网格。这就提出了设置网格分发断点的需求。如果只按简单的“有资源则分配”原则,则断点无法设置。因为在乱序执行的前提下,某个线程束被分发,不代表在前一个着色器中的上一个线程束已被分发。传统的解决方案,是在着色器之间增加口令链(baton chain)。所有着色器被口令链连成1个圈。任何1个着色器的下层分解单元在做适配检查之前,必须从它在口令链上的上一个着色器获得其线程束已通过适配检查的口令,口令未到则需等待。例外仅限于网格的第一个线程束,它可以在自身适配检查通过的前提下,自由分发,无需等待口令。网格的最后一个线程束,不会向之后的着色器发出口令,以免造成误解。图1为顶层布局。
然而,口令链的传递需要时间,会造成越后面的着色器,额外的延迟越大的情况出现,而整个系统的吞吐量,将受限于延时最长的任务,因此,如何提高吞吐量成为了急需解决的问题。
发明内容
本发明实施例提供一种分级同步数据链的方法、装置及电子设备,目的在于提高吞吐量。
本发明实施例的第一方面,提供一种分级同步数据链的方法,执行于服务器,包括:
接收下层分解单元响应线程束请求生成的调度信息,所述调度信息由下层分解单元通过适配检查得到;
根据存储器对所述调度信息进行存储;
接收上层分解单元针对着色器生成的发射许可;
基于所述发射许可,将所述调度信息发射给着色器执行。
可选地,在第一方面的一种可能实现方式中,根据存储器对所述调度信息进行存储,包括:
根据FIFO存储器对所述调度信息进行存储。
可选地,在第一方面的一种可能实现方式中,在接收下层分解单元响应线程束请求生成的调度信息之后,还包括:
生成下层分解单元通过适配检查的通过信息,将所述通过信息发送给所述上层分解单元。
可选地,在第一方面的一种可能实现方式中,接收上层分解单元针对着色器生成的发射许可,包括:
接收上层分解单元根据所述通过信息针对着色器生成的发射许可;
其中,生成针对着色器的发射许可,包括:
响应所述通过信息,以当前着色器为定位点,检测位于所述当前着色器之前的所有着色器是否都已通过适配检查;
若是,生成所述当前着色器的发射许可。
本发明实施例的第二方面,提供一种分级同步数据链的方法,执行于上层分解单元,包括:
生成针对着色器的发射许可。
可选地,在第二方面的一种可能实现方式中,还包括:
接收服务器生成的所述通过信息。
可选地,在第二方面的一种可能实现方式中,生成针对着色器的发射许可,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于沐曦科技(成都)有限公司,未经沐曦科技(成都)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210855908.5/2.html,转载请声明来源钻瓜专利网。