What’s New

LiteRT

AI

Google's on-device inference runtime, formerly TensorFlow Lite.

Latest v2.1.6 · by GoogleWebsitegoogle-ai-edge/LiteRT

Changelog

v2.1.6

Added 1
  • Released ARMv7 prebuilts
Changed 3
  • Refactored CC APIs to be header only
  • CC APIs can now be used without linking Abseil
  • Expanded Accelerator Test Suite (ATS) single op coverage to 43 ops across f16 and f32 data types
Fixed 1
  • Improved built-in kernels to support high dimensional tensors and fixed GPU kernel issues like broadcast

Release 2.1.6

Major Features and Improvements
  • Refactored CC APIs to be header only
  • CC APIs now can be used without linking Abseil
  • Released ARMv7 prebuilts
  • Expanded Accelerator Test Suite (ATS) single op coverage to 43 ops across f16 and f32 data types.
Bug Fixes and Other Changes
  • Improved built-in kernels to support high dimensional tensors, and fixed GPU kernel issues (like broadcast)

v2.1.5

Release 2.1.5

Major Features and Improvements
  • Python 3.14 Support: Added PyPI wheels for Python 3.14
  • Make LiteRT C++ APIs header only
  • Support LiteRT environment and option APIs directly from Python
  • Removed libLiteRt.so dependency from GPU Accelerator and Dispatch API shared libraries. They no longer require libLiteRt.so to use.
  • Made LiteRT Options class as pure data only object. It doesn’t require a LiteRT C API call to create & update the object.
  • Added Raspberry Pi 5 GPU acceleration support
Bug Fixes and Other Changes

v2.1.4

Release 2.1.4

Major Features and Improvements
  • Improved c/cc API surfaces to avoid using deprecated methods
  • Improved CMake build system’s build stability
  • Introduced Environment to Python Compiled Model API to allow passing options

v2.1.3

Release 2.1.3

Major Features and Improvements
  • Updated CMake build rules to support both CompiledModel and Interpreter APIs.   cmake_example/CMakeLists.txt shows how you can use both libraries.

  • Expanded MediaTek NPU support to all applicable Android versions   (only Android 15 previously) by supporting bundling MediaTek libraries in   application binary.

  • Added experimental support for multi-threaded CompiledModel creation

  • Fixed GPU support for Python on Windows

  • Individual Options APIs (litert/cc/options) no longer use LiteRT C APIs (LiteRtXXX). They’re updated to use string based serialization and use LrtXXX() functions which can be linked individually.

  • Added basic support for Broadcom VideoCore GPUs.

Bug Fixes and Other Changes
  • Move the experimental API GetProfiler() out of litert::CompiledModel.

  • Fixed a bug that given CPU Buffers are not always synced with GPU Accelerator   from the second inference.

  • Removed methods from litert::Event which uses C type LiteRtEnvironment.   All C++ API should uses C++ litert::Environment instead.   Also removed method CreateFromSyncFenceFd() that doesn't accept   litert::Environment.

  • Updated litert::Event::Type() to return C++ types instead of C types.

  • The LiteRT headers no longer define the following OpenCL type names in the   global namespace when OpenCL is not supported: cl_mem, cl_event.   These have been replaced with the type aliases LiteRtClMem and   LiteRtClEvent, defined in a new header litert/c/litert_opencl_types.h.   All of these symbols that didn't include the LiteRt prefix in their name   were never intended to be part of the LiteRT API, and their presence   in the global namespace risked conflicts with header files from other   packages.

  • Likewise, and for the same reason, the LiteRT headers no longer define the   following WebGPU type names in the global namespace when WebGPU is   supported: struct WGPUBufferImpl, WGPUBuffer. These have been   replaced with the type alias LiteRtWGPUBuffer which is defined in a   new header file litert/c/litert_webgpu_types.h. Alternatively, apps   using these symbols can get them from WebGPU's webgpu.h header file.

  • Added experimental support for multi-threaded CompiledModel creation

v2.1.2

Release 2.1.2

Major Features and Improvements
  • Added Desktop GPU support in the ai-edge-litert Python package for Linux (through WebGPU) and Mac (through Metal).
  • Released Windows ai-edge-litert Python package that supports CPU inference (WebGPU on Windows in Python is coming soon)

v2.1.1

Release 2.1.1

Bug Fixes and Other Changes
  • Fixed the MacOS wheel build issue
  • Fixed the Qualcomm options passing issue in Kotlin API

v2.1.0

Release 2.1.0

Release 2.1.0 is the LiteRT beta release.

LiteRT APIs are stable and have achieved feature parity. This milestone marks a significant step forward, introducing full feature parity with TensorFlow Lite, stable LiteRT APIs, and critical performance enhancements for GPU and NPU acceleration. With this release, we are officially recommending that developers begin their transition to LiteRT.

