Searching for "XNNPACK download" mostly turns up two kinds of results: the official source repository, and a long tail of mirror sites that repackage the same code with extra wrappers around it. Since XNNPACK is a library you compile yourself, there's no installer to trust — the source archive itself is the download, so it's worth being deliberate about where it comes from.
What you're actually downloading
The XNNPACK download is a source archive, not a compiled program. Inside, you'll find C source files organized by operator type, a set of build scripts for CMake and Bazel, third-party dependency references, and the license file. There's no executable to double-click — everything in the archive exists to be compiled into a library your own project links against.
Where to get it
Use the Download section on this site's homepage, which points directly at the official source archive. If you'd rather work with Git history and branches instead of a static snapshot, cloning the official repository directly is the more flexible option, since it lets you track specific commits over time.
Checking what you got
After extracting the archive, a few quick checks confirm you have a complete, unmodified source tree:
- A
CMakeLists.txtfile should sit at the root of the extracted folder - A
LICENSEfile should be present and readable - The
src/directory should contain a large number of operator and micro-kernel source files, not just a handful - A
third_party/or equivalent submodule reference folder should exist, even if some submodules need a separate fetch step
If any of these are missing or the archive is unusually small, re-download from the source rather than trying to patch a partial copy.
Archive vs. Git clone
A ZIP archive gives you a single point-in-time snapshot, which is fine for most builds. A Git clone is better if you plan to track upstream changes, bisect a regression, or contribute back — but it does require Git and a bit more disk space for history.
Next step: building it
Once you have a verified source tree, the next step is compiling it for your target platform. Our Windows setup guide and Linux build guide walk through the CMake configuration in detail.