Microsoft releases Work Graphs API enabling advanced GPU-driven rendering

Agility SDK 1.613: Shader Model 6.8 and Work Graphs

Microsoft released a new Agility Software Development Kit that that enables new features.

The Agility SDK 1.613 comes with Shader Model 6.8 and Work Graphs support. The latter is an important feature that will promote the use of GPU-driver rendering, offloading the tasks from the CPU. The GPUs will be able to generate work for themselves on the fly.  This idea was promoted by Epic developers, who have been advocating for a way that enables GPU to perform more tasks on their own.

To put it very simply, currently, for the final image to be rendered, some work is done by the CPU, and some by the GPU. But sometimes, the CPU spends too much time deciding what the GPU should do next. Work graphs is a system that helps the CPU and GPU work together more efficiently.

They allow the CPU to plan ahead and organize tasks for the GPU. Instead of waiting for each block, the CPU can provide a list of things to do in advance, so the GPU does not have to wait for another task to be submitted. CPUs and GPUs working together can manage memory faster, keep things organized, and allow complex tasks to be done smoothly.

Work Graph, Source: NVIDIA

The updated Shader Model 6.8 also brings new features as well, such as Start Vertex/Instance Location , allowing the shaders to parameters from the API call. This can be useful for custom address calculations independent of fixed function data. Additionally, there are Wave Size Range feature which allows developers to determine the preferred size of the wave in shaders. It may help in reduction of required shader or even eliminate for multiple shaders to be used. Finally, there is Expanded Comparison Sampling , which should enable better cross-platform shaders.

The new feature called GPU Upload Heaps enables a fast way to copy data from the CPU to the GPU. This eliminates the need for a PCI bus to transfer data from the VRAM to the CPU. This feature utilizes ResizableBAR which allows the CPU to write data to the VRAM with low latency.

You can start using the new SDK with help from AMD and NVIDIA, who launched day-0 drivers for the new SDK. Work Graphs are supported by NVIDIA Ampere and Ada GPUs with drivers 551.76 or newer. AMD is only confirming that Work Graphs work on RDNA3 architecture RX 7000 GPUs (for now). Intel has not released any drivers.

Source: Microsoft , Microsoft , AMD , NVIDIA