DirectX 12工作图正式发布 新GPU自主系统旨在消除CPU瓶颈

站长云网 2024-03-12 5iter.com 站长云网

微软今天正式发布了一项新的DirectX12功能,该功能在预览版中已经推出了一段时间。在一篇长长的博文中,Direct3D工程师AmarPatel和DirectX编译器工程师TexRiddell对工作图(WorkGraphs)进行了解释,这是D3D12中的GPU自主系统,旨在解决GPU上一般计算工作负载的限制,并释放GPU的潜在能力。

简单地说,新系统旨在切换到更高效的GPU驱动渲染系统,减少在不同工作负载中使用CPU的需求。

在许多GPU工作负载中,GPU上的初始计算决定了GPU需要进行的后续工作。这可以通过返回CPU发布新工作来实现。但通常情况下,GPU最好能直接为自己提供信息。D3D12中的ExecuteIndirect就是这样一种形式,应用程序使用GPU记录一个非常受限的命令缓冲区,该缓冲区需要在GPU上进行串行处理,以发布新的工作。

考虑一种新方案,假设在GPU上运行的着色器线程(生产者)可以请求其他工作运行(消费者)。消费者也可以是生产者。只要GPU有能力运行,系统就能安排所请求的工作。应用程序还可以让系统管理任务间数据流的内存。这就是工作图,工作图是一个节点图,每个节点上的着色器代码都可以请求调用其他节点,而无需等待它们启动。工作图可以捕捉用户的算法意图和整体结构,而不会让开发人员过多地了解具体的硬件运行情况。异步的特性使系统可以最大限度地自由决定如何以最佳方式执行工作。

有关DirectX12工作图功能的全部详细信息,请访问:

https://devblogs.microsoft.com/directx/d3d12-work-graphs/

责任编辑:站长云网