{"id":8154,"date":"2023-06-22T11:42:04","date_gmt":"2023-06-22T18:42:04","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/directx\/?p=8154"},"modified":"2023-11-06T11:03:01","modified_gmt":"2023-11-06T19:03:01","slug":"agility-sdk-1-711","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/directx\/agility-sdk-1-711\/","title":{"rendered":"Agility SDK 1.711.3-preview: Work Graphs, Wave Matrix, AV1 Encoding"},"content":{"rendered":"<p>Hi everyone,<\/p>\n<p>Today we\u2019re excited to announce the newest Preview Agility SDK v1.711.3 <a href=\"https:\/\/devblogs.microsoft.com\/directx\/directx12agility\/\" target=\"_blank\" rel=\"noopener\">download<\/a>;<\/p>\n<p>This SDK previews three new features for developers to discover.\u00a0 First is <strong>Work Graphs<\/strong>, a new way for the GPU to create work for itself. \u00a0Second is <strong>Wave Matrix<\/strong> support, which allows developers to take advantage of dedicated silicon to speed matrix multiplications commonly used in Machine Learning (ML) and Imaging applications.\u00a0 Finally, we have support for <strong>encoding AV1 video on GPUs<\/strong> drastically reducing encoding time.<\/p>\n<p>Note that this is a preview SDK, which means not all features are representative of their final state and may only be available via &#8220;Developer Mode&#8221; within Windows.\u00a0 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.<\/p>\n<hr \/>\n<h3>Work Graphs<\/h3>\n<p>Work graphs introduce a powerful new form of GPU autonomy.<\/p>\n<p>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.\u00a0 These work requests can include a data payload if desired, managed by the system.<\/p>\n<p>Hardware has flexibility to schedule work efficiently without the developer needing to understand the specifics of every device.\u00a0\u00a0 The programming model is easier to use and more flexible in many ways than the existing serial ExecuteIndirect model for GPU work generation.<\/p>\n<p>In cases where work graphs aren\u2019t a full replacement for ExecuteIndirect yet, like launching the rasterizer, they can still set up ExecuteIndirect buffers as needed. \u00a0New capabilities can be added to work graphs over time.<\/p>\n<p>To learn more about this large feature, please check out the <a href=\"https:\/\/devblogs.microsoft.com\/directx\/d3d12-work-graphs-preview\/\" target=\"_blank\" rel=\"noopener\">dedicated blog<\/a>, including a programming guide, specs, samples, <a href=\"https:\/\/devblogs.microsoft.com\/directx\/d3d12-work-graphs-preview\/#Prerequisites\" target=\"_blank\" rel=\"noopener\">drivers<\/a> and early PIX support.<\/p>\n<hr \/>\n<h3>Wave Matrix<\/h3>\n<p>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).\u00a0 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.<\/p>\n<p>Here are the <a href=\"https:\/\/github.com\/microsoft\/DirectX-Specs\/blob\/master\/d3d\/HLSL_SM_6_8_WaveMatrix.md\" target=\"_blank\" rel=\"noopener\">specs<\/a>.<\/p>\n<p>Wave Matrix driver support:<\/p>\n<ul>\n<li><strong>AMD<\/strong>: A preview AMD Software: Adrenalin Edition\u2122 driver including the AMD implementation of the current WaveMMA specification on AMD Radeon\u2122 RX 7000 Series graphics cards can be downloaded <a href=\"https:\/\/www.amd.com\/en\/support\/kb\/release-notes\/rn-rad-ms-agility-sdk-2023-6-711\" target=\"_blank\" rel=\"noopener\">here<\/a><\/li>\n<li><strong>Intel<\/strong>: For Intel drivers, please contact your developer representative<\/li>\n<li><strong>NVIDIA<\/strong>: For NVIDIA drivers, please reach out to your developer engagement representative<\/li>\n<li><strong>Qualcomm<\/strong>: Future support is planned<\/li>\n<\/ul>\n<hr \/>\n<h3>AV1 Encoding<\/h3>\n<p>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.<\/p>\n<p>In recent years dedicated hardware for encoding video using AV1 has become available.\u00a0 By extending the existing D3D12 Video Encode API <a href=\"https:\/\/devblogs.microsoft.com\/directx\/announcing-new-directx-12-feature-video-encoding\/\">we previously announced<\/a>, we are able to provide a unified interface to access to the AV1 video encode hardware.<\/p>\n<p>Here are the <a href=\"https:\/\/microsoft.github.io\/DirectX-Specs\/d3d\/D3D12_Video_Encoding_AV1.html\" target=\"_blank\" rel=\"noopener\">specs<\/a>.<\/p>\n<p>The detailed API interfaces and structure definitions can be found <a href=\"https:\/\/github.com\/microsoft\/DirectX-Headers\/blob\/preview\/include\/directx\/d3d12video.h\">here<\/a> and can be used with this post\u2019s preview Agility SDK.<\/p>\n<p>AV1 Encoding driver support:<\/p>\n<ul>\n<li><strong>AMD<\/strong>: An AMD Software: Adrenalin Edition\u2122 driver with support for AV1 Encode on AMD Radeon\u2122 RX 7000 Series graphics GPUs will be available estimated Q4 of 2023<\/li>\n<li><strong>Intel<\/strong>: Support for AV1 Encode is available for Intel\u00ae Arc\u2122 starting with driver\u00a0<a title=\"Original URL: https:\/\/www.intel.com\/content\/www\/us\/en\/download\/785597\/intel-arc-iris-xe-graphics-windows.html. Click or tap if you trust this link.\" href=\"https:\/\/nam06.safelinks.protection.outlook.com\/?url=https%3A%2F%2Fwww.intel.com%2Fcontent%2Fwww%2Fus%2Fen%2Fdownload%2F785597%2Fintel-arc-iris-xe-graphics-windows.html&amp;data=05%7C01%7Cdavidcook%40microsoft.com%7C1ac66b951d3b4c55b07408dbdbd97f83%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C638345499467335221%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=r%2Fr8MSOQIkq8IaNvBa9lmB%2Fj8AtN4IdUFVBwLW8b%2B8g%3D&amp;reserved=0\" data-auth=\"Verified\" data-ogsc=\"\" data-linkindex=\"1\">31.0.101.<span lang=\"EN-CA\" data-ogsc=\"\">4952<\/span><\/a><\/li>\n<li><strong>NVIDIA<\/strong>: RTX 40 series GPUs, driver version 545.31+<\/li>\n<li><strong>Qualcomm<\/strong>: Future support is planned<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Hi everyone, Today we\u2019re excited to announce the newest Preview Agility SDK v1.711.3 download; This SDK previews three new features for developers to discover.\u00a0 First is Work Graphs, a new way for the GPU to create work for itself. \u00a0Second is Wave Matrix support, which allows developers to take advantage of dedicated silicon to speed [&hellip;]<\/p>\n","protected":false},"author":115916,"featured_media":12651,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-8154","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-directx"],"acf":[],"blog_post_summary":"<p>Hi everyone, Today we\u2019re excited to announce the newest Preview Agility SDK v1.711.3 download; This SDK previews three new features for developers to discover.\u00a0 First is Work Graphs, a new way for the GPU to create work for itself. \u00a0Second is Wave Matrix support, which allows developers to take advantage of dedicated silicon to speed [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/directx\/wp-json\/wp\/v2\/posts\/8154","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/directx\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/directx\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/directx\/wp-json\/wp\/v2\/users\/115916"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/directx\/wp-json\/wp\/v2\/comments?post=8154"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/directx\/wp-json\/wp\/v2\/posts\/8154\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/directx\/wp-json\/wp\/v2\/media\/12651"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/directx\/wp-json\/wp\/v2\/media?parent=8154"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/directx\/wp-json\/wp\/v2\/categories?post=8154"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/directx\/wp-json\/wp\/v2\/tags?post=8154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}