onnxruntime
[EP ABI] Add support for creating EP Context models.
#25124
Merged

[EP ABI] Add support for creating EP Context models. #25124

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

Login to write a write a comment.

Login via GitHub

Assignees
No one assigned
Labels
Milestone