Zest

Like this? Tip my local NPR station

Use your NPU
in Lemonade.

Run many GGUF models through Lemonade's llama.cpp backend. Your NPU helps read long prompts; your GPU writes the reply. No ONNX or Q4NX export needed.

Your promptNPU + GPUYour reply
Lemonade
The same prompt on GPU alone and NPU + GPU, side by side at 3 times speed. Timers show original elapsed time.
Same prompt · GPU vs NPU + GPU · 3× playback

Zest is an independent community add-on. Windows 11 preview, tested on Strix Point with Lemonade 2026.43.3.

What the NPU does

Zest helps while the model reads a long prompt, a stage called prefill. Try a long document or passage to summarize; short chat messages may see little benefit.

Read the prompt

Large prompt chunks can run on the NPU. Small chunks stay on the GPU.

Write the reply

Your Vulkan GPU handles attention and generates each reply token.

Keep using Lemonade

Chat in the desktop app or connect to its local API. Your GGUF file stays local.

What we measured

1.90×

median prefill speed ratio
Strix Point · Radeon 890M

Qwen3.8-27B UD-IQ3_S · one aligned 2,048-token prompt chunk · Ryzen AI 9 HX PRO 370 / Radeon 890M (Strix Point).
About 47% less prefill time in this test. Three warm pairs on one Windows laptop; background load and thermals weren't controlled. Model load and weight conversion are excluded. This does not show a decode benefit or compare with Lemonade's current default backends.

Read the test report

More models through Lemonade

The same long prose request across five models, measured on the same Strix Point laptop. Speedups vary by model and prompt.

Prompt processing, tokens/s · 3 warm paired runs per model · median speedup with range
Model / GGUFGPUNPU + GPUSpeedup
Qwen3.8-27BUD-IQ3_S · 2,769 prompt tokens50741.54×1.47–1.55×
LFM2.5-2.6BQ8_0 · 2,823 prompt tokens7721,1901.54×1.11–1.57×
Qwen3-4BQ4_K_M · 2,785 prompt tokens4155971.46×1.44–1.60×
LFM2.5-1.2B-InstructQ8_0 · 2,846 prompt tokens1,7692,6001.46×1.44–1.48×
LFM2.5-350MQ8_0 · 2,846 prompt tokens5,3385,8971.14×1.05–1.15×

Try it on your laptop

You'll need Windows 11, Lemonade 2026.43.3, a local GGUF file, a Ryzen AI NPU with its AMD driver, and a Vulkan GPU driver. The preview includes the matching backend.

  1. Download and unzip

    Extract the Windows preview and keep its files together. Lemonade and model weights are separate downloads.

    Windows preview
  2. Start the server

    Quit Lemonade's server from the system tray. Double-click Start-Lemonade.cmd. If asked, choose LemonadeServer.exe from Lemonade's bin folder, then choose your GGUF file. Leave that window open.

    Start-Lemonade.cmd
  3. Open Lemonade and chat

    In Settings, change Base URL to the address below and save. Select the imported model, then try summarizing a long passage. The first request can take longer while Zest prepares the NPU weights.

    http://127.0.0.1:13315

What we've tested so far

Windows 11, Ryzen AI 9 HX PRO 370, Radeon 890M, and Lemonade 2026.43.3. The actual desktop app and local API both ran NPU-assisted prompts.

This preview uses the bundled b10944 backend. Speed depends on your model, and converted weights use extra RAM. Linux NPU hardware and Strix Halo haven't been verified by this project.

Which GGUF models can I use?

This works across many GGUF models through the llama.cpp backend. The Qwen, LFM, and Granite models in our tests are examples, rather than a fixed model list. You don't need an ONNX or Q4NX export, or a separately compiled NPU kernel for each model. Your GGUF must work with the bundled b10944 build; the add-on's operation coverage, available memory, and hardware also matter. Some models get little benefit or run faster on the GPU alone. See the model results and limitations.

What if my NPU is unavailable?

The launcher checks it before starting and uses the GPU if the check fails. The reason is saved in third_party/lemonade-instance/device-probe.log in the extracted folder. If the NPU fails during a request, Zest retries that work on the GPU and keeps using the GPU for later prompts.

Why isn't the NPU busy on every message?

Prompt chunks below 1,024 tokens normally stay on the GPU. Try a longer passage. The first long request also includes the cost of preparing the NPU's weight copies. Lemonade's GPU recipe label doesn't tell you whether the add-on ran; check the NPU call counts in the server log.

How do I return to my usual Lemonade setup?

Stop this server with Ctrl+C, restart your normal Lemonade tray server, and restore the app's previous Base URL, normally http://localhost:13305. The launcher uses a separate configuration directory.

Can I use llama.cpp directly?

Yes. The backend and npu launcher still support direct llama.cpp use on Windows and Linux. The technical guide has those commands, build instructions, standalone benchmarks, and the memory and accuracy limits.