Agility SDK 1.711.3-preview: Work Graphs, Wave Matrix, AV1 Encoding

David Cook

Tex Riddell

Sil Vilerino

Hi everyone,

Today we’re excited to announce the newest Preview Agility SDK v1.711.3 download;

This SDK previews three new features for developers to discover.  First is Work Graphs, a new way for the GPU to create work for itself.  Second is Wave Matrix support, which allows developers to take advantage of dedicated silicon to speed matrix multiplications commonly used in Machine Learning (ML) and Imaging applications.  Finally, we have support for encoding AV1 video on GPUs drastically reducing encoding time.

Note that this is a preview SDK, which means not all features are representative of their final state and may only be available via “Developer Mode” within Windows.  This preview SDK serves as a first look at these features to explore what will be possible when they ship in a retail SDK later on.


Work Graphs

Work graphs introduce a powerful new form of GPU autonomy.

This first release of work graphs allows compute shaders to request other compute shaders to run asynchronously, for tasks such as culling, binning or chaining of compute work.  These work requests can include a data payload if desired, managed by the system.

Hardware has flexibility to schedule work efficiently without the developer needing to understand the specifics of every device.   The programming model is easier to use and more flexible in many ways than the existing serial ExecuteIndirect model for GPU work generation.

In cases where work graphs aren’t a full replacement for ExecuteIndirect yet, like launching the rasterizer, they can still set up ExecuteIndirect buffers as needed.  New capabilities can be added to work graphs over time.

To learn more about this large feature, please check out the dedicated blog, including a programming guide, specs, samples, drivers and early PIX support.


Wave Matrix

GPUs and compute devices have begun adding dedicated silicon to their hardware to support matrix multiplication at higher bandwidths for usage in machine learning and imaging applications. To allow access to this dedicated silicon, HLSL is adding Wave Matrix instructions to the language, also known as Wave Matrix Multiply Accumulate (WaveMMA).  This addition defines several new abstract Wave Matrix data types, which allows the underlying hardware to store, rearrange, and duplicate data across all threads in a wave.

Here are the specs.

Wave Matrix driver support:

  • AMD: A preview AMD Software: Adrenalin Edition™ driver including the AMD implementation of the current WaveMMA specification on AMD Radeon™ RX 7000 Series graphics cards can be downloaded here
  • Intel: For Intel drivers, please contact your developer representative
  • NVIDIA: For NVIDIA drivers, please reach out to your developer engagement representative
  • Qualcomm: Future support is planned

AV1 Encoding

AV1 is a new codec that is gaining adoption across the industry by providing higher compression performance while maintaining the same quality as other available codecs.

In recent years dedicated hardware for encoding video using AV1 has become available.  By extending the existing D3D12 Video Encode API we previously announced, we are able to provide a unified interface to access to the AV1 video encode hardware.

Here are the specs.

The detailed API interfaces and structure definitions can be found here and can be used with this post’s preview Agility SDK.

AV1 Encoding driver support:

  • AMD: An AMD Software: Adrenalin Edition™ driver with support for AV1 Encode on AMD Radeon™ RX 7000 Series graphics GPUs will be available estimated Q4 of 2023
  • Intel: Support for AV1 Encode is available for Intel® Arc™ starting with driver 31.0.101.4952
  • NVIDIA: RTX 40 series GPUs, driver version 545.31+
  • Qualcomm: Future support is planned

0 comments

Comments are closed. Login to edit/delete your existing comments

Feedback usabilla icon