Skip to content

Native dylibs native-v0.16.0

Choose a tag to compare

@DenisovAV DenisovAV released this 15 Aug 08:06

Native LiteRT-LM prebuilts for flutter_gemma, built from LiteRT-LM 924e79c9 (v0.16.0) with LiteRT 0ff28117.

Consumed automatically by flutter_gemma_litertlm/hook/build.dart (Native Assets) at pub get time; SHA256-verified against the map baked into that hook. Previous release: native-v0.14.0 — there was no native-v0.15.0.

What changed

  • Android OpenCL per-turn memory leak is fixed (LiteRT-LM #2699). This is the leak behind #348 and #402: RSS ratcheted ~65–300 MB per inference on the GPU path until the app was OOM-killed.
  • Stream-callback ABI moved from a 4-argument callback to a 2-argument opaque chunk, upstream, with no compatibility path. libStreamProxy resolves the shape at runtime, so both old and new hosts work.
  • Windows discrete GPU works again. The crash reported as LiteRT-LM #2957 was not an upstream regression: our Windows build passed --define=litert_link_capi_so=true, a name upstream had deleted. Bazel accepts unknown defines silently, so the LiteRt runtime was being linked statically, which conflicts with the separately shipped WebGPU accelerator once Dawn became its own library. Corrected to litert_runtime_link_mode=dynamic + resolve_symbols_in_exec=false. That issue has been retracted.
  • Both NPU dispatch stacks are now built from the pin instead of carried forward:
    • IntelLiteRtDispatch.dll plus a version-matched OpenVino runtime (2026.3.0.dev20260622). The carried-forward pair shipped OpenVino 2026.2.0 against a runtime pinned to 2026.3.0, which is what broke backend=npu.
    • QualcommlibLiteRtDispatch_Qualcomm.so rebuilt from the derived LiteRT ref, and the ten QNN runtime libraries refreshed from the same QAIRT 2.44.0.260225. The stale pair failed with Qnn System library version 1.8.0 is mismatched. The minimum supported version is 1.11.0.
  • macOS deployment target is pinned. libStreamProxy.dylib had been inheriting the build host's OS since native-v0.14.0 and shipped with minos 26.0; it is now built with -mmacosx-version-min=11.0.

Verification

  • Android — Snapdragon 8 Elite (SM8750), Android 16: 23/23 integration tests pass; CPU, GPU (OpenCL) and NPU all reach Engine initialized successfully, NPU engine_create in 498 ms.
  • Windows — Intel Arc 140V: GPU 36.1 chunks/s; NPU functional on Lunar Lake.
  • Linux — 24/24.
  • Apple — all dylibs arm64; install_name_tool rewrite clean on every one (Native Assets re-runs it on each pub get); iOS minos 13.0, macOS 11.0; gpu_registry @executable_path patch present, basename dlopen absent.

Contents

Archive Files
litertlm-android_arm64.tar.gz 19 — core + Qualcomm QNN NPU stack
litertlm-ios_arm64.tar.gz 4
litertlm-ios_sim_arm64.tar.gz 4
litertlm-macos_arm64.tar.gz 4
litertlm-linux_x86_64.tar.gz 7
litertlm-linux_arm64.tar.gz 7
litertlm-windows_x86_64.tar.gz 28 — core + DXC runtime + Intel NPU stack

SHA256 sums for every archive are in checksums_litertlm.txt.