网站首页 >> 新闻动态 >>行业资讯 >> 微软D3D12加入工作图新功能,将解除GPU通用运算天花板
详细内容

微软D3D12加入工作图新功能,将解除GPU通用运算天花板

1.webp.jpg

微软计划在3D图形程序开发接口D3D12加入工作图(Work Graphs),微软提到,这项功能可解除目前GPU程序开发模型中的限制,让GPU通用运算能够处理更多的工作负载,更广泛地被应用。AMD、Nvidia、英特尔和高通四大芯片厂商都参与工作图的设计。

不少的GPU工作负载,由之前其他GPU的工作所衍伸,传统上,当GPU工作负载的行为,需要根据之前的GPU运算结果决定,则系统还是必须先将GPU运算结果回传CPU,交由CPU解读之后重新发派工作给GPU。

像是Epic Games所开发的虚幻引擎5,里面所提供的两项新技术,虚拟化几何技术Nanite以及全局光照解决方案Lumen,就因为传统CPU与GPU架构的限制,使得当前运算着色器范式已经碰触到架构的极限,因为Nanite和Lumen所使用的范式,需要由CPU发出一系列独立的调度。

虽然这种模式在多种情况运行良好,但是却会增加GPU和CPU之间的通信开销,且在等待CPU的时间,GPU可能出现闲置,因此如果存在一个机制可以直接由GPU重新发派工作,那运算将会更有效率,也能最大化GPU的利用率。这样的概念之前在D3D12就已经被使用过,一个称为ExecuteIndirect的指令,就允许GPU在不需要CPU介入的情况下下,依据先前GPU的运算结果,决定所要执行的工作负载。

新的工作图(Work Graphs)是让GPU上运行的着色器线程(生产者),也可以请求执行其他工作(消费者),而一旦GPU有空,系统便可以安排这些重新请求的工作给GPU,系统也能管理资料流所使用的内存。工作图可以被看作是一种结构,其中的节点由着色器程序代码组成,每个节点都可以重新请求其他节点。

工作图可以表达出开发者所设计的算法意图和结构,但又不会过度造成开发人员的负担,开发人员不会具体知道特定程序代码会在哪个硬件上执行,微软提到,这种模型的异步性,让系统拥有更大的自由度,决定执行工作的最佳方法。

不过也并非所有应用程序的工作负载,皆适用工作图模型,依据工作的特性和硬件的复杂度,现有方法可能更适合。而目前工作图模型的设计,主要把重点摆在生产者与消费者之间的运行,没有特别设计同步等待的概念,因此让消费者启动等待生产者节点完成所有工作,虽然可以巧妙安排着色器逻辑来完成这项目的,但是目前尚未有原生同步支持。

AMD、Nvidia、英特尔和高通都加入协助设计工作图,虽然目前工作图还在早期预览阶段,但AMD显卡驱动程序则率先支持工作图,他们已在AMD Radeon RX 7000系列显卡的Adrenalin版本驱动程序实例工作图API,同时也有相对应的文件供开发者阅读。

实子集群(武汉)科技有限公司

服务热线:400-0138598

底部导航

联系我们

联系电话:武汉专线  027-63372276;13971656699

                  北京专线  010-51528116;13811664414

电子邮件: liqifeng@stoneserver.com.cn

生产基地:武汉经济技术开发区南太子湖创新谷启迪协信科创园

地址:  武汉市东西湖区宏图大道8号武汉客厅G-806

在线咨询


扫码关注

版权所有:实子集群(武汉)科技有限公司 备案号:鄂ICP备16015436号-2

技术支持:武汉网站优化

扫码加微信

移动工作站

点击这里给我发消息 seo seo