Skip to content
Back to portfolio
Open source · Systems / Rust

npurun — open-source NPU runtime in Rust

A native Rust runtime that unlocks the Hexagon NPU on Snapdragon X-series Windows-on-ARM laptops, exposed through an Ollama-class CLI and an OpenAI-compatible HTTP server.

Visit the live site

npurun is an open-source Rust crate and CLI we built to solve a hardware-meets-software gap: the 45 TOPS Hexagon NPU shipped in every Snapdragon X-series laptop is real, fast, and chat-pace usable — but the entire open ecosystem (Ollama, llama.cpp, LM Studio) runs CPU-only on these chips. The runtimes that do reach the NPU are closed-source or gated.

npurun is the open path. Native Rust FFI to the underlying Qualcomm Genie SDK (the same engine used internally by NexaSDK and AnythingLLM, but exposed openly), packaged as both a CLI (`pull` / `run` / `serve` / `bench` / `ps` — Ollama-compatible verbs) and an HTTP server speaking the OpenAI and Ollama API shapes. Multi-model registry with sha256-verified pulls, multi-turn conversations via KV-cache rewind, automatic multi-graph bundle support.

Real numbers on real hardware: Qwen3-4B Instruct hits ~14.9 tokens/sec, Phi 3.5 Mini ~11.7, Qwen 2.5 VL-7B ~9.1 — all on the NPU at chat-pace, roughly 2–3× more energy-efficient than the CPU path on the same laptop.

Apache-2.0 licensed, embeddable as a Rust crate, doesn't gate on Qualcomm SoC marketing strings (probes Windows device IDs directly), ships an OpenAI/Ollama-compatible HTTP server so any existing client works. The kind of systems work we take on when a client has a hard technical problem the off-the-shelf solution doesn't reach.

Tagged#open-source#rust#systems#snapdragon#windows-on-arm#npu#qualcomm#hardware
Open for May builds

Get a quote in 60 seconds.
A site live in days.

Slide our pages, pick the features you need, see the price update live. Save your quote with one email — no sales calls to get a number.

Money-back if you don't love it in week one. Australian-owned. ABN-registered.

npurun — open-source NPU runtime in Rust · Bold Agency