|
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
2.77 kB
| 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 | |