Skip to content

DirectML Setup and Troubleshooting

Justagwas edited this page Jul 15, 2026 · 1 revision

DirectML Setup and Troubleshooting

DirectML is the default GPU-provider preference. It uses the Windows DirectML execution provider through a dedicated managed ONNX Runtime pack.

How it activates

  1. A2M checks for the DirectML pack in %LOCALAPPDATA%\A2M\runtime_packs\dml.
  2. It validates pack metadata, Python ABI, package layout, and provider artifacts.
  3. A helper process creates real model sessions.
  4. A2M confirms the active session reports DmlExecutionProvider.
  5. A runtime-backend change can require an application restart.

The current pack declares ONNX Runtime 1.24.4. Its configured archive is about 23 MiB and its installed payload about 63 MiB.

Troubleshooting

Symptom Meaning What to do
GPU mode asks for a DirectML pack No valid managed pack is active Allow the download if you want DirectML
Pack validation fails Archive, metadata, ABI, files, or provider probe did not pass Keep the exact error; retry once, then report the provider reason
Restart requested A different native runtime has already been selected in this process Restart A2M before converting
DirectML conversion fails The provider or selected batch could not complete A2M may reduce the batch; if it returns to CPU, rerun the file
GPU does not seem faster Short input, startup cost, hardware, or CPU preprocessing may dominate Compare warm runs and processing ratio, not one launch

Interpreting performance

DirectML uses the same model and decoding pipeline as the CPU implementation. However, end-to-end processing time depends on factors including the GPU and driver, recording duration, initialization overhead, batch size, and the proportion of computation that remains on the CPU. Performance should therefore be evaluated using representative warm-run conversions on the system intended to run A2M. Timing measured on a single computer should not be interpreted as a general performance claim.

Clone this wiki locally