[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.