Versions
Toolchain
Four pieces must version-match. Pins live in toolchain-pins.toml. Do not use uv run.
The four-way match
amdxdnakernel module- XRT userspace
- XRT XDNA plugin
- NPU firmware
In-tree Linux amdxdna can lag userspace and fail with mailbox EINVAL. Firmware name npu.dev.sbin vs npu.sbin is a real split. RLIMIT_MEMLOCK must be unlimited or xclbin load fails with EPERM.
Pins (this tree)
Canonical file: `toolchain-pins.toml`. ironlab doctor prints it. just fetch-sources checks these revisions out.
| Piece | Pin |
|---|---|
| mlir-aie | b2fc5aa5 source build — not the PyPI wheel |
| xdna-driver | beb9e450 out-of-tree |
| XRT userspace | 2.21.75 |
Peano (llvm-aie) |
21.0.0.2026040201+986b3623 nightly wheel |
third_party/ is gitignored. Do not vendor it.
Why not `uv run`
uv run resyncs from uv.lock and can reinstall a mismatched mlir-aie wheel (built against XRT 2.18) over the source build. Symptom: AnyComputeTile has no attribute col. Use just run / just test.
Onboarding: just install-toolchain then (on the NPU host, sudo) firmware + out-of-tree driver. Details: docs/npu-toolchain-setup.md.