Add NXP Neutron Execution Provider support#28146
Add NXP Neutron Execution Provider support#28146anallen wants to merge 2 commits intomicrosoft:mainfrom
Conversation
This change adds support for the NXP Neutron Execution Provider to ONNX Runtime. The Neutron EP enables hardware acceleration for NXP i.MX series processors with Neural Processing Unit (NPU). Key features: - Add NEUTRON and NEUTRON_PINNED allocator types - Register Neutron EP in provider factory and registration - Add CMake build configuration for onnxruntime_USE_NEUTRON - Add Python bindings for Neutron EP with options support Supported operators: - QLinearMatMul / QGemm (quantized matrix operations) - MatMulInteger / MatMulIntegerToFloat / MatMulNBits - NeutronGraph Co-authored-by: Allen An <pinghua.an@nxp.com> Co-authored-by: Feng Guo <feng.guo@nxp.com> Co-authored-by: Mike Caraman <mike.caraman@xnp.com> Co-authored-by: Jiri Ocenasek <jiri.ocenasek@nxp.com> Co-authored-by: X.F. Ren <xiaofeng.ren@nxp.com> Co-authored-by: Joshua Puerta <joshua.puerta@nxp.com>
|
@microsoft-github-policy-service agree company="NXP" |
@microsoft-github-policy-service agree company="NXP" |
Signed-off-by: Allen An <pinghua.an@nxp.com>
|
Hi @tianleiwu, This PR adds a new execution provider (Neutron EP) for NXP’s NPU. Thanks a lot for your help. |
|
Directly adding a new execution provider to the ONNX Runtime code is no longer recommended since ONNX Runtime 1.23. Add a plugin execution provider instead. You can host it in your github repo. Some examples: |
This change adds support for the NXP Neutron Execution Provider to ONNX Runtime. The Neutron EP enables hardware acceleration for NXP i.MX series processors with Neural Processing Unit (NPU).
Key features:
Supported operators: