微软在一篇博客文章中,由Direct3D工程师Amar Patel和DirectX编译器工程师Tex Riddell对Work Graphs进行了解释。Work Graphs是D3D12中的GPU自主系统,旨在解决GPU上一般计算工作负载的限制,并解锁潜在的GPU功能。简而言之,新系统旨在切换到更高效的GPU驱动渲染系统,减少在不同工作负载下使用CPU的需求。
在许多GPU工作负载中,GPU上的初始计算决定了GPU需要做哪些后续工作,可以通过返回CPU以发出新的工作任务来完成。不过对于GPU来说,能够为自己生成工作任务,直接提供数据效果会更好。D3D12中的ExecuteIndirect是这种形式的一种,其中应用程序使用GPU记录一个非常受限的命令缓冲区。需要在GPU上进行串行处理,以发布新的工作。
这考虑到一种新的方案,假设在GPU上运行的着色器线程(生产者)可以请求其他工作运行(消费者)。那么消费者也可以是生产者,只要GPU有能力运行,系统就能安排所请求的工作。此外,应用程序还可以让系统管理任务间数据流的内存。
微软资讯推荐
win10系统推荐
系统教程推荐