whatisgithub

What is ggml-rocket?

gregordinary/ggml-rocket — explained in plain English

Analysis updated 2026-05-18

9C++Audience · developerComplexity · 5/5Setup · hard

In one sentence

A backend that speeds up AI language and speech model processing on Rockchip NPU chips by offloading the input-reading stage to the NPU.

Mindmap

mindmap
  root((ggml-rocket))
    What it does
      Offloads prefill to NPU
      Speeds Whisper encoder
      Decode stays on CPU
    Tech stack
      C plus plus
      ggml
      llama.cpp
      whisper.cpp
    Hardware
      Rockchip RK3588
      rocket-userspace driver
    Use cases
      Faster edge AI chat
      On device speech recognition

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Speed up prefill (prompt reading) for llama.cpp models on a Rockchip RK3588 board.

USE CASE 2

Accelerate the Whisper speech recognition encoder using the on-board NPU.

USE CASE 3

Run larger local AI models faster on low-power edge hardware without cloud servers.

USE CASE 4

Reduce the wait before a chat response starts appearing on NPU-equipped devices.

What is it built with?

C++ggmlllama.cppwhisper.cpp

How does it compare?

gregordinary/ggml-rocketkhenderson20/clearcoreleonetienne/esp32-irrigation-computer
Stars999
LanguageC++C++C++
Setup difficultyhardmoderatehard
Complexity5/54/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires an RK3588 Rockchip board, a separate driver dependency, and building from source.

So what is it?

ggml-rocket is a piece of software that makes AI language models and speech recognition models run faster on a specific type of small computer chip called a Rockchip NPU, found in boards like the RK3588. An NPU is a chip built specifically to speed up AI math, separate from the regular processor. This project lets existing AI tools such as llama.cpp and whisper.cpp use that chip automatically instead of relying only on the regular processor. The way it works is that AI model processing has two stages: first reading and understanding the input, called prefill, and then generating a response word by word, called decode. This project moves the reading stage onto the NPU chip, where it runs several times faster, while leaving the word by word generation on the regular processor, since that part does not benefit as much from the NPU's design. It works with a range of well-known models including Gemma, Qwen, Llama, Phi, and Ministral, and it also speeds up the Whisper speech recognition model's listening stage. Installing it involves building the software from source alongside a separate driver project it depends on, then pointing existing AI tools at the resulting file so the NPU shows up as an available option, similar to how other hardware acceleration options already work with these tools. The README includes detailed speed comparisons showing that on larger models, using the NPU for the reading stage can be two to four times faster than the regular processor alone, which noticeably shortens how long a user waits before an AI chat response starts appearing. The project's author discloses that it was built primarily using an AI coding assistant, with human involvement mostly limited to setting goals and providing the hardware to test on. It is described as a side project done out of curiosity, without guarantees about long-term quality or how often it will be updated.

Copy-paste prompts

Prompt 1
Explain how ggml-rocket splits prefill and decode between the NPU and CPU on an RK3588.
Prompt 2
Help me build ggml-rocket and its rocket-userspace dependency from source.
Prompt 3
Walk me through setting the GGML_BACKEND_PATH environment variable to use ggml-rocket with llama.cpp.
Prompt 4
What environment variables like ROCKET_MOE or ROCKET_INT8 do in ggml-rocket and when should I use them?

Frequently asked questions

What is ggml-rocket?

A backend that speeds up AI language and speech model processing on Rockchip NPU chips by offloading the input-reading stage to the NPU.

What language is ggml-rocket written in?

Mainly C++. The stack also includes C++, ggml, llama.cpp.

How hard is ggml-rocket to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is ggml-rocket for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.