{"id":13103,"date":"2026-03-12T13:33:24","date_gmt":"2026-03-12T20:33:24","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/directx\/?p=13103"},"modified":"2026-03-13T09:21:42","modified_gmt":"2026-03-13T16:21:42","slug":"evolving-directx-for-the-ml-era-on-windows","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/directx\/evolving-directx-for-the-ml-era-on-windows\/","title":{"rendered":"Evolving DirectX for the ML Era on Windows"},"content":{"rendered":"<p>At GDC this year, we shared how machine learning is becoming foundational to real time graphics, and how DirectX is evolving to meet that shift across shader level and model level ML. ML is no longer a niche optimization or a postprocess trick. It\u2019s increasingly embedded throughout the graphics pipeline, influencing how frames are generated, how content is authored, and how game developers realize their artistic vision. DirectX is evolving to support this future\u2014 one where ML is a first-class citizen alongside traditional rendering workloads.<\/p>\n<h1>Introducing DX Linear Algebra<\/h1>\n<p>Last year, DirectX took a major step into the ML era with the introduction of Cooperative Vector in Shader Model 6.9. For the first time, developers could access hardware accelerated vector\u2013matrix operations directly from HLSL, enabling a class of neural rendering techniques that execute inline with traditional shading. These workloads\u2014such as neural texture compression (DTC) and neural radiance caching (NRC)\u2014map naturally to highly parallel, per-pixel inference.<\/p>\n<p>Cooperative Vector has since demonstrated that ML can be effectively integrated directly into the graphics pipeline, particularly for scenarios where developers want fine-grained, shader level control over how ML is applied alongside traditional rendering logic.<\/p>\n<p>As ML usage expanded, however, it became clear that not all workloads fit this execution model. Many common and emerging scenarios\u2014such as denoising, temporal upscaling, and more\u2014require matrix\u2013matrix operations, shared data across threads, and batch-oriented execution that go beyond what vector\u2013matrix primitives alone can efficiently express.<\/p>\n<p>To address this gap, we introduced DirectX Linear Algebra, an expansion of DirectX\u2019s math capabilities designed to support both vector and matrix-based ML workloads under a single programming model. DX Linear Algebra adds first-class matrix\u2013matrix operations while preserving the ability to author ML directly in HLSL, giving developers explicit control over math, data flow, and execution for shader level ML scenarios. These capabilities establish a scalable foundation for shader\u2011level ML in DirectX.<\/p>\n<h1>Expanding to Model Level ML with DirectX Compute Graph Compiler<\/h1>\n<p>While shader-level ML is powerful, many modern ML-driven graphics workloads are best expressed and optimized as full computation graphs, not as isolated operators or hand-authored kernels. These graphs capture end-to-end structure\u2014dataflow, dependencies, and deep fusion\u2014that are difficult or impossible to exploit at the shader level, especially when targeting the full PC ecosystem.<\/p>\n<p>That\u2019s why we introduced DirectX Compute Graph Compiler.<\/p>\n<p>DirectX Compute Graph Compiler is a new DirectX ML compiler API designed to execute full model graphs with native class GPU performance. Models flow from modern frameworks, where DirectX can analyze and specialize the complete graph for a given device before lowering it into optimized workloads that integrate natively with D3D12 queues and command lists.<\/p>\n<p>Key benefits include:<\/p>\n<ul>\n<li>Dropping full models into engines without shader rewrites<\/li>\n<li>Automatic graph optimization, memory planning, and operator fusion<\/li>\n<li>Portable performance across IHVs<\/li>\n<li>Unified tooling with PIX, showing graphics and ML workloads in a single capture<\/li>\n<\/ul>\n<p>Shader-level ML and model-level ML now live side by side in DirectX: HLSL Linear Algebra for small, inline workloads and DirectX Compute Graph Compiler for larger models.<\/p>\n<h1>Support from our hardware vendor partners<\/h1>\n<p><strong>AMD<\/strong>: <em>\u201cDirectX Linear Algebra and DirectX Compute Graph Compiler give developers new ways to integrate machine learning directly into their graphics pipelines while retaining the control and performance characteristics they expect from modern GPUs. We\u2019re excited to collaborate with Microsoft on advancing ML-driven graphics on Windows.\u201d<\/em> &#8211; Robert Shearer, CVP Silicon Design Engineering, AMD<\/p>\n<p>For more, see <a href=\"https:\/\/gpuopen.com\/learn\/amd-microsoft-gdc-2026\/\">here<\/a><\/p>\n<p><strong>Intel<\/strong>: <em>\u201cDirectX Linear Algebra gives developers a powerful new foundation for bringing matrix-based machine learning directly into real-time graphics workflows. We\u2019re excited to support Linear Algebra on day one.\u201d<\/em> &#8211; Lisa Pearce, Corporate Vice President, Software Group, Intel<\/p>\n<p>For more, see <a href=\"https:\/\/www.intel.com\/content\/www\/us\/en\/developer\/articles\/news\/microsoft-collaboration-powers-future-of-pc-gaming.html\">here<\/a><\/p>\n<p><strong>NVIDIA<\/strong>: <em>\u201cWith DirectX Linear Algebra and DirectX Compute Graph Compiler, developers gain flexible paths to integrate both shader level and model level machine learning seamlessly into their graphics pipelines. We\u2019re pleased to support both capabilities and to collaborate with Microsoft on accelerating ML driven rendering and inference workflows on NVIDIA GeForce RTX GPUs.\u201d<\/em> &#8211; Patrick Neill, Distinguished Engineer, NVIDIA<\/p>\n<p>For more, see <a href=\"https:\/\/developer.nvidia.com\/blog\/nvidia-rtx-innovations-are-powering-the-next-era-of-game-development\/?linkId=100000412162805#accelerating_in-game_ai_with_new_directx_apis\">here<\/a><\/p>\n<p><strong>Qualcomm: <\/strong><em>\u201cDirectX Compute Graph Compiler is a meaningful step toward making full model ML feel native inside real-time engines. We\u2019re excited to collaborate with Microsoft on a compiler-based approach that takes modern model graphs and produces optimized GPU workloads that integrate directly into DirectX.\u201d<\/em> \u2013 Balaji Calidas, Senior Director of Engineering, Qualcomm<\/p>\n<h1>What\u2019s Next<\/h1>\n<p>ML is no longer an optional enhancement in rendering; it\u2019s becoming core to how graphics are generated. To support this shift, DirectX is evolving into a platform that delivers efficient ML execution at every scale with first-class tooling and visibility. These layers give developers control over how and where ML is integrated in their pipeline, without sacrificing performance, portability, and artistic intent.<\/p>\n<p>DirectX Compute Graph Compiler will be available for private preview this summer, please reach out to your Windows representative if you\u2019re interested in joining.<\/p>\n<p>DX Linear Algebra will enter public preview in April, giving developers an early opportunity to experiment with these capabilities and help shape the future of ML\u2011assisted graphics on Windows. See the <a href=\"https:\/\/github.com\/microsoft\/hlsl-specs\/blob\/main\/proposals\/0035-linalg-matrix.md\">Linear Algebra spec<\/a> for more detail about the feature.<\/p>\n<p>We\u2019re excited to continue this journey with our partners and the developer community. Check out our <a href=\"http:\/\/aka.ms\/GDC2026ML\">GDC session<\/a>, and stay tuned to the DirectX blog for deeper dives, samples, and updates.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>At GDC this year, we shared how machine learning is becoming foundational to real time graphics, and how DirectX is evolving to meet that shift across shader level and model level ML. ML is no longer a niche optimization or a postprocess trick. It\u2019s increasingly embedded throughout the graphics pipeline, influencing how frames are generated, [&hellip;]<\/p>\n","protected":false},"author":60022,"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-13103","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-directx"],"acf":[],"blog_post_summary":"<p>At GDC this year, we shared how machine learning is becoming foundational to real time graphics, and how DirectX is evolving to meet that shift across shader level and model level ML. ML is no longer a niche optimization or a postprocess trick. It\u2019s increasingly embedded throughout the graphics pipeline, influencing how frames are generated, [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/directx\/wp-json\/wp\/v2\/posts\/13103","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\/60022"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/directx\/wp-json\/wp\/v2\/comments?post=13103"}],"version-history":[{"count":2,"href":"https:\/\/devblogs.microsoft.com\/directx\/wp-json\/wp\/v2\/posts\/13103\/revisions"}],"predecessor-version":[{"id":13283,"href":"https:\/\/devblogs.microsoft.com\/directx\/wp-json\/wp\/v2\/posts\/13103\/revisions\/13283"}],"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=13103"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/directx\/wp-json\/wp\/v2\/categories?post=13103"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/directx\/wp-json\/wp\/v2\/tags?post=13103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}