onnxruntime
19738c57 - [Plugin EP] Add OrtEp::OnSessionInitializationEnd() (#28319)

Commit
166 days ago
[Plugin EP] Add OrtEp::OnSessionInitializationEnd() (#28319) ### Description Port `IExecutionProvider::OnSessionInitializationEnd()` to the public plugin EP C API (`OrtEp` struct). This gives plugin EP authors an opportunity to synchronize and clean up temporary resources after session initialization is complete, reducing memory usage and ensuring the first inference run is fast. ### Changes - **`onnxruntime_ep_c_api.h`** — Added optional `OnSessionInitializationEnd` function pointer to end of `OrtEp` struct (`\since Version 1.27`). - **`ep_plugin_provider_interfaces.h/.cc`** — Added `PluginExecutionProvider::OnSessionInitializationEnd()` override that delegates to the `OrtEp` callback with version (`< 27`) and null guards. - **`ep_plugin_provider_test.cc`** — Added 4 unit tests covering: null callback fallback, success, error propagation, and old-version fallback. ### Motivation and Context `OnSessionInitializationEnd()` already exists on the internal `IExecutionProvider` (used by DML EP, for example). Plugin EPs built as shared libraries against the public C API had no way to receive this notification. This change closes that gap. ### Test Coverage | Test | Scenario | |------|----------| | `OnSessionInitializationEnd_NullCallback` | NULL pointer falls back to base class (OK) | | `OnSessionInitializationEnd_Success` | Callback returns OK | | `OnSessionInitializationEnd_Error` | Error status propagates | | `OnSessionInitializationEnd_OldVersionFallback` | Version < 27 bypasses callback |
Parents
Loading