Back to directory

Hawk Point NPU LLM

An experimental project for running small transformer checkpoints such as SmolLM 135M and Qwen2.5 0.5B directly on the first-generation AMD XDNA NPU in Ryzen AI processors, using MLIR-AIE kernels, a patched Ollama build and a native Colibri backend.

Hawk Point NPU LLM

This project runs compatible small transformer checkpoints on the NPU of first-generation AMD XDNA Ryzen AI processors rather than the GPU, using MLIR-AIE and IRON to target the npu1 AIE2 array directly. The CPU handles tokenization, orchestration, argmax and SmolLM's large final head, while decoder projections, RMSNorm, RoPE, attention, KV caches and SwiGLU run as AIE2 kernels on the NPU, with Qwen's head running on the NPU except under a hybrid placement that moves it and the trailing layers to the CPU. It is an unaffiliated, experimental research effort, explicitly not affiliated with or supported by AMD, Xilinx, Hugging Face or Open WebUI.

Besides the native MLIR-AIE runtime with its own OpenAI-compatible server for small supported checkpoints, the repository includes a patch that adds XDNA1 NPU support to an upstream Ollama build so existing Ollama Qwen models can run across CPU, GPU and NPU, and a native C++/XRT implementation of the Colibri backend's ABI for routed-expert and decode matmul calls made directly from Colibri's C engine.

Built with Python and C/C++, with build and verification scripts for each runtime path; alpha status, not production-ready.

More in Inference

See all 770
  • OpenDecision

    deepanwadhwa.github.io

    An open-source Python package that answers typed questions about application state or documents using a local natural-language-inference model, returning structured choice, score, yes/no or evidence-relation values instead of free text.

  • Lifeboat

    iterate.ai

    A local inference server that puts an OpenAI- and Anthropic-compatible API in front of open-weight language models running on hardware you control, from a laptop to a GPU cluster.

  • Claude S40

    github.com

    An unofficial Claude chat client for 2007-era Nokia Series 40 phones, built as a Java ME app plus a small Go relay server, with web search, reading mode and saved chats.