Imported from GitHub PR https://github.com/google-ai-edge/LiteRT/pull/3060
Summary:
- Support QnnBackend interface
- Implement IrBackend
- Implement HtpBackend
- Limit weight sharing feature for HTP backend
- Add tests for utils_test
- Add unit tests for QnnBackend
Test Result (Commit: 5d8678e59ccf04193007c46a528dd36edbc19fe6) :
1. Pass on apply_plugin_main flow & run_model flow
2. Pass performance verification
3. Pass UT:
======================== Test Summary ========================
//litert/vendors/qualcomm/core/utils:utils_test
[----------] Global test environment tear-down
[==========] 14 tests from 3 test suites ran. (45 ms total)
[ PASSED ] 14 tests.
//litert/vendors/qualcomm/core/wrappers/tests:op_wrapper_test
[----------] Global test environment tear-down
[==========] 7 tests from 1 test suite ran. (0 ms total)
[ PASSED ] 7 tests.
//litert/vendors/qualcomm/core/wrappers/tests:tensor_wrapper_test
[----------] Global test environment tear-down
[==========] 18 tests from 1 test suite ran. (0 ms total)
[ PASSED ] 18 tests.
//litert/vendors/qualcomm/core/wrappers/tests:param_wrapper_test
[----------] Global test environment tear-down
[==========] 16 tests from 2 test suites ran. (0 ms total)
[ PASSED ] 16 tests.
//litert/vendors/qualcomm/core/wrappers/tests:quantize_params_wrapper_test
[----------] Global test environment tear-down
[==========] 13 tests from 3 test suites ran. (0 ms total)
[ PASSED ] 13 tests.
//litert/vendors/qualcomm/core:tensor_pool_test
[----------] Global test environment tear-down
[==========] 8 tests from 1 test suite ran. (0 ms total)
[ PASSED ] 8 tests.
//litert/vendors/qualcomm:qnn_manager_test
[----------] Global test environment tear-down
[==========] 2 tests from 1 test suite ran. (150 ms total)
[ PASSED ] 2 tests.
//litert/c/options:litert_qualcomm_options_test
[----------] Global test environment tear-down
[==========] 11 tests from 2 test suites ran. (0 ms total)
[ PASSED ] 11 tests.
//litert/c:litert_op_options_test
[----------] Global test environment tear-down
[==========] 33 tests from 1 test suite ran. (1 ms total)
[ PASSED ] 33 tests.
//litert/tools/flags/vendors:qualcomm_flags_test
[----------] Global test environment tear-down
[==========] 7 tests from 4 test suites ran. (0 ms total)
[ PASSED ] 7 tests.
//litert/vendors/qualcomm/compiler:qnn_compiler_plugin_test
[----------] Global test environment tear-down
[==========] 200 tests from 4 test suites ran. (47116 ms total)
[ PASSED ] 200 tests.
Copybara import of the project:
--
5b72321ae84a8fb2011b451de1c9e8bb1ff4ae5f by weilhuan-qti <weilhuan@qti.qualcomm.com>:
Qualcomm AI Engine Direct - Support QnnBackend
1. Support QnnBackend interface
2. Implement IrBackend
3. Support backend type in :qnn::Option
--
5d8678e59ccf04193007c46a528dd36edbc19fe6 by chuntl-qti <chuntl@qti.qualcomm.com>:
Qualcomm AI Engine Direct - Support QnnBackend
Summary:
- Modify QnnBackend interface
- Implement HtpBackend
- Limit weight sharing feature for HTP backend
- Add tests for utils_test
- Add unit tests for QnnBackend
Merging this change closes#3060
COPYBARA_INTEGRATE_REVIEW=https://github.com/google-ai-edge/LiteRT/pull/3060 from chuntl-qti:dev/weilhuan/backend_interface 5d8678e59ccf04193007c46a528dd36edbc19fe6
LiteRT-PiperOrigin-RevId: 805683402
-Protobuf 5.28.3
-Grpc 1.68.2
-Abseil: LTS 20240116.3
-Plus some other transitive/related deps, riegeli and pybind11 in particular.
-rules_python & rules_cc will be updated in a subsequent CL as they are their own can of worms, plus there are a few pending changes in rules_python which were not pushed yet.
This also switches default protobuf implementation we rely on for bazel builds from cpp to upb, meaning all projects dependin on htis one must be built with build --action_env=PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=upb.
LiteRT-PiperOrigin-RevId: 773586210