# npunlock

A tool that reconstructs a path from custom C code to a runnable kernel on Intel Core Ultra NPUs, exposing the chip's programmable SHAVE cores that Intel's public software stack otherwise hides behind graph-level programming only.

npunlock gives developers a way to write and run their own C kernels on the programmable ACT-SHAVE processors inside Intel's Core Ultra neural processing units, which Intel's official stack normally exposes only through pre-built graph operations. It locates the tool-count and operation checks inside Intel's compiler and driver stack and works around them so a custom operation can be supplied and executed, while still relying on Intel's compiler and driver for the surrounding graph and hardware execution.

A bundled example embeds a C kernel implementing the GELU activation function in Python, places it in an NPU graph, and checks its result against NumPy, with further examples covering different precisions and multi-branch graphs. It currently targets Windows x64 with the Meteor Lake NPU3720, requires an installed NPU driver, Python 3.10 or newer, and Intel's Movidius MoviTools toolchain for compiling custom C kernels, and installs from a source checkout with pip.

Website: https://github.com/hsfzxjy/npunlock
