[EP ABI] Add support for creating EP Context models. #25124
Create IExecutionProvider wrapper for OrtEp
732f29a9
Add OrtEp::GetCapability and stub implementation in dummy ep
9c39966e
Simplify GetCapability for OrtEp (no allocator). Make OrtGraph compat…
db2cda3e
Add API OrtGraph_GetNodes()
93900baa
Derive from OrtNode and OrtGraph instead of using variant (reduce str…
56763555
Separate model-editor and ep-api graph types into different files
353fdb89
Revert variable name change to reduce diff
62eb1322
Add some comments
38b53982
Add unit test that adds the example plugin ep to a session.
09cea7ae
Merge branch 'main' into adrianl/ep-abi
a659a80a
Add C APIs to get a node's name and op_type
9f45c18e
Update error message when user passes in the wrong kind of OrtNode/Or…
7cac7d15
Add ToInternal() methods to convert from OrtNode to its derived classes
5b38f4b3
clean up
8abe39e2
Rename AddSupportedNodes api func. Dont force eps to provide a subgra…
9abc3ff2
Add OrtEp::Compile()
df0636dd
Fill out Compile() wrapper function more
177828a4
Fix annotation
0206de90
Update NodeComputeInfo handling
a3ab415f
Merge branch 'main' into adrianl/ep-abi
59b5367a
Finish making Mul work in example plugin EP
77b30379
rename file
1b616d8f
Apply suggestions from code review
217aca17
Update onnxruntime/test/autoep/library/example_plugin_ep.cc
2adb618a
hide reinterpret_cast with a ToInternal call
e144c80c
Use only one enum to differentiate between the ModelEditorApi and EpA…
9031bd52
Add many more graph apis for traversing edges
37dd6884
Move graph apis to OrtApi struct
ee354a43
ifdef out stuff for minimal build
3a99ff2e
More ifdef for minimal builds
d969d11d
Rename API to GetValueInfoUses to account for multiple OrtNode instan…
deb145d8
Fix call to GetUses
ac958345
Make returning the producer's output index optional
dfc4f48f
Return error status from GetValueInfoTypeInfo if type info is not valid
c58ec9d8
Add a test executable for testing use of OrtGraph APIs
d7dc6dbc
Add nv lib to test; clean up
c1ada2fd
Cleanup: add includes, update some comments
4443f2ed
Merge main and fix conflicts
c219e56e
Add fused nodes back into OrtEp::Compile()
2cf5e59c
Remove 'Get' from APIs that look like field/property getters
66f78e5e
Add remaining OrtGraph apis to get inputs/outputs
8641558d
Set missing optional node outputs to a null OrtValueInfo
b34b83cf
Rename some GetValueInfo* apis. Add ability to specify a single suppo…
ef49e548
Fix GetValueConsumers() to return a negative input index for consumer…
a55988dd
Add Node_GetSinceVersion C API
66044f24
Add C APIs: Node_GetNumSubgraphs, Node_GetSubgraphs, Node_GetParentGraph
05166d23
initialize var to fix warning/error on linux. set input index to -1 f…
55e43e0e
Remove OrtHardwareDevice passing from GetCapability
c1e63cda
Add C APIs: Node_GetNumImplicitInputs(), Node_GetImplicitInputs()
bc445f9a
minor clean up on comments
dd1efdb8
more efficient node_index_to_ep_node map
89e50eb1
Merge branch 'main' into adrianl/ep-abi
4282be64
Add C API: Graph_GetParentNode(). Split up test_ep_graph.cc into anot…
e755b84b
Add C APIs to query whether an OrtValueInfo is a graph input, a graph…
28eec29b
Merge branch 'main' into adrianl/ep-abi
4ca1f37b
Address review comments and update graph ir tests
4348e734
Merge branch 'main' into adrianl/ep-abi
a96fc718
Address more review comments
e2a5b8e7
Add C API Node_Id() and sample Kahns topological sort that uses only …
a9d8956b
Merge branch 'main' into adrianl/ep-abi
e03ec4fe
Split up files
0d36505c
Address review comments: factory creation in loop, delete OrtStatus
c6aaf402
Delete OrtStatus in provider_policy_context.cc
9d0e2ae5
Remove intermediate variable
39274429
Add C APIs to get initializer OrtValues
410e7df2
Allow getting OrtValue for initializer defined in an outer scope
edb3b2d9
Remove 'order' parameter from Graph_GetNodes()
35a31a06
Merge main and fix conflicts
f7f40432
Fix warnings as errors
4772ee8d
Add new c api header (for eps) to cmakes list of headers
be4e86c1
Graph_GetNodes() directly return internal order (already sorted); Mak…
3f77e033
Python unit test that runs simple model with EP plugin
5c4af972
Update include/onnxruntime/core/session/onnxruntime_c_ep_api.h
00113336
Update include/onnxruntime/core/session/onnxruntime_c_ep_api.h
ea41d12a
Use GraphViewer's parent node/subgraph information to get initializer…
52d03323
Address many review comments
d10335e4
Merge branch 'adrianl/ep-abi' of github.com:microsoft/onnxruntime int…
a446ca0d
merge main and fix conflicts
f078b937
Apply suggestions from code review
9a993c55
Add documentation for OrtConstPointerArray API functions
079add6c
Clean up
32de043b
Apply suggestions from code review
ff853238
Add unit test for a graph with 3 layers of nested subgraphs
93c6769b
Start stubbing out IExecutionProvider::GetEpContextNodes()
cd785b9e
Improve OrtArrayOfConstObjects to allow api user to create
e072a2d8
Clean up
c40baba2
Add ArrayOfConstObjects_GetConstData
74d3b4ec
Apply suggestions from code review
bae384d8
Adjust naming and description of OrtArrayOfConstObjects
981726f6
wording: object vs element
910cd5e8
Merge branch 'adrianl/ep-abi' into adrianl/ep-abi-ep-context-nodes
ba3f356f
Add code to Example Plugin EP that creates EPContext nodes and return…
7950af3e
Merge main and fix conflicts
8449070f
Encounter block with current approach
b4f9f976
Get the plugin EP to generate an EPContext model and added unit test
d29285b6
Update comments
46492643
Add missing documentation comment to the public API function
459c4b57
Clarify that EPContext nodes are constant
0aac40a3
Merge branch 'main' into adrianl/ep-abi-ep-context-nodes
aa26dbdb
More editing of the public documentation
cbd0a10d
Example EP code was getting too long. Separate utility functions into…
af1a3129
Version 2 of GetEpContextNodes
e3dff3e4
Use correct SAL2 tag
9a127e72
HectorSVC
approved these changes
on 2025-06-25
adrianlizarraga
deleted the adrianl/ep-abi-ep-context-nodes branch 277 days ago
Assignees
No one assigned
Login to write a write a comment.
Login via GitHub