Download amd_dev_community_showcase.md from elyanlabs/npu-linux-kit: direct link, hf CLI and curl.
- Browser
- Download file 2.77 kB
-
https://huggingface.co/elyanlabs/npu-linux-kit/resolve/main/amd_dev_community_showcase.md
- Command line
-
hf download hf://elyanlabs/npu-linux-kit/amd_dev_community_showcase.md
-
curl -L -o amd_dev_community_showcase.md https://huggingface.co/elyanlabs/npu-linux-kit/resolve/main/amd_dev_community_showcase.md
TITLE (one line): npu-linux-kit: practical AMD XDNA NPU apps for Linux β a working NPU webcam-effects daemon (220 FPS pipeline), plus an honest roadmap
CATEGORY: Showcase (also fits Projects & Demos)
----- BODY -----
TL;DR. A kit of practical Linux applications for the AMD XDNA NPU β built on my open-source gen-1 (XDNA1 / Phoenix) bring-up. The first module is a working real-time NPU webcam-effects daemon that outputs a v4l2 virtual camera (so Zoom/OBS/browsers use it). The other modules (background-blur, embeddings, audio, a ggml backend) are on a roadmap and clearly marked as candidate/planned β no working claims until built. Repo: https://github.com/Scottcjn/npu-linux-kit (foundation: https://github.com/Scottcjn/open-xdna)
Why. AMD's NPU is underused on Linux β the official LLM stack targets XDNA2, and the NPU's real strengths (low-power, conv/vision, batchable compute, offload) aren't packaged into usable Linux apps. This kit does that, one measured module at a time.
Working today β NPU webcam effects. Live camera β NPU conv/colorspace effect (edge-stylize: rgba2gray β 3Γ3 filter2d β threshold β blend) β v4l2loopback virtual camera. Measured on a Ryzen 7 8845HS (XDNA1), Ubuntu 25.10 / kernel 6.17:
- Full per-frame pipeline incl. host DMA round-trip: 220 FPS @1080p, 451 FPS @720p (7β32Γ headroom over 30fps).
- In the live daemon, the NPU effect adds ~2 ms/frame at ~6.6 W β end-to-end is camera-capture-bound (~15 FPS on a USB webcam), never NPU-bound.
So the NPU runs the effect essentially for free, leaving the CPU/iGPU idle β exactly the low-power offload role it's built for. There's huge headroom for heavier effects.
Roadmap (honestly marked):
- Background blur β the marquee "Studio Effects" feature; needs a segmentation model on the NPU. The headroom says feasible; not built.
- Embeddings β batch sentence/RAG embeddings; matmul-heavy + batchable β amortizes the NPU's dispatch overhead. Candidate.
- Audio β wake-word / denoise; the NPU's classic edge job, but untested here β listed as a candidate, not a claim.
- ggml backend β an XDNA backend for ggml/llama.cpp; the foundational enabler. Biggest lift.
Honesty / scope. Verified on XDNA1 (Phoenix). The camera module is real and measured; the rest make no working claims. Research/community project, not a production stack. The kit builds on open-xdna, where I also filed the bring-up issues/PRs upstream (amd/xdna-driver #1447/#1448/#1449, plus an mlir-aie discussion on the AIE2 vector ISA).
Feedback very welcome β especially from anyone on Phoenix/Hawk Point hardware who wants NPU camera effects on Linux. π https://github.com/Scottcjn/npu-linux-kit