flash-attention family prebuilt wheels (mirror)
Byte-identical mirror of prebuilt attention wheels that Odyssey training projects install,
re-hosted on the Hugging Face CDN because the GitHub release-asset endpoint they used to be
fetched from times out mid-download often enough to break uv sync.
Nothing under wheels/ is rebuilt or repackaged (see wheels-repacked/ below for the one
exception). Each file there is the exact upstream artifact, so a
uv.lock hash pinned against the original GitHub URL keeps validating after the URL swap.
Consuming
Reference a wheel by direct URL in [tool.uv.sources]:
flash-attn = [
{ url = "https://huggingface.co/gueraf/flash-attn-wheels/resolve/main/wheels/v2.8.3/flash_attn-2.8.3+cu12torch2.9cxx11abiTRUE-cp312-cp312-linux_x86_64.whl", marker = "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux'" },
]
The repo is public, so no HF_TOKEN is needed at install time.
Paths keep the upstream release tag as a directory (wheels/<upstream-tag>/<filename>).
That is load-bearing: dev-c914365-p1 and dev-c914365-p2 both publish a wheel named
flash_attn-2.8.3+cu12torch2.9cxx11abiTRUE-cp310-cp310-linux_x86_64.whl, and a flat layout
would silently collapse the two into one.
Contents
| wheel |
upstream source |
sha256 |
bytes |
integrity |
wheels/v2.8.3/flash_attn-2.8.3+cu12torch2.9cxx11abiTRUE-cp312-cp312-linux_aarch64.whl |
Dao-AILab/flash-attention @ v2.8.3 |
db81083bcc579753140c647fecfb082919b0cce746f9c355af4e37e965e9c224 |
253,510,452 |
lock-pinned |
wheels/v2.8.3/flash_attn-2.8.3+cu12torch2.9cxx11abiTRUE-cp312-cp312-linux_x86_64.whl |
Dao-AILab/flash-attention @ v2.8.3 |
4e2f9e39313266b1544b68138b15b91ee6221eccf14f7902b7c6620351340810 |
253,780,426 |
lock-pinned |
wheels/build_block_sparse_attn-9790137a9e8a41497c8dc6ba77b69d3bbda443ec/block_sparse_attn-0.0.2-cp310-cp310-linux_x86_64.whl |
gueraf/block_sparse_attn_wheels @ build_block_sparse_attn-9790137a9e8a41497c8dc6ba77b69d3bbda443ec |
6740e88f22c76c37b56279524c2a646ba5808403696f2dd2b93a1da7b9523a3c |
146,569,645 |
lock-pinned |
wheels/build_block_sparse_attn-c07912b9d5a5edf7cbbc6a5f52cb74c0f2e28539/block_sparse_attn-0.0.2-cp310-cp310-linux_aarch64.whl |
gueraf/block_sparse_attn_wheels @ build_block_sparse_attn-c07912b9d5a5edf7cbbc6a5f52cb74c0f2e28539 |
87927036c66e7a4d50c9868acbea7e8cdec23a2bf117d594be657262b2045616 |
146,521,114 |
lock-pinned |
wheels/dev-3200363/flash_attn_cute-0.1.0+cu12torch2.9cxx11abiTRUE-py3-none-any.whl |
gueraf/flash-attention @ dev-3200363 |
bd83bc4beb7d5362fe9ed3da61fccd29b1af9f9ae7004b01499a4b7b46be7215 |
182,051 |
lock-pinned |
wheels/dev-6d2aa14/flash_attn_3-3.0.0b1+cu12torch2.9cxx11abiFALSE-cp39-abi3-linux_aarch64.whl |
gueraf/flash-attention @ dev-6d2aa14 |
a53829c72541af41ac1e913ae297af645b78b4733db88b193278b3cf80cdff8d |
136,313,327 |
CRC-only |
wheels/dev-800184d/flash_attn-2.8.3+cu12torch2.9cxx11abiFALSE-cp312-cp312-linux_aarch64.whl |
gueraf/flash-attention @ dev-800184d |
2ccc609a128edd7765451546748ff3ea69bc97a21a786560cbeacfba5de356e3 |
431,304,990 |
lock-pinned |
wheels/dev-800184d/flash_attn-2.8.3+cu12torch2.9cxx11abiFALSE-cp312-cp312-linux_x86_64.whl |
gueraf/flash-attention @ dev-800184d |
8883f73ae90b07d3b852f71ee54097e2be19f79689b8c52fd668484dd87f9509 |
431,435,070 |
lock-pinned |
wheels/dev-a4613c2/flash_attn_3-3.0.0b1+cu12torch2.9cxx11abiFALSE-cp39-abi3-linux_x86_64.whl |
gueraf/flash-attention @ dev-a4613c2 |
872b4038c08bebf142b421fde991202b3c4e118c7a58a1d94df157af1883f27c |
440,103,608 |
lock-pinned |
wheels/dev-a4613c2/flash_attn_3-3.0.0b1+cu12torch2.9cxx11abiTRUE-cp39-abi3-linux_x86_64.whl |
gueraf/flash-attention @ dev-a4613c2 |
5a3f9fbe85984b4a85ae6d4da6c9807b1d1aa3df734dc50584c9e9792e5f2450 |
440,102,686 |
lock-pinned |
wheels/dev-c914365-p1/flash_attn-2.8.3+cu12torch2.9cxx11abiTRUE-cp310-cp310-linux_x86_64.whl |
gueraf/flash-attention @ dev-c914365-p1 |
a22647dc014c4da15e5418bcd05f4a82ea6c9e86e4351df7be32e82a262ece1c |
431,372,399 |
lock-pinned |
wheels/dev-c914365-p2/flash_attn-2.8.3+cu12torch2.9cxx11abiTRUE-cp310-cp310-linux_x86_64.whl |
gueraf/flash-attention @ dev-c914365-p2 |
decd5fb84253cefdb2d766458085fbe31d7cda0567024f3506174d045bd10183 |
431,370,887 |
lock-pinned |
wheels/dev-c914365-p2/flash_attn-2.8.3+cu12torch2.9cxx11abiTRUE-cp312-cp312-linux_x86_64.whl |
gueraf/flash-attention @ dev-c914365-p2 |
00aa9b64bdb1cab24186d3839307b3bec8fbe6c234c60f3147f09fce9e075cb6 |
431,390,042 |
lock-pinned |
wheels-repacked/ — local-version metadata fixed
The +cu…abiTRUE/FALSE builds under wheels/ carry a local version segment in the filename that their
METADATA Version: and .dist-info directory name do not (e.g. filename 2.8.3+cu12torch2.9cxx11abiTRUE,
METADATA 2.8.3). uv takes the expected version from the filename and the installed version from the dist-info,
so every uv run / uv sync uninstalls and reinstalls them — it never converges.
wheels-repacked/<upstream-tag>/<same filename> holds the same wheels with exactly two changes:
METADATA Version: set to the filename's full version (local segment included);
<name>-<version>.dist-info/ renamed to match, and RECORD regenerated for the new paths.
Every other archive member is byte-identical in content — each was verified against the original wheel's RECORD
hash while repacking. Filenames are unchanged, so the tag directories still keep dev-c914365-p1/-p2 apart.
These are not byte-identical to the original upstream release assets. Their byte-identical GitHub twins are the
releases gueraf/flash-attention@repacked-<upstream-tag> (same filenames), which Odyssey resolves by default: GitHub's
asset CDN is cacheable by uv, whereas HF resolve/ answers cache-control: no-store and uv re-downloads on every run.
The originals under wheels/ are kept unchanged.
Verified with uv 0.11.32: against the original URL, uv sync --dry-run -v reports
Installed version does not match resolved version … 0.1.0 vs. 0.1.0+cu12torch2.9cxx11abitrue and a
reinstall on every run; against the repacked URL it reports Requirement already installed / Would make no changes.
| wheel |
repacked from (original sha256) |
sha256 |
bytes |
wheels-repacked/dev-3200363/flash_attn_cute-0.1.0+cu12torch2.9cxx11abiTRUE-py3-none-any.whl |
wheels/dev-3200363/flash_attn_cute-0.1.0+cu12torch2.9cxx11abiTRUE-py3-none-any.whl (bd83bc4beb7d…) |
04e9ad34b43a86521a22b5e966c43f5a033bc3e694bd229a7170d5e1a6480be2 |
182,397 |
wheels-repacked/dev-6d2aa14/flash_attn_3-3.0.0b1+cu12torch2.9cxx11abiFALSE-cp39-abi3-linux_aarch64.whl |
wheels/dev-6d2aa14/flash_attn_3-3.0.0b1+cu12torch2.9cxx11abiFALSE-cp39-abi3-linux_aarch64.whl (a53829c72541…) |
b208256fe9c86d33da5e96a75140d0319b1f9304f6219f78c103ce965c59b4c3 |
136,313,581 |
wheels-repacked/dev-800184d/flash_attn-2.8.3+cu12torch2.9cxx11abiFALSE-cp312-cp312-linux_aarch64.whl |
wheels/dev-800184d/flash_attn-2.8.3+cu12torch2.9cxx11abiFALSE-cp312-cp312-linux_aarch64.whl (2ccc609a128e…) |
a9c83524f8c138274fdb92fb822626cc216f4566b568c85bb7b95559764e7262 |
431,305,352 |
wheels-repacked/dev-800184d/flash_attn-2.8.3+cu12torch2.9cxx11abiFALSE-cp312-cp312-linux_x86_64.whl |
wheels/dev-800184d/flash_attn-2.8.3+cu12torch2.9cxx11abiFALSE-cp312-cp312-linux_x86_64.whl (8883f73ae90b…) |
f8776842b35b28725f96df2886980e52de3c1f0bd0fb8ba621c84dca1be8131e |
431,435,432 |
wheels-repacked/dev-a4613c2/flash_attn_3-3.0.0b1+cu12torch2.9cxx11abiFALSE-cp39-abi3-linux_x86_64.whl |
wheels/dev-a4613c2/flash_attn_3-3.0.0b1+cu12torch2.9cxx11abiFALSE-cp39-abi3-linux_x86_64.whl (872b4038c08b…) |
bda3ba00914a5004a7140f1fff6d8fa046f8095fd4cc1f39afebc64297a1c510 |
440,103,858 |
wheels-repacked/dev-a4613c2/flash_attn_3-3.0.0b1+cu12torch2.9cxx11abiTRUE-cp39-abi3-linux_x86_64.whl |
wheels/dev-a4613c2/flash_attn_3-3.0.0b1+cu12torch2.9cxx11abiTRUE-cp39-abi3-linux_x86_64.whl (5a3f9fbe8598…) |
9b9e617f0642c409326a03d040f1bb8d19f18ec672aefb8659f31270beb0e5b3 |
440,102,922 |
wheels-repacked/dev-c914365-p1/flash_attn-2.8.3+cu12torch2.9cxx11abiTRUE-cp310-cp310-linux_x86_64.whl |
wheels/dev-c914365-p1/flash_attn-2.8.3+cu12torch2.9cxx11abiTRUE-cp310-cp310-linux_x86_64.whl (a22647dc014c…) |
652562bc235e542c2b9f59186f4975bef1c90b6cc51beb570b3dcc3a76c2bf2c |
431,371,229 |
wheels-repacked/dev-c914365-p2/flash_attn-2.8.3+cu12torch2.9cxx11abiTRUE-cp310-cp310-linux_x86_64.whl |
wheels/dev-c914365-p2/flash_attn-2.8.3+cu12torch2.9cxx11abiTRUE-cp310-cp310-linux_x86_64.whl (decd5fb84253…) |
5a6a4630931ab8d150a8d8ab89f46e7c4624baa707ade667b3545f98cff98371 |
431,371,229 |
wheels-repacked/dev-c914365-p2/flash_attn-2.8.3+cu12torch2.9cxx11abiTRUE-cp312-cp312-linux_x86_64.whl |
wheels/dev-c914365-p2/flash_attn-2.8.3+cu12torch2.9cxx11abiTRUE-cp312-cp312-linux_x86_64.whl (00aa9b64bdb1…) |
8aa57b4a31de63c063f821a3d1e8b852fabf6d9d677c3194001a54f76223efa9 |
431,390,386 |
wheels-repacked/v2.8.3/flash_attn-2.8.3+cu12torch2.9cxx11abiTRUE-cp312-cp312-linux_aarch64.whl |
wheels/v2.8.3/flash_attn-2.8.3+cu12torch2.9cxx11abiTRUE-cp312-cp312-linux_aarch64.whl (db81083bcc57…) |
d170706d84f6bf3b333056bfe34b559b293b19c07e7c90fa69d64bcf53d1e288 |
253,510,795 |
wheels-repacked/v2.8.3/flash_attn-2.8.3+cu12torch2.9cxx11abiTRUE-cp312-cp312-linux_x86_64.whl |
wheels/v2.8.3/flash_attn-2.8.3+cu12torch2.9cxx11abiTRUE-cp312-cp312-linux_x86_64.whl (4e2f9e393132…) |
709b64eb5b5f42d23547a74d468a24c2ce29e6a392b27eb96d05c3e7a5e4ea00 |
253,780,770 |
integrity records how each file was checked when mirrored:
- lock-pinned — the sha256 above equals the hash an existing
uv.lock in the odyssey
repo already pinned for the upstream URL, so the bytes are provably the ones every
project was already resolving.
- CRC-only — no
uv.lock pinned this URL (the pyprojects referencing it resolve
x86_64-only, so the aarch64 wheel never entered a lock). It was verified by a full zip
CRC pass instead. Flagged rather than filled in from the row beside it, because an
unfalsifiable check is worse than a named gap.
An HTTP 200 is not integrity evidence here: one wheel in this set first arrived truncated
(209,605,440 of 253,510,452 bytes) with a 200 status, and only the sha256 comparison caught it.
Adding a wheel
Download from upstream, verify its sha256 against the upstream checksum or an existing lock
pin, upload under wheels/<upstream-tag>/ keeping the original filename, and add a row above.