mrsnu / band

Multi-DNN Inference Engine for Heterogeneous Mobile Processors
Other
23 stars 2 forks source link

[Platform support] Tensorflow Lite Hexagon Delegate #305

Open dostos opened 11 months ago

dostos commented 11 months ago

Currently, Tensorflow Lite requires the end user to add shared libraries to use Hexagon delegate, such as libhexagon_interface.so (interface from TensorFlow side - integrated in org.tensorflow:tensorflow-lite-hexagon aar) and libhexagon_nn_skel*.so (Qualcomm nnlib). We want to automate this process with our Java aar and benchmark execution process.

Problem

The signature for the provided libraries is generated using the elfsigner from a Hexagon SDK, allowing for development on test devices. However, it is important to note that execution on production devices, such as OEM devices like Pico 4, requires appropriate credentials from system integrators.

Reference

Current solution

Simply push and load libhexagon_nn_skel*.so to public directories, such as /data/local/tmp

Possible direction to investigate

See if we can sign these libraries on our own (using Hexagon SDK https://developer.qualcomm.com/software/hexagon-dsp-sdk/tools that requires company registration).

dostos commented 11 months ago

We may need to look https://gitlab.freedesktop.org/monado/utilities/openxr-android-broker later.