Major Features and Improvements
LiteRT Runtime
  • Custom op is supported through custom op dispatcher.
  • CMake Build is supported in addition to Bazel
  • Released LiteRT C++ SDK using prebuilt libLiteRt.so file
  • Added Profiler API in CompiledModel
  • Added ErrorReporter API in CompiledModel
  • Added ResizeInputTensor API in CompiledModel
LiteRT NPU
  • Introduced LiteRT Accelerator Test Suite for coverage and regression testing
  • Introduced LiteRT graph transformation APIs for compiler plugins
  • Qualcomm
    • Added support for Qualcomm Snapdragon Gen5
    • Added support for NPU JIT mode
    • LiteRT Op coverage improvements
  • MediaTek
    • Added support for NPU JIT mode
    • LiteRT Op coverage improvements
LiteRT GPU
  • Increased GPU coverage with WebGPU/Dawn and OpenCL including Android, Linux, MacOS, Windows, iOS, IoT devices
  • Added asynchronous execution to Metal, WebGPU backends
  • Improved performance and memory footprint
  • Added an option to control GPU inference priority
  • Better error handling (without crashing) on Delegation errors
LLM Support
  • Provided Desktop GPU backends prebuilt for Linux (x64, arm64), MacOS (arm64), Windows (x64)
  • Improved memory utilization when executing on GPUs
  • Published new LLMs on https://huggingface.co/litert-community
    • litert-community/FastVLM-0.5B
    • litert-community/Qwen3-0.6B
    • litert-community/embeddinggemma-300m with new NPU precompiled models
    • litert-community/gemma-3-270m-it with new NPU precompiled model
  • Published Function Gemma on https://huggingface.co/google
    • google/functiongemma-270m-it
LiteRT on Android
  • Added Interpreter API (CPU only) in the Maven v2.1.0+ packages
  • Added Instruction to use pre-built CompiledModell C++ API from the Maven package.
Bug Fixes and Other Changes

Fixes Android min SDK version and it’s 23 now.

LiteRT NPU: Fixes partition algorithm when the full model cannot be offloaded to NPU.

Breaking Changes
  • Removed direct C headers usage. Users no longer need to include C headers.
  • TensorBuffer::CreateManaged() requires Environment always.
  • All TensorBuffer creation requires Environment except HostMemory types.
  • LiteRT C++ constructors are hidden. All LiteRT C++ objects should be created by Create() methods.
  • Moved internal only C++ APIs(such as litert_logging.h) to litert/cc/internal
  • Removed Tensor, Subgraph, Signature access from litert::Model. Instead users can access SimpleTensor, SimpleSignature.
  • The CompiledModel::Create() API no longer needs litert::Model. They can be created from filename, model buffers directly.
  • Users can access SimpleTensor and SimpleSignature from CompiledModel.
  • Annotation, Metrics APIs are removed from CompiledModel.
  • Removed individual OpaqueOptions creation. These OpaqueOptions objects are obtained by Options directly.
    • Options::GetCpuOptions()
    • Options::GetGpuOptions()
    • Options::GetRuntimeOptions()

v2.1.0rc1

Pre-release

Release 2.1.0rc1

Major Features and Improvements
  • NPU: Added support for Qualcomm Snapdragon Gen5
  • NPU: Added support for MediaTek Dimensity 9500
  • NPU: Added support for NPU JIT mode on Qualcomm and MediaTek
Bug Fixes and Other Changes
  • Fixes Android min SDK version to 23.
  • NPU: Fixes partition algorithm when the full model cannot be offloaded to NPU.
Breaking Changes
  • Removed direct C headers usage. Users no longer need to include C headers.
  • TensorBuffer::CreateManaged() requires Environment always.
  • All TensorBuffer creation requires Environment except HostMemory types.
  • LiteRT C++ constructors are hidden. All LiteRT C++ objects should be created by Create() methods.
  • Move internal only C++ APIs(such as litert_logging.h) to litert/cc/internal
  • Remove Tensor, Subgraph, Signature access from litert::Model. Instead users can access SimpleTensor, SimpleSignature from CompiledModel.
  • The CompiledModel::Create() API no longer needs litert::Model. They can be created from filename, model buffers directly.
  • Annotation, Metrics APIs are removed from CompiledModel.
  • Removed individual OpaqueOptions creation. These OpaqueOptions objects are obtained by Options directly.
    • Options::GetCpuOptions()
    • Options::GetGpuOptions()
    • Options::GetRuntimeOptions()

v1.4.1

Release 1.4.1

Bug Fixes and Other Changes
  • Fixed Android minSDK version to 21

v2.0.3

Release 2.0.3

Major Features and Improvements
  • Add Python backend for Google Tensor. The backend doesn't yet register itself, so it's available by default.
  • Change manufacturer to Google and SoC models to include the Tensor_ prefix for Google Tensor.
  • Minor naming changes to some flags for the Google Tensor compiler plugin.
Bug Fixes and Other Changes
  • N/A

Discussion