onnxruntime/onnxruntime
Patrice Vignola 76434907fb
[DML EP] Add graph capture (#20257)
This adds a new "Graph Capture" option to the DML ep, similar to the
cuda graph functionality. Here's how graph capture works:

- A user can enable graph capture in the session options by setting
`ep.dml.enable_graph_capture` to `true`
- When they want to capture a run, they set `gpu_graph_id` in their
`RunOptions` to a number bigger than 0 (0 is reserved for internal use
according to the cuda graph documentation).
- Then, when they start the inference, the graph will be captured and
stored in the DML EP for future use
- When they execute the run for a second time with the same id, the
`ReplayGraph` function in the DML EP will be called instead of executing
the kernels, resulting in very low overhead and avoiding kernel
recompilation.

This feature can give up-to-par or even better performance than
specifying the static dimensions at session creation time, but is also
much more flexible.
2024-04-18 10:15:00 -07:00
..
contrib_ops Add Gemma Rotary Embedding (#20267) 2024-04-16 15:31:56 -07:00
core [DML EP] Add graph capture (#20257) 2024-04-18 10:15:00 -07:00
python [DML EP] Improve python API perf (#20331) 2024-04-17 17:33:37 -07:00
test [DML EP] Add graph capture (#20257) 2024-04-18 10:15:00 -07:00
tool/etw
wasm [js/web] rewrite backend resolve to allow multiple EPs (#19735) 2024-03-15 11:47:45 -07:00
__init__.py [ORT 1.17.0 release] Bump up version to 1.18.0 (#19170) 2024-01-17 11:18:32 -08:00
ReformatSource.ps1
ReformatSourcePython.bat
VSCodeCoverage.runsettings