You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With Patrice Vignola (@PatriceVignola) gone and the last update to directML 4 months ago, and with DML not being updated to support new features like the adapters API, is DirectML being left to die? Would be pretty important information to developers if that's the case to avoid building their applications with it if it's now essentially being deprecated.
To reproduce
Try and use the Adapters API with DML. It doesn't work. Effort to make it work have been reverted.
currently directml has some issue with intel's integrated gpu like iris xe during machine learning model training(it may be intel's driver issue idk)
it is not widely supported like cuda
but still i want developers to support directml
it is a great tool to be honest
If DirectML is to be discontinued, we hope to be informed as soon as possible. The issue mentioned here #20713 (comment) has not been resolved either. If updates are to be abandoned, we will need to consider alternative solutions.
From my understanding, the new Microsoft.Windows.AI.MachineLearning API eliminates the DirectML layer and therefore makes it obsolete.
... Windows ML in Microsoft.Windows.AI.MachineLearning doesn't have the DirectML layer. Instead, it works directly with dedicated execution providers for the GPU, affording you to-the-metal performance that's on par with dedicated SDKs...
The Windows ML APIs are currently experimental and not supported for use in production environments. Apps trying out these APIs should not be published to the Microsoft Store.
Ambrose Robinson (@ambroser53) Alas fellow Robinson, it is dead 🥲 (former dev here). DML had a nice ~7 year run, but now everybody on the old DML team has been reshuffled elsewhere to other products, except the occasional security/compliance issue. So it won't get performance improvements (like say using the new preview D3D cooperative vectors feature or new fusions) or get new ML operators, but it's also still a system DLL (windows/system32/DirectML.dll) and will continue to function for app compatibility (like GDI which still lingers around for years after its heyday 👻).
Maybe DirectML can be open sourced now? :)
Carson Swope (@carsonswope) That would be cool 😉, but I have no power over that decision. I would like to eventually publicly document some of the interesting aspects inside DirectML, at least parts that I worked on (kinda like how Raymond Chen's Old New Thing describes win32 internals).
Similarly onnxruntime and any other technology can suddenly die and your code will no longer work with new devices.
The only thing that will work in tens of years is OpenCL1.2, unless of course the hardware developers themselves stop supporting it.
If any of you are using AMD hardware I suggest you migrate your workloads to MIGraphX EP. We do have Windows support via UAI and MIGraphX does build with Windows and support workloads on windows.
Seeing your comment is kinda confusing as we assume that ROCm is needed to run MIGraphX EP, so how does this work under Windows? Could you please explain what UAI is?
Henry Ruhs (@henryruhs) commented on this issue ticket, thanks for bringing it to my attention.
Please let me know if you have any other question/concernss. If you have MIGraphx or MIGraphX EP related questions feel free to open an issue on the AMDMIGraphX directly - https://github.com/ROCm/AMDMIGraphX
I don't have any visibility on the Onnxruntime issues/forums unless I'm pinged
AMD is happy to help you get your application running using the ROCm and MIGraphX.
If your PC runs Windows 11, version 24H2 (build 26100) or later, consider using Windows ML for accelerated machine learning model execution.
To my current understanding, Windows ML is just a wrapper for ONNX Runtime itself. Since ONNX Runtime most often uses the DirectML ep under Windows, as it is great to accelerate inference across vendors, I cannot wrap my head around the current siutation. DirectML was deprecated in favor of Windows ML, which probably uses DirectML through ONNX Runtime?
Or is the idea that the vendor specific ep's are to be used in the future? Or the WebGPU ep?
Pretty much. WinML 1.0's API was a subset WinRT flavored wrapper over ORT (but it supported some extra logic around image-to-tensor conversion and video frame support), whereas WinML 2.0's API is basically ORT's API.
is the idea that the vendor specific ep's are to be used in the future?
WinML 2.0 supports dynamic execution provider (EP) management, including IHV-specific EPs. Historically IHV EP's have been spotty in their operator coverage and ONNX conformance, being heavily focused on the needs of specific models rather than general completeness, and the DML EP remains as a base level catch-all for IHV-agnostic GPU execution, but IHV EPs (NVidia TensorRT, Intel OpenVINO, AMD Vitis, Qualcomm QNN) are becoming more mature and able to use hardware-specific model optimizations that DirectML could not access through the current D3D API via HLSL alone.
Thank you Dwayne Robinson (@fdwr) for the explanation! However, compiling and distributing all these vendor-specific execution providers is quite a nightmare. We just patched the OpenVINO ep to work in an Ubuntu 22.04 environment to have at least some hardware acceleration available on Linux. In comparison, using DirectML on Windows is a blessing. I hope for the WebGPU ep to be a viable cross-platform solution at some point, at least.
Activity
fdwr commentedon Feb 21, 2025
Clarke Rahrig (@crahrig)
rinkucat commentedon Feb 23, 2025
i too want to know
rinkucat commentedon Feb 23, 2025
currently directml has some issue with intel's integrated gpu like iris xe during machine learning model training(it may be intel's driver issue idk)
it is not widely supported like cuda
but still i want developers to support directml
it is a great tool to be honest
SSFRPA commentedon Feb 26, 2025
If DirectML is to be discontinued, we hope to be informed as soon as possible. The issue mentioned here #20713 (comment) has not been resolved either. If updates are to be abandoned, we will need to consider alternative solutions.
henryruhs commentedon May 19, 2025
From my understanding, the new
Microsoft.Windows.AI.MachineLearningAPI eliminates the DirectML layer and therefore makes it obsolete.https://learn.microsoft.com/en-us/windows/ai/windows-ml/get-started
https://learn.microsoft.com/en-us/windows/ai/new-windows-ml/overview
https://blogs.windows.com/windowsdeveloper/2025/05/19/introducing-windows-ml-the-future-of-machine-learning-development-on-windows/
carsonswope commentedon Jul 25, 2025
Well.. looks like DML is indeed dead. Bummer.
Last week the readme on their repo (https://github.com/microsoft/DirectML/) was updated to say this at the top:⚠️ DirectML is in maintenance mode ⚠️
At first glance 'Windows ML' looks... opinionated, very light on details, requires hitting microsoft servers at runtime, and isn't even out of beta yet (from https://learn.microsoft.com/en-us/windows/ai/new-windows-ml/run-onnx-models?tabs=csharp):
Maybe DirectML can be open sourced now? :)
fdwr commentedon Jul 28, 2025
Ambrose Robinson (@ambroser53) Alas fellow Robinson, it is dead 🥲 (former dev here). DML had a nice ~7 year run, but now everybody on the old DML team has been reshuffled elsewhere to other products, except the occasional security/compliance issue. So it won't get performance improvements (like say using the new preview D3D cooperative vectors feature or new fusions) or get new ML operators, but it's also still a system DLL (
windows/system32/DirectML.dll) and will continue to function for app compatibility (like GDI which still lingers around for years after its heyday 👻).Carson Swope (@carsonswope) That would be cool 😉, but I have no power over that decision. I would like to eventually publicly document some of the interesting aspects inside DirectML, at least parts that I worked on (kinda like how Raymond Chen's Old New Thing describes win32 internals).
iperov commentedon Aug 18, 2025
Similarly onnxruntime and any other technology can suddenly die and your code will no longer work with new devices.
The only thing that will work in tens of years is OpenCL1.2, unless of course the hardware developers themselves stop supporting it.
TedThemistokleous commentedon Aug 28, 2025
If any of you are using AMD hardware I suggest you migrate your workloads to MIGraphX EP. We do have Windows support via UAI and MIGraphX does build with Windows and support workloads on windows.
henryruhs commentedon Aug 30, 2025
Ted Themistokleous (@TedThemistokleous) We (at FaceFusion) tried MIGraphX EP under Linux, it does not work due Invalid MIGraphX EP option.
Seeing your comment is kinda confusing as we assume that ROCm is needed to run MIGraphX EP, so how does this work under Windows? Could you please explain what UAI is?
TedThemistokleous commentedon Sep 2, 2025
Henry Ruhs (@henryruhs) commented on this issue ticket, thanks for bringing it to my attention.
Please let me know if you have any other question/concernss. If you have MIGraphx or MIGraphX EP related questions feel free to open an issue on the AMDMIGraphX directly - https://github.com/ROCm/AMDMIGraphX
I don't have any visibility on the Onnxruntime issues/forums unless I'm pinged
AMD is happy to help you get your application running using the ROCm and MIGraphX.
raphaelmenges commentedon Nov 3, 2025
From the DirectML README.md:
To my current understanding, Windows ML is just a wrapper for ONNX Runtime itself. Since ONNX Runtime most often uses the DirectML ep under Windows, as it is great to accelerate inference across vendors, I cannot wrap my head around the current siutation. DirectML was deprecated in favor of Windows ML, which probably uses DirectML through ONNX Runtime?
Or is the idea that the vendor specific ep's are to be used in the future? Or the WebGPU ep?
fdwr commentedon Nov 3, 2025
Raphael Menges (@raphaelmenges):
Pretty much. WinML 1.0's API was a subset WinRT flavored wrapper over ORT (but it supported some extra logic around image-to-tensor conversion and video frame support), whereas WinML 2.0's API is basically ORT's API.
WinML 2.0 supports dynamic execution provider (EP) management, including IHV-specific EPs. Historically IHV EP's have been spotty in their operator coverage and ONNX conformance, being heavily focused on the needs of specific models rather than general completeness, and the DML EP remains as a base level catch-all for IHV-agnostic GPU execution, but IHV EPs (NVidia TensorRT, Intel OpenVINO, AMD Vitis, Qualcomm QNN) are becoming more mature and able to use hardware-specific model optimizations that DirectML could not access through the current D3D API via HLSL alone.
raphaelmenges commentedon Nov 4, 2025
Thank you Dwayne Robinson (@fdwr) for the explanation! However, compiling and distributing all these vendor-specific execution providers is quite a nightmare. We just patched the OpenVINO ep to work in an Ubuntu 22.04 environment to have at least some hardware acceleration available on Linux. In comparison, using DirectML on Windows is a blessing. I hope for the WebGPU ep to be a viable cross-platform solution at some point, at least.