[QNN EP] Make QNN EP a shared library #23120
Copy shared utils into qnn ep
d035fb42
Update QNN EP's initializer transpose logic to use only functions exp…
7e46a7de
Update comment
a155b33b
Added TransposeBase::DoTranspose() to provider bridge. May elect to r…
e9c5f142
Add TypeProto_Tensor_has_elem_type() to provider bridge
d0f64dc1
Add to provider bridge: TensorTypeBase class, TensorTypeBase::GetElem…
f8bd2f63
Transpose initializers within QNN EP without using CPU EP utils
1f533a99
Rename transpose func
ccaefb3e
Remove TransposeBase forward declaration from provider bridge
fb765c7f
Rewrite SliceOpBuilder util GetInitializerInputData() to not use func…
0237bca5
Revert addition of TensorTypeBase to provider bridge
e3705b26
Remove last use of GetTensorShapeFromTensorProto
6f0b3c61
Add DataTypeUtils::ToType(std::string&) to provider bridge
5939bf64
Add Logger::GetSeverity() to provider bridge
58dbf494
Add TensorShapeProto_Dimensions__size to provider bridge
f76b09a2
Add utils::CreateSupportedPartitions() to provider bridege
d189fe66
Merge main and fix conflicts
a0b3c753
Use new namespace for NodeAttrHelper
48191eaa
Add to provider bridge: GraphViewer::Nodes(), ConstGraphNodes struct …
e6afd729
Replace usage of cbegin() and cend() in NodeAttrHelper with version t…
0b1e5386
Add convenience function to get the default Env to provider bridge
fb3618dc
Moving ORT includes to a separate header
6b581fd6
Add Node::EdgeEnd wrapper class to provider bridge. Add NodeUnit cons…
a1129e5d
Move more header includes to ort_api.h
ba86c418
Add GraphViewer::NodeProducesGraphOutput() to provider bridge
2b1ea09d
Replace use of InlinedVector with std::vector and fix newly discovere…
421cd781
Eliminate use of qmath.h by introducing new quantization utils for QNN
d94e6f7b
Move includes into qnn/ort_api.h
4eb1e808
Add TensorProto::has_data_type() to provider bridge
d86fb6c0
Checkpoint: updating usage of provider bridge in ep
187e3b9e
Compiles but does not link (until update cmake to build as shared lib)
693dd335
Use provider bridge function to get default Env
ae2dbd28
It works! QNN EP is a shared library and all QNN unit tests pass on W…
db5f0ec1
Add onnxruntime_providers_qnn.dll to nuget
ea2a141a
Pass --build_shared_lib to some QNN pipelines. Include Boost::mp11.
d820c9b5
Copy qnn dll for java build
9861ec8b
Add linker -rpath="
b92043da
two backslashes in rpath
f29ce59b
Copy qnn ep dlls when running java unit tests
5d954d69
Modify Java bindings to use QNN shared lib
03614bcf
Try to build onnxruntime_providers_shared on Android
421f39f3
Merge branch 'main' into adrianl/qnn-ep-dynamic-lib
7aae2b39
Pass linker flag to Android build of qnn dll
9354f18d
Try different linker flag for android
e8df64fc
Use -z undefs on android
863ff04c
Expose ETW logger functionality via provider bridge. Fix multithreadi…
ef1b91da
Cmake java android: copy libonnxruntime_providers_shared.so and libon…
57e00722
QNN Nuget Pipeline: print contents of binaries directory to see if sh…
bd32daaf
Fix print in yaml
8a65a1d3
Fix cmake copy command for Java build with qnn
7ff94a0b
Try to fix nuget shared lib files for qnn
0fbff4ad
Pass --build_shared_lib when bulding python wheels with qnn [pipelines]
9cbd0fa9
Print correct binary directory in QNN Nuget pipeline
f8747db9
Add onnxruntime_providers_qnn.dll/.so to setup.py so that it gets cop…
058e7bbb
Edit Java bindins to allow loading/extracting shared provider libs on…
41725755
Create temp directory for java android
3e39b88f
consistent library loading logic for java android
5ed035fc
Merge branch 'main' into adrianl/qnn-ep-dynamic-lib
6347c5fe
Add temporary logging
65624339
fix typo
0bbf3af4
fix another type in temporary logging code for debugging android qnn …
c04176a5
Android: Go back to not extracting shared libs from classpath resources.
cc149718
Try linking shared.so with qnn.so for android
4c6a9854
Use --undefined=Provider_GetHost
fc003463
prepend _ to linker arg
b707c46a
Add linker option -z global to libonnxruntime_providers_shared.so on …
7f505586
Try to use libc++_shared.so for android qnn build
17c3bdee
Merge main and fix conflicts
7e7fe68d
Add shims over functions that create ORT objects. These shims will al…
e907fe20
Enable build QNN EP as both static and dynamic lib
d83ff7ba
Merge branch 'main' into adrianl/qnn-ep-dynamic-lib
354203c3
Fix java cmake conditions when building qnn as shared lib
d500cf89
Handle possibility of shared or static qnn lib in Java bindings
183ca05e
properly dectect qnn build when building android+qnn AAR package
5e44199d
Don't publish artifacts for QNN Win arm64 if QNN is built as a static…
29c68727
python linter
02b71edd
don't include ntverp.h if not needed. set cmake source_group for QNN …
52199d75
Add function to provider bridge to check if ETW for logging is suppor…
af164589
python linting
1d61caef
Move NodeAttrHelper to ort_api.h/cc
dfc9bafd
Make some ort_api.h functions inline
325d62f4
cmake clean up
a72efb51
Clean up include paths
67abb6a2
Edit pipeline job names
6335a884
Add QnnTelemetry for logging profiling events to etw (works for both …
f9e5c0c1
Add comments to quantization utils
a4f69239
Merge branch 'main' into adrianl/qnn-ep-dynamic-lib
e3f6f5e5
Fix QnnTelemetry for static lib case
4a0c7a13
Dont use QnnTelemetry on non-windows
0495a993
adrianlizarraga
changed the title [QNN EP] [DRAFT] Make QNN EP a shared library [QNN EP] Make QNN EP a shared library 1 year ago
snnn
commented
on 2025-01-04
Merge branch 'main' into adrianl/qnn-ep-dynamic-lib
98f40ad6
review comments: remove no-op cmake statement; change to --use_qnn sh…
4f5c0373
Create generic Factory to create ort objects (reduce amount of boiler…
194b7b81
Review comments: reuse transpose functions
d6c5942d
Update function use to create logging::Capture
d170a2d0
Merge branch 'main' into adrianl/qnn-ep-dynamic-lib
d8f5067d
Merge main and fix conflicts
9ef96225
Remove GetClipMinMax() because it is no longer needed after separater…
5ee8c43a
HectorSVC
dismissed these changes
on 2025-01-10
Use PROVIDER_DISALLOW_ALL for Node_EdgeEnd struct in provider bridge
88581906
Remove unused function Capture_Create()
e93705de
Merge branch 'main' into adrianl/qnn-ep-dynamic-lib
b53881c2
Experiment to see of unloading libonnxruntime_providers_qnn.so on Lin…
8dda435f
Fix merge conflicts. TODO: re-enable htp shared mem test that uses in…
57b3d881
Fix python linter error
dab568f9
Include fixes to HTP shared memory from PR 23402
2bba9369
Fix python linter formatting error
c33fa663
Move deleted NodeUnit constructors next to overloaded delete operator…
15e88e4d
Merge branch 'main' into adrianl/qnn-ep-dynamic-lib
a98bcf80
Merge branch 'main' into adrianl/qnn-ep-dynamic-lib
12283fd3
Merge branch 'main' into adrianl/qnn-ep-dynamic-lib
75afaa62
Merge main and fix conflicts
c0644018
Merge branch 'main' into adrianl/qnn-ep-dynamic-lib
f7ef5723
jywu-msft
approved these changes
on 2025-01-22
Assignees
No one assigned
Login to write a write a comment.
Login via GitHub