From b6ff0cc5fd899070365937641a82cf66727e71f8 Mon Sep 17 00:00:00 2001 From: Hector Li Date: Wed, 25 Sep 2024 13:24:36 -0700 Subject: [PATCH] Qnn weight sharing doc (#22109) ### Description QNN EP weight sharing docs --- .../QNN-ExecutionProvider.md | 45 ++++++++++++++++++ images/Onnx_weight_sharing.png | Bin 0 -> 20366 bytes images/Ort_Qnn_Ep_weight_sharing.png | Bin 0 -> 68624 bytes images/Qnn_weight_sharing.png | Bin 0 -> 23364 bytes 4 files changed, 45 insertions(+) create mode 100644 images/Onnx_weight_sharing.png create mode 100644 images/Ort_Qnn_Ep_weight_sharing.png create mode 100644 images/Qnn_weight_sharing.png diff --git a/docs/execution-providers/QNN-ExecutionProvider.md b/docs/execution-providers/QNN-ExecutionProvider.md index 7558ea5158..1cf50ecadc 100644 --- a/docs/execution-providers/QNN-ExecutionProvider.md +++ b/docs/execution-providers/QNN-ExecutionProvider.md @@ -431,6 +431,51 @@ g_ort->AddSessionConfigEntry(session_options, kOrtSessionOptionEpContextEmbedMod options.add_session_config_entry("ep.context_embed_mode", "0") ``` +## QNN EP weight sharing + +### Weight sharing in Onnx domain +Weight sharing in Onnx means multiple Onnx models with external weights point to the same external weight file. The Onnx models share same tensor names so that they reference to the same tensor data. +

Weight sharing across Onnx models

+ +### Weight sharing in QNN domain +QNN weight sharing is enabled with QNN pre-generated QNN context binary. It requires users to generate context binary offline on Linux x86_64 or Windows x86_64 machine (Windows support since QNN 2.26). The QNN context binary contains multiple graphs which share the same tensors. +

Weight sharing in QNN context binary

+ +### Weight sharing in QNN domain +The way OnnxRuntime to convert Onnx model with weight sharing to QNN context binary with weight sharing. +1. Create QNN context with weight sharing configuration enabled. +2. Convert and compile model1.onnx into QNN context (get Qnn graph1). +3. Convert and compile model2.onnx into QNN context (get Qnn graph2). +4. Repeat step 2 if more models. +5. Generated the QNN context binary file, generated wrapped Onnx model with EPContext nodes. +OnnxRuntime QNN EP provides [OnnxRuntime_qnn_ctx_gen](https://github.com/microsoft/onnxruntime/tree/main/onnxruntime/test/qnn_ctx_gen) tool to complete these steps. +Example command line: +``` +./onnxruntime_qnn_ctx_gen -i "soc_model|60 htp_graph_finalization_optimization_mode|3" ./model1.onnx,./model2.onnx +``` +It creates 2 Onnx model (model1.onnx_ctx.onnx, model2.onnx_ctx.onnx) and a QNN context binary file (model2.onnx_ctx.onnx_xxx.bin). +

Weight sharing from Onnx to QNN

+If user creates the QNN context binary .bin file weight sharing from QNN toolchain (qnn-context-binary-generator). The context binary .bin file looks the same. User needs to create model1.onnx and model2.onnx with EPContext node which points to this .bin file. Each EPContext node should refer (node name and partition_name) to different Qnn graph names from the QNN context. Here’s an example script for reference [gen_qnn_ctx_onnx_model.py](https://github.com/microsoft/onnxruntime/blob/main/onnxruntime/python/tools/qnn/gen_qnn_ctx_onnx_model.py) which wraps one single QNN graph into EPContext node. + +### Inference with QNN resource sharing workflow +OnnxRuntime inference session need to have resource sharing enabled (set session option ep.share_ep_contexts to 1) to use the dumped Qnn context model with weight sharing enabled. +1. Create OnnxRuuntime inference session with ep.share_ep_contexts=1, loads the model1.onnx_ctx.onnx model. + 1.1 The session loads the model1.onnx_ctx.onnx model. + 1.2 The shared place is empty. + 1.3 EPContext node1 in model1.onnx_ctx.onnx specifies that it uses Qnn_graph1 + 1.4 QNN EP loads the qnn_ctx.bin and deserialize the binary to get Qnn graphs (Qnn_graph1, Qnn_graph2). + 1.5 Uses Qnn_graph1 for this OnnxRuntime session. + 1.6 Put the Qnn_graph2 into the shared place. +2. Create OnnxRuuntime inference session with ep.share_ep_contexts=1, loads the model2.onnx_ctx.onnx model. + 2.1 The session loads the model2.onnx_ctx.onnx model. + 2.2 The EPContext node2 in model2.onnx_ctx.onnx specifies that it uses Qnn_graph2. + 2.3 The shared place has Qnn_graph2. + 2.4 QNN EP skips loading qnn_ctx.bin since it gets what it wants from the shared place. + 2.5 Uses Qnn_graph2 from the shared place for this session. +3. To avoid issues while existing execution, user needs to destroy the 2nd session first, then the 1st session. + +[Code example](https://github.com/microsoft/onnxruntime/blob/291a5352b27ded5714e5748b381f2efb88f28fb9/onnxruntime/test/providers/qnn/qnn_ep_context_test.cc#L979-L992). + ## Usage ### C++ C API details are [here](../get-started/with-c.md). diff --git a/images/Onnx_weight_sharing.png b/images/Onnx_weight_sharing.png new file mode 100644 index 0000000000000000000000000000000000000000..b3c277903ddfb799eb19b798ee00ca504af351f0 GIT binary patch literal 20366 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 Y7me0kU*`D%IN;9U>FVdQ&MBb@0BpDxYXATM literal 0 HcmV?d00001 diff --git a/images/Ort_Qnn_Ep_weight_sharing.png b/images/Ort_Qnn_Ep_weight_sharing.png new file mode 100644 index 0000000000000000000000000000000000000000..e8fa37d1bb2a44f7b4e62af64c69175e00e15a6a GIT binary patch literal 68624 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

<4>)yg@*DRE@aY*X3@gM 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 literal 0 HcmV?d00001 diff --git a/images/Qnn_weight_sharing.png b/images/Qnn_weight_sharing.png new file mode 100644 index 0000000000000000000000000000000000000000..d415c3bfc57caee4ef4290305987873afa3e7c4d GIT binary patch literal 23364 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