Skip to content

Conversation

@naco-siren
Copy link

  1. Setup dynamic native library loading in the :lib native submodule to:
    a. enable Aarch64 acceleration up to SME2
    b. enable x86_64 acceleratiion up to AMX
    c. support both Android and ChromeOS
  2. Rewrite the C++ layer with:
    a. automatic message role formatting
    b. system prompt injection
    c. context overflow handling
    d. batch decoding
  3. Rewrite the JNI bridge to expose:
    a. engine states
    b. new API (such as system prompt)
  4. Add utilities and helpers to:
    a. parse GGUF metadata
  5. Miscellaneous performance optimizations
  6. Rewrite the basic sample app

Architectural diagram
512337972-87574ed8-8810-4754-b5bd-fca606e5497e

Performance comparison
Against Google AI Edge Gallery on the same Pixel 9:

512345275-355b5941-65c2-4088-8622-44979954caef.mp4

Production app
The full-featured production app "Arm AI Chat" is published on Google Play, it's built with the same binding and works on both Android and ChromeOS:
512358773-ba1a4412-df71-4f3f-bb12-e1bc97cd12ad

…k navigation inside conversation and benchmark
… enable alert dialog on back navigation inside conversation and benchmark
@github-actions github-actions bot added documentation Improvements or additions to documentation android Issues specific to Android examples ggml changes relating to the ggml tensor library for machine learning labels Nov 20, 2025
@naco-siren
Copy link
Author

naco-siren commented Nov 20, 2025

just merged and resolved conflicts with changes introduced 3 days ago from cb44fc8

@naco-siren
Copy link
Author

naco-siren commented Nov 20, 2025

Not sure why one test case in ggml-ci-x64-amd-vulkan fails...
@slaren This PR doesn't touch Vulkan or AMD at all. Would appreciate it if you could take a quick look, thank you!

Vulkan.csv L9456

"Vulkan0","SUM","type=f32,ne=[11,5,6,3],permute=[0,2,1,3]","support","1","yes","Vulkan"

@naco-siren naco-siren changed the title llama.android : Rewrite Android binding without cpu_features dependency llama.android : Rewrite Android binding (w/o cpu_features dep) Nov 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

android Issues specific to Android documentation Improvements or additions to documentation examples ggml changes relating to the ggml tensor library for machine learning

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants