[EP ABI] Initial support for kernel-based EPs #26206
Sketch API funcs
8c03c614
Merge branch 'main' into adrianl/ep-abi-kernel-based-eps
40d7866b
Implement more c apis
ec46ea59
OpKernel class for plugin EPs
e8532a9c
Initialize PluginExecutionProvider's kernel registry
246681ce
Move files to session
6b61b917
Add API to set kernel def I/O memory types
4a112fc4
Add C API to add type constraints to a kernel definition
0f870d0e
Start implementing MemcpyFromHost kernel in example EP
9be69234
Get kernel for MemcpyFromHost working for example plugin EP!
5df3fb56
Moved example plugin EP's kernel stuff to different file
5aade60f
Add separate utility to load OrtMLDataTypes
d159b385
Add MLDataTypes::GetTensorType()
81872338
Add C++ Ort::KernelDefBuilder to allow creation of macro
bf92f04d
Create macro for defining BuildKernelCreateInfo functions for each op
da14d656
Move kernels to separate directory/files
73ae3071
Use data transfer in MemcpyFromHost and MemcpyToHost
fb4a6a6c
Release OrtKernelCreateInfo instances if an error occurs
b8867d6f
Move typedef and add forward-declaration of OrtKernelImpl for gcc
de8be322
Merge branch 'main' into adrianl/ep-abi-kernel-based-eps
dc78ec30
Apply suggestions from code review
8babb639
Simplify with OrtKernelRegistry
90bf5981
Pass custom state to kernel creation in plugin EP
9f955896
Clean up
90e4fc1a
ExampleEp: cache kernel registry in factory so it can be reused by al…
5f52cdc8
Add C API to lookup a kernel from within OrtEp::GetCapability
9bfc2813
Disambiguate a compiled subgraph (of one node) from a registered kern…
60ea06c3
Add unit test for EpGraphSupportInfo_LookUpKernel()
33ffd8df
Add missing include needed for linux ci
31cdc827
Add KernelDef to C++ api and add basic getters
93b99e67
adrianlizarraga
changed the title [EP ABI] [DRAFT] Support kernel-based EPs [EP ABI] [DRAFT] Initial support for kernel-based EPs 243 days ago
Add documentation comments
995e25b5
Remove incorrect comment
0f7145f3
adrianlizarraga
changed the title [EP ABI] [DRAFT] Initial support for kernel-based EPs [EP ABI] Initial support for kernel-based EPs 243 days ago
Add missing API_IMPL_BEGIN/END macro calls
f528f6f3
Merge branch 'main' into adrianl/ep-abi-kernel-based-eps
9fbf230a
Merge main and fix conflicts
92d82d8c
Merge branch 'main' into adrianl/ep-abi-kernel-based-eps
48ebab34
Move static PluginExecutionProvider::Create to a method on the factor…
1d92b908
Fix null return value from calling the internal kernel lookup function
d6404dd1
Add assertion that file opened successfully
60ac6f24
Fix unused variables
f48d6f8a
Fix another unused variable
5da69e8b
Add new example EP that uses kernel registration
70b34341
lintrunner
faf4260e
Merge branch 'main' into adrianl/ep-abi-kernel-based-eps
3dfa5008
Remove memcpy kernels from example ep
692ec03d
Fix android compiler error due to unused field
38d433cf
Fix gsl linking for non-windows
fd20c294
Merge branch 'main' into adrianl/ep-abi-kernel-based-eps
6aa4b50f
Add unit test that uses kernel-based EP to run a model with Squeeze a…
198ab0d2
Copy new example ep .so to android test directory. Ensure unit tests …
ea91325b
Mark OrtEp::Compile() and OrtEp::ReleaseNodeComputeInfos() as optiona…
dcb6e068
Add C++ Ort::KernelRegistry class
caf1274d
Update include/onnxruntime/core/session/onnxruntime_cxx_api.h
d2d8f610
Clean up kernel registration code on the EP side
5771cc2f
Clean up
a43d7d69
Add KernelBuilder aliasing API functions. Add a relu kernel to test it.
5aa4f75e
Edit test onnx model to properly test mutable alias (buffer reuse for…
2ff711d7
Address review comments
d131945a
Forgot to change return Ort::Status{nullptr} to return nullptr
9d37ff89
Merge branch 'main' into adrianl/ep-abi-kernel-based-eps
635b2b59
Address review comments
a0b5fdda
Update lib name for files copied to Android testing dir
24bfd53e
Rename DLL in .def file
b0a0b847
Address (great) review comments
874b54e0
Correct documentation regarding the meaning of -1 for the 'end_version'.
099e8f3a
Don't include unnecessary initial struct vals
248c3a3b
Split up parameters into two parallel arrays
96f9f70e
Merge branch 'main' into adrianl/ep-abi-kernel-based-eps
250c7aa7
Add checks and more unit tests for KernelDefBuilder_SetSinceVersion
7d5627bd
Decide to remove unused FuncManager parameter from the kernel creatio…
bb1fa0dc
Merge branch 'main' into adrianl/ep-abi-kernel-based-eps
7b2b6e09
Address review comments: base kernel class, auto*, data_type utils no…
0913a943
Complete approach B
b28afb34
edgchen1
approved these changes
on 2025-12-02
edgchen1
dismissed these changes
on 2025-12-02
Review comments
d1ef6b05
Remove noexcept from BaseKernel::DoCompute
6ba335fb
Review comments
945d31ec
Update onnxruntime/core/session/plugin_ep/ep_plugin_provider_interfac…
9ebeacec
Update onnxruntime/test/autoep/library/example_plugin_ep_kernel_regis…
4b2f9f09
Review comments
568c6c0a
edgchen1
approved these changes
on 2025-12-05
adrianlizarraga
deleted the adrianl/ep-abi-kernel-based-eps branch 179 days ago
Assignees
No one assigned
Login to write a write a comment.
Login via GitHub