# Qualcomm® AI Engine Direct Backend Library

The TFLite Delegate is built on the top of Qualcomm® AI Engine Direct libraries, which can be found in
the corresponding architecture directory in the Qualcomm® AI Engine Direct SDK `lib` directory.

To support the widest range of devices, we recommend to put all libraries to the
environment. However, if the application size is a concern, here are descriptions
for each library:

| Backend Name | Backend Description | Target and Library Names | Library Description |
| --- | --- | --- | --- |
| GPU | Backend for Adreno™ GPU hardware accelerator | <ul class="simple"><br><li><p>aarch64-android</p><br><ul><br><li><p><code class="docutils literal notranslate"><span class="pre">libQnnGpu.so</span></code></p></li><br></ul><br></li><br></ul> | **libQnnGpu.so**<br><br><br>GPU backend library, same name used across all devices. |
| DSP | Backend for Hexagon™ DSP hardware accelerator in SM8150 or SM8250. | <ul class="simple"><br><li><p>hexagon-v66</p><br><ul><br><li><p><code class="docutils literal notranslate"><span class="pre">libQnnDspV66Skel.so</span></code></p></li><br></ul><br></li><br><li><p>aarch64-android</p><br><ul><br><li><p><code class="docutils literal notranslate"><span class="pre">libQnnDsp.so</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">libQnnDspV66Stub.so</span></code></p></li><br></ul><br></li><br></ul> | **libQnnDsp.so**<br><br><br>This library loads corresponding Stub libraries according to the runtime environment.<br>Then the Stub library on CPU side loads corresponding Skel library on DSP side.<br><br><br>V66 libraries are loaded in S865.<br><br><br>**libQnnDspV66Skel.so**<br><br><br>DSP native library loaded by `libQnnDspV66Stub.so`<br><br><br>**libQnnDspV66Stub.so**<br><br><br>DSP proxy backend library on CPU side, communicating with `libQnnDspV66Skel.so` |
| HTP | Backend for Hexagon™ HTP hardware accelerator in S888 or SoC newer than S888. | <ul class="simple"><br><li><p>hexagon-v68</p><br><ul><br><li><p><code class="docutils literal notranslate"><span class="pre">libQnnHtpV68Skel.so</span></code></p></li><br></ul><br></li><br><li><p>hexagon-v69</p><br><ul><br><li><p><code class="docutils literal notranslate"><span class="pre">libQnnHtpV69Skel.so</span></code></p></li><br></ul><br></li><br><li><p>hexagon-v73</p><br><ul><br><li><p><code class="docutils literal notranslate"><span class="pre">libQnnHtpV73Skel.so</span></code></p></li><br></ul><br></li><br><li><p>hexagon-v75</p><br><ul><br><li><p><code class="docutils literal notranslate"><span class="pre">libQnnHtpV75Skel.so</span></code></p></li><br></ul><br></li><br><li><p>hexagon-v79</p><br><ul><br><li><p><code class="docutils literal notranslate"><span class="pre">libQnnHtpV79Skel.so</span></code></p></li><br></ul><br></li><br><li><p>aarch64-android</p><br><ul><br><li><p><code class="docutils literal notranslate"><span class="pre">libQnnHtp.so</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">libQnnHtpPrepare.so</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">libQnnHtpV68Stub.so</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">libQnnHtpV69Stub.so</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">libQnnHtpV73Stub.so</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">libQnnHtpV75Stub.so</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">libQnnHtpV79Stub.so</span></code></p></li><br></ul><br></li><br></ul> | **libQnnHtp.so**<br><br><br>There are two variants of this library: (Android) This library loads corresponding Stub libraries according to the runtime environment.<br>Then the Stub library on CPU side loads corresponding Skel library on HTP side. (x86\_64) Serves as an emulator for the hardware accelerator.<br><br><br>**libQnnHtpV\*Skel.so**<br><br><br>HTP native library loaded by corresponded `libQnnHtpV*Stub.so`<br><br><br>**libQnnHtpV\*Stub.so**<br><br><br>HTP porxy library on CPU side, communicating with `libQnnHtpV*Skel.so`<br><br><br>**libQnnHtpPrepare.so**<br><br><br>HTP library run on CPU side. This library is loaded to prepare the graph.<br><br><br>However, if the cache exists and valid for a certain model, this library<br><br><br>might not need to be on the device. |
| System | Library used by Qualcomm® AI Engine Direct to interpret the cache. | <ul class="simple"><br><li><p>aarch64-android</p><br><ul><br><li><p><code class="docutils literal notranslate"><span class="pre">libQnnSystem.so</span></code></p></li><br></ul><br></li><br></ul> | **libQnnSystem.so**<br><br><br>If the cache feature is used, this library is required on the device to<br>save or interpret the cache file correctly. |

Last Published: May 06, 2026

Previous Topic
 
External Delegate Options Next Topic

Glossary