onnxruntime/onnxruntime
Yulong Wang 82786baed1
[js/web] add 'xnnpack' to EP list (#12723)
**Description**: This PR adds support for "XNNPACK EP" in ORTWeb and
changes the behavior of how ORTWeb deals with "backends", or "EPs" in
API.

**Background**: Term "backend" is introduced in ONNX.js to representing
a TypeScript type which implements a "backend" interface, which is a
similar but different concept to ORT's EP (execution provider). There
was 3 backends in ONNX.js: "cpu", "wasm" and "webgl".

When ORT Web is launched, the concept is derived to help users to
integrate smoothly. Technically, when "wasm" backend is used, users need
to also specify "EP" in the session options. Considering it may get
complicated and confused for users to figure out the difference between
"backend" and "EP", the JS API hide the "backend" concept and made a
mapping between names, backends and EPs:
"webgl" (Name) <==> "onnxjsBackend" (Backend)
"wasm" (Name) <==> "wasmBackend" (Backend) <==> "CPU" (EP)

**Details**:
The following changes are applied in this PR:
1. allow multi-registration for backends using the same name. This is
for use scenarios where both "onnxruntime-node" and "onnxruntime-web"
are consumed in a Node.js App ( so "cpu" will be registered twice in
this scenario. )
2. re-assign priority values to backends. I give 100 as base to "cpu"
for node and react_native, and 10 as base to "cpu" in web.
3. add "cpu", "xnnpack" as new names of backends.
4. update onnxruntime wasm exported functions to support EP
registration.
5. update implementations in ort web to handle execution providers in
session options.
6. add '--use_xnnpack' as default build flag for ort-web
2022-10-03 10:38:45 -07:00
..
contrib_ops Decouple use_sequence_as_input_ids from has_hidden_states (#13130) 2022-09-29 22:45:52 -07:00
core Update unsupported ORT format version error message to link to doc on rel-1.13.0 branch. (#13187) 2022-09-30 17:13:52 -07:00
gsl
python refine QuantConfig (#13155) 2022-10-03 08:34:49 -07:00
test refine QuantConfig (#13155) 2022-10-03 08:34:49 -07:00
tool/etw
wasm [js/web] add 'xnnpack' to EP list (#12723) 2022-10-03 10:38:45 -07:00
__init__.py Bump ort version number (#11948) 2022-07-22 12:55:53 -07:00
ReformatSource.ps1
ReformatSourcePython.bat Add python docstring linting in vscode settings (#11316) 2022-04-23 06:23:04 -07:00
VSCodeCoverage.runsettings