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

  • aarch64-android

    • libQnnGpu.so

libQnnGpu.so
GPU backend library, same name used across all devices.

DSP

Backend for Hexagon™ DSP hardware accelerator in SM8150 or SM8250.

  • hexagon-v66

    • libQnnDspV66Skel.so

  • aarch64-android

    • libQnnDsp.so

    • libQnnDspV66Stub.so

libQnnDsp.so
This library loads corresponding Stub libraries according to the runtime environment. Then the Stub library on CPU side loads corresponding Skel library on DSP side.
V66 libraries are loaded in S865.
libQnnDspV66Skel.so
DSP native library loaded by libQnnDspV66Stub.so
libQnnDspV66Stub.so
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.

  • hexagon-v68

    • libQnnHtpV68Skel.so

  • hexagon-v69

    • libQnnHtpV69Skel.so

  • hexagon-v73

    • libQnnHtpV73Skel.so

  • hexagon-v75

    • libQnnHtpV75Skel.so

  • hexagon-v79

    • libQnnHtpV79Skel.so

  • aarch64-android

    • libQnnHtp.so

    • libQnnHtpPrepare.so

    • libQnnHtpV68Stub.so

    • libQnnHtpV69Stub.so

    • libQnnHtpV73Stub.so

    • libQnnHtpV75Stub.so

    • libQnnHtpV79Stub.so

libQnnHtp.so
There are two variants of this library: (Android) This library loads corresponding Stub libraries according to the runtime environment. Then the Stub library on CPU side loads corresponding Skel library on HTP side. (x86_64) Serves as an emulator for the hardware accelerator.
libQnnHtpV*Skel.so
HTP native library loaded by corresponded libQnnHtpV*Stub.so
libQnnHtpV*Stub.so
HTP porxy library on CPU side, communicating with libQnnHtpV*Skel.so
libQnnHtpPrepare.so
HTP library run on CPU side. This library is loaded to prepare the graph.
However, if the cache exists and valid for a certain model, this library
might not need to be on the device.

System

Library used by Qualcomm® AI Engine Direct to interpret the cache.

  • aarch64-android

    • libQnnSystem.so

libQnnSystem.so
If the cache feature is used, this library is required on the device to save or interpret the cache file correctly.