hn.today

Show HN: Npunlock – Run custom C kernels for Intel NPUs

github.com38 points9 comments
Screenshot of Show HN: Npunlock – Run custom C kernels for Intel NPUs

npunlock is a toolchain that restores a missing workflow for Intel Core Ultra NPUs by turning custom C code into runnable ACT‑SHAVE machine kernels and embedding them in NPU execution graphs. Verified on Windows x64 with Meteor Lake / NPU3720, it compiles user C into SHAVE code via Intel/Movidius MoviTools, packages a native helper DLL, and provides Python, CLI, and C APIs to insert custom kernels into graphs. Examples include FP32 and FP16 GELU implementations that run on the NPU and verify results against NumPy; the toolchain exposes libm functions (like tanhf) via the MoviTools runtime. A recent breakthrough (2026-09-23) enables a single native graph to run independent FP32-unary and FP16-binary custom branches by using an explicit ACT-group preflight to control the compiler’s branch reordering.

Installation requires Windows x64, an installed Intel NPU driver for the device, Python 3.10+, CMake and MSVC for source builds, and an extracted MoviTools MVC_DEPEND package (supplied by legacy driver payloads but not redistributed). npunlock currently supports static dense FP16 unary and two-input kernels and a verified FP32 unary path; mixed-precision and other NPU generations are experimental or unverified, with strict tensor-layout and carrier compatibility. Documentation covers kernel writing, compilation, and reverse‑engineering notes. The code is Apache‑2.0 licensed; MoviTools and Intel libraries remain proprietary. Contributions and hardware testing for Linux or newer NPUs are invited.

Read on github.com9 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Hardware

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.