onnxruntime
22ae7964 - [CUDA] Promote CUDA plugin EP as default provider (#29544)

Commit
13 days ago
[CUDA] Promote CUDA plugin EP as default provider (#29544) ## Summary Promote the CUDA Plugin EP to use the canonical CUDA provider identity and packaging surface. CUDA plugin builds now advertise `CUDAExecutionProvider`, produce the canonical `onnxruntime_providers_cuda` native library name, and can be auto-registered from bundled Python wheels while retaining explicit registration support for standalone plugin packages and native applications. This also aligns CUDA plugin provider/session options with the `ep.cuda.*` namespace, updates allocator ownership so external GPU allocator callbacks remain session-scoped, and refreshes tests, docs, and CI coverage for the promoted plugin path. ## Key Changes | Area | Changes | | --- | --- | | Provider identity | Rename the plugin EP registration/name surface from `CudaPluginExecutionProvider` to `CUDAExecutionProvider`; keep compatibility aliases for historical option keys. | | Native library/package layout | Build and package the plugin as `onnxruntime_providers_cuda.*`, matching the legacy CUDA EP filename; update Python, C#, Java, wheel, NuGet, and test helpers accordingly. | | Python registration | Auto-register the bundled CUDA plugin provider from `onnxruntime/capi` when build info reports `cuda-plugin-ep=1`; retry after `preload_dlls()` and warn on unexpected registration failures. | | Allocators | Keep internal arena/mempool allocators in factory device-cache state, but create external GPU allocator wrappers per EP/session from that session's callbacks so unrelated sessions do not inherit external allocator configuration. | | Provider options | Normalize CUDA plugin config keys under `ep.cuda.*` while preserving legacy aliases; update session/provider option extraction and reporting. | | Tests and docs | Update CUDA plugin C++/Python/C# tests, add allocator isolation coverage, refresh CUDA plugin docs, and update CI/plugin parity wiring. | ## Testing Notes Validated locally: - Focused `-fsyntax-only` compile checks for `cuda_allocator_plugin.cc`, `cuda_ep.cc`, `cuda_ep_factory.cc`, and `cuda_plugin_arena_test.cc` using the existing `cu130_plugin_no_cudnn` build flags. - `python3 -m py_compile onnxruntime/__init__.py`. - `git diff --check` for the edited source and documentation files. - `git rebase origin/main` reported the branch was up to date. Attempted: - `lintrunner -a` was attempted, but local ruff/ruff-format/clangformat adapter execution failed before producing actionable file diagnostics. No tracked file changes were left by that attempt.
Author
Parents
Loading