Android + OpenCL implementation β€” runs on-device on non-flagship phones (Adreno 6xx)

#5
by a8nova - opened

Hi! I wanted to share an Android + OpenCL implementation of LFM2.5-VL-450M, in case anyone wants to run it on a phone:

  • Try it: Edgi on Google Play β€” runs fully on-device, no cloud.
  • Open source: the app is built on top of the open-source adreno-llms inference engine β€” https://github.com/a8nova/adreno-llms β€” pure C++/OpenCL with hand-written kernels tuned for Adreno, covering the SigLIP-2 vision tower and the LFM2 hybrid conv+attention decoder.

It's tuned and tested on Adreno 6xx GPUs β€” the GPU class in mid-range and older Android phones (verified on a 2020 Motorola Razr / Adreno 620) β€” and should run on most arm64 Android phones with OpenCL, though the optimizations are Adreno-specific. On the Adreno 620 it decodes at ~10 tok/s in fp16 with full multi-tile image input (up to 10Γ— 512Β² tiles + thumbnail), and the int8 variant matches the PyTorch fp32 reference byte-for-byte on the first tokens.

Hope it's useful β€” happy to answer questions!

Sign up or log in to comment