-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Refactor plugin EP support #25541
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor plugin EP support #25541
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR refactors the plugin execution provider (EP) support by reorganizing code into a dedicated plugin_ep subdirectory. The primary goal is to improve code organization and make EP-related functionality easier to locate and maintain.
Key changes:
- Move all plugin EP-related files to a new
core/session/plugin_ep/directory - Split large monolithic implementation files into separate, focused class files
- Update all include paths to reflect the new directory structure
Reviewed Changes
Copilot reviewed 31 out of 34 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| Multiple test and source files | Updated include paths from core/session/ to core/session/plugin_ep/ |
ep_library_provider_bridge.cc |
Split implementation into separate header and source files |
ep_library_internal.cc |
Refactored into separate factory classes (CPU, DML, WebGPU) |
ep_factory_*.h/.cc |
New separate files for each EP factory implementation |
forward_to_factory_impl.h |
Renamed struct from ForwardToFactory to ForwardToFactoryImpl |
cmake/onnxruntime_session.cmake |
Updated build configuration to include new directory |
### Description <!-- Describe your changes. --> Refactor to split out classes and make things easier to find. ### Motivation and Context <!-- - Why is this change required? What problem does it solve? - If it fixes an open issue, please link to the issue here. --> Cleanup
- DynamicQuantizeMatMul - handle case where B zero point input is provided but not constant. (#25544) - Refactor plugin EP support (#25541) - Remove the python installation steps from win-qnn-arm64-ci-pipeline.yml (#25552) - [EP ABI] Node_GetAttrByName returns ORT_NOT_FOUND with non-existing attr name (#25565) - Fix C/C++ documentation generation (#25569) - [build] fix multi-config for VCPKG (#25585)
### Description <!-- Describe your changes. --> Refactor to split out classes and make things easier to find. ### Motivation and Context <!-- - Why is this change required? What problem does it solve? - If it fixes an open issue, please link to the issue here. --> Cleanup
- **DynamicQuantizeMatMul - handle case where B zero point input is provided but not constant. (microsoft#25544)** - **Refactor plugin EP support (microsoft#25541)** - **Remove the python installation steps from win-qnn-arm64-ci-pipeline.yml (microsoft#25552)**
Description
Refactor to split out classes and make things easier to find.
Motivation and Context
Cleanup