← All resources

ONNX and DirectML execution provider guide - part 1

Auto-discovered

Blog Advanced

Hui Zhang

Visit resource ↗

Description

This AMD GPUOpen technical article by Hui Zhang is part 1 of a guide to using the ONNX Runtime DirectML execution provider with a native DirectX 12 pipeline. It is a single free learn post focused on keeping inference data on the GPU.

It covers why a naive CPU preprocess, upload, inference, and download path adds latency, then shows creating a DirectML device from an existing DirectX 12 device and compute queue, appending that provider to Ort session options, mapping ID3D12Resource buffers into Ort values, and keeping pre and postprocessing on GPU compute. It notes synchronization limits that can push work back to the CPU.

It is for intermediate to advanced developers who already use ONNX Runtime and DirectX 12 and want a zero-copy style inference path when inputs already live on the GPU. Familiarity with COM and D3D12 resource lifetimes is assumed.

Access is a free AMD GPUOpen article from October 29, 2025, with API snippets and pointers to part 2 and Microsoft DirectML NPU samples for related conversion patterns.

It is useful when you need concrete EP setup and resource-mapping steps rather than a high-level overview of ONNX on Windows GPUs.