README: document 0.4.2, add the missing Linux rows, fix the stale no-Linux-build note
Browse files- Add image_server_kernels 0.4.2 (Windows) as the current build; keep 0.3.0 listed as a fallback.
- The Linux image_server_kernels and Linux sageattention wheels were already in the repo but absent from the table and from the Linux install block; both added.
- Remove the note claiming there is no Linux build of image_server_kernels or sageattention here - both exist.
- Record what is verified in 0.4.2 and what was not exercised.
- Flag that the Linux sageattention wheel provenance is unrecorded.
README.md
CHANGED
|
@@ -18,12 +18,15 @@ Prebuilt Python 3.11 wheels.
|
|
| 18 |
|---|---|---|---|---|---|
|
| 19 |
| `ace_step-1.6.0-py3-none-any.whl` | any | β | β | built by us | Pure-Python, cross-platform |
|
| 20 |
| `qwen_tts-0.1.1+deapi3-py3-none-any.whl` | any | β | β | built by us | Pure-Python, patched fork (`+deapi3`) |
|
| 21 |
-
| `image_server_kernels-0.
|
|
|
|
|
|
|
| 22 |
| `block_sparse_attn-0.0.2-cp311-cp311-win_amd64.whl` | Windows x64 | 12.8 | 2.8 | built by us | Used by video pipeline |
|
| 23 |
| `block_sparse_attn-0.0.2-cp311-cp311-linux_x86_64.whl` | Linux x86_64 | 12.8 | 2.8 | built by us | Used by video pipeline |
|
| 24 |
| `q8_kernels-0.0.5-cp311-cp311-win_amd64.whl` | Windows x64 | 12.8 | 2.8 | built by us | Used by LTX video |
|
| 25 |
| `q8_kernels-0.0.5-cp311-cp311-linux_x86_64.whl` | Linux x86_64 | 12.8 | 2.8 | built by us | Used by LTX video |
|
| 26 |
| `sageattention-2.2.0+cu128torch2.8.0-cp311-cp311-win_amd64.whl` | Windows x64 | 12.8 | 2.8 | [woct0rdho/SageAttention](https://github.com/woct0rdho/SageAttention/releases/tag/v2.2.0-windows) | Mirror of upstream release |
|
|
|
|
| 27 |
| `flash_attn-2.8.2+cu128torch2.8-cp311-cp311-win_amd64.whl` | Windows x64 | 12.8 | 2.8 | [mjun0812/flash-attention-prebuild-wheels](https://github.com/mjun0812/flash-attention-prebuild-wheels/releases/tag/v0.4.10) | Mirror of upstream release |
|
| 28 |
| `flash_attn-2.8.3+cu130torch2.10-cp311-cp311-win_amd64.whl` | Windows x64 | 13.0 | 2.10 | [mjun0812/flash-attention-prebuild-wheels](https://github.com/mjun0812/flash-attention-prebuild-wheels) | Mirror of upstream release |
|
| 29 |
| `flash_attn-2.8.3+cu128torch2.8-cp311-cp311-linux_x86_64.whl` | Linux x86_64 | 12.8 | 2.8 | [mjun0812/flash-attention-prebuild-wheels](https://github.com/mjun0812/flash-attention-prebuild-wheels/releases/tag/v0.7.16) | Mirror of upstream release |
|
|
@@ -34,7 +37,7 @@ Prebuilt Python 3.11 wheels.
|
|
| 34 |
BASE=https://huggingface.co/deAPI-ai/image-server-wheels/resolve/main
|
| 35 |
|
| 36 |
# Windows
|
| 37 |
-
pip install $BASE/image_server_kernels-0.
|
| 38 |
pip install $BASE/q8_kernels-0.0.5-cp311-cp311-win_amd64.whl
|
| 39 |
pip install $BASE/block_sparse_attn-0.0.2-cp311-cp311-win_amd64.whl
|
| 40 |
pip install $BASE/flash_attn-2.8.2+cu128torch2.8-cp311-cp311-win_amd64.whl
|
|
@@ -43,8 +46,10 @@ pip install --no-deps $BASE/ace_step-1.6.0-py3-none-any.whl
|
|
| 43 |
pip install --no-deps $BASE/qwen_tts-0.1.1+deapi3-py3-none-any.whl
|
| 44 |
|
| 45 |
# Linux
|
|
|
|
| 46 |
pip install $BASE/q8_kernels-0.0.5-cp311-cp311-linux_x86_64.whl
|
| 47 |
pip install $BASE/block_sparse_attn-0.0.2-cp311-cp311-linux_x86_64.whl
|
|
|
|
| 48 |
pip install --no-deps $BASE/flash_attn-2.8.3+cu128torch2.8-cp311-cp311-linux_x86_64.whl
|
| 49 |
```
|
| 50 |
|
|
@@ -52,8 +57,28 @@ pip install --no-deps $BASE/flash_attn-2.8.3+cu128torch2.8-cp311-cp311-linux_x86
|
|
| 52 |
unconditionally. Every other model that can use it falls back to SDPA when it is
|
| 53 |
absent, so on a box that does not serve H3 the wheel is optional.
|
| 54 |
|
| 55 |
-
>
|
| 56 |
-
>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 57 |
|
| 58 |
## Credits
|
| 59 |
|
|
@@ -67,11 +92,20 @@ Windows wheel is built and published by
|
|
| 67 |
[woct0rdho](https://github.com/woct0rdho/SageAttention/releases), and we found it
|
| 68 |
through [wildminder/AI-windows-whl](https://github.com/wildminder/AI-windows-whl),
|
| 69 |
which indexes Windows CUDA wheels. All credit for the library and the build goes to
|
| 70 |
-
them. The file here is byte-identical to the upstream release
|
| 71 |
(`sha256:4379951403809dfcd5b1e10d35e287abf42afafb7b27615c09d6062cfbdf230a`).
|
| 72 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 73 |
We mirror third-party wheels so the install scripts have a single source of truth and
|
| 74 |
do not break if upstream release URLs change.
|
| 75 |
|
| 76 |
-
|
| 77 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 18 |
|---|---|---|---|---|---|
|
| 19 |
| `ace_step-1.6.0-py3-none-any.whl` | any | β | β | built by us | Pure-Python, cross-platform |
|
| 20 |
| `qwen_tts-0.1.1+deapi3-py3-none-any.whl` | any | β | β | built by us | Pure-Python, patched fork (`+deapi3`) |
|
| 21 |
+
| `image_server_kernels-0.4.2+cu128torch2.8-cp311-cp311-win_amd64.whl` | Windows x64 | 12.8 | 2.8 | built by us | **Current.** Adds Sol-Attn sparse attention, W4A8 linear, and in-tree llama.cpp GGUF CUDA kernels (`_C_gguf`), on top of: FP8 dense + grouped GEMM, NVFP4 W4A4, INT8 W8A8 + ConvRot, fused QK-norm+RoPE. SM89 + SM120 |
|
| 22 |
+
| `image_server_kernels-0.3.0-cp311-cp311-win_amd64.whl` | Windows x64 | 12.8 | 2.8 | built by us | Previous build, kept as a fallback. No Sol-Attn, no W4A8, no bundled GGUF kernels |
|
| 23 |
+
| `image_server_kernels-0.3.0+cu129torch2.8-cp311-cp311-linux_x86_64.whl` | Linux x86_64 | 12.9 | 2.8 | built by us | Linux build is still at 0.3.0 β there is no Linux 0.4.2 yet |
|
| 24 |
| `block_sparse_attn-0.0.2-cp311-cp311-win_amd64.whl` | Windows x64 | 12.8 | 2.8 | built by us | Used by video pipeline |
|
| 25 |
| `block_sparse_attn-0.0.2-cp311-cp311-linux_x86_64.whl` | Linux x86_64 | 12.8 | 2.8 | built by us | Used by video pipeline |
|
| 26 |
| `q8_kernels-0.0.5-cp311-cp311-win_amd64.whl` | Windows x64 | 12.8 | 2.8 | built by us | Used by LTX video |
|
| 27 |
| `q8_kernels-0.0.5-cp311-cp311-linux_x86_64.whl` | Linux x86_64 | 12.8 | 2.8 | built by us | Used by LTX video |
|
| 28 |
| `sageattention-2.2.0+cu128torch2.8.0-cp311-cp311-win_amd64.whl` | Windows x64 | 12.8 | 2.8 | [woct0rdho/SageAttention](https://github.com/woct0rdho/SageAttention/releases/tag/v2.2.0-windows) | Mirror of upstream release |
|
| 29 |
+
| `sageattention-2.2.0+cu129torch2.8-cp311-cp311-linux_x86_64.whl` | Linux x86_64 | 12.9 | 2.8 | provenance unconfirmed β see Credits | |
|
| 30 |
| `flash_attn-2.8.2+cu128torch2.8-cp311-cp311-win_amd64.whl` | Windows x64 | 12.8 | 2.8 | [mjun0812/flash-attention-prebuild-wheels](https://github.com/mjun0812/flash-attention-prebuild-wheels/releases/tag/v0.4.10) | Mirror of upstream release |
|
| 31 |
| `flash_attn-2.8.3+cu130torch2.10-cp311-cp311-win_amd64.whl` | Windows x64 | 13.0 | 2.10 | [mjun0812/flash-attention-prebuild-wheels](https://github.com/mjun0812/flash-attention-prebuild-wheels) | Mirror of upstream release |
|
| 32 |
| `flash_attn-2.8.3+cu128torch2.8-cp311-cp311-linux_x86_64.whl` | Linux x86_64 | 12.8 | 2.8 | [mjun0812/flash-attention-prebuild-wheels](https://github.com/mjun0812/flash-attention-prebuild-wheels/releases/tag/v0.7.16) | Mirror of upstream release |
|
|
|
|
| 37 |
BASE=https://huggingface.co/deAPI-ai/image-server-wheels/resolve/main
|
| 38 |
|
| 39 |
# Windows
|
| 40 |
+
pip install $BASE/image_server_kernels-0.4.2+cu128torch2.8-cp311-cp311-win_amd64.whl
|
| 41 |
pip install $BASE/q8_kernels-0.0.5-cp311-cp311-win_amd64.whl
|
| 42 |
pip install $BASE/block_sparse_attn-0.0.2-cp311-cp311-win_amd64.whl
|
| 43 |
pip install $BASE/flash_attn-2.8.2+cu128torch2.8-cp311-cp311-win_amd64.whl
|
|
|
|
| 46 |
pip install --no-deps $BASE/qwen_tts-0.1.1+deapi3-py3-none-any.whl
|
| 47 |
|
| 48 |
# Linux
|
| 49 |
+
pip install $BASE/image_server_kernels-0.3.0+cu129torch2.8-cp311-cp311-linux_x86_64.whl
|
| 50 |
pip install $BASE/q8_kernels-0.0.5-cp311-cp311-linux_x86_64.whl
|
| 51 |
pip install $BASE/block_sparse_attn-0.0.2-cp311-cp311-linux_x86_64.whl
|
| 52 |
+
pip install $BASE/sageattention-2.2.0+cu129torch2.8-cp311-cp311-linux_x86_64.whl
|
| 53 |
pip install --no-deps $BASE/flash_attn-2.8.3+cu128torch2.8-cp311-cp311-linux_x86_64.whl
|
| 54 |
```
|
| 55 |
|
|
|
|
| 57 |
unconditionally. Every other model that can use it falls back to SDPA when it is
|
| 58 |
absent, so on a box that does not serve H3 the wheel is optional.
|
| 59 |
|
| 60 |
+
> `image_server_kernels` is at **0.4.2 on Windows but only 0.3.0 on Linux** β the
|
| 61 |
+
> Linux build of 0.4.2 has not been made yet. Sol-Attn, W4A8 and the bundled GGUF
|
| 62 |
+
> kernels are therefore Windows-only for now.
|
| 63 |
+
|
| 64 |
+
## What is verified in `image_server_kernels-0.4.2`
|
| 65 |
+
|
| 66 |
+
Built and tested on Windows 11 / RTX 5090 Laptop (SM120), CUDA 12.8, torch 2.8.0+cu128.
|
| 67 |
+
|
| 68 |
+
- `scripts/smoke_test_rebuild.py` β ALL PASS: `fp8_dense_gemm` (per-tensor cos 0.99965,
|
| 69 |
+
per-channel+bias 0.99972), `dynamic_per_token_scaled_fp8_quant` 0.99965,
|
| 70 |
+
`fp8_dense_gemm_pre_quantized` 1.00000, `fp8_dense_gemm_sm120` 1.00000 via native
|
| 71 |
+
CUTLASS 3.x, `rmsnorm_forward` 0.999999.
|
| 72 |
+
- `scripts/validate_gguf_kernels.py` against real GGUF tensors β ALL PASS for
|
| 73 |
+
Q4_K, Q5_K, Q6_K, Q5_0, Q5_1, Q8_0 (cos 0.99984β1.00000), which covers the bf16
|
| 74 |
+
K-quant dequant path the in-tree patch exists for.
|
| 75 |
+
- `sol_attn` on real MiniMax-H3 activations (S=15,479, 5 capture points):
|
| 76 |
+
**2.22x vs SageAttention2 at cos 0.9805** at `tau=1.0`. Both speed and accuracy
|
| 77 |
+
rise with sequence length (4k β 1.68x/0.965, 15.5k β 2.90x/0.980 in one run),
|
| 78 |
+
so longer clips do better than this figure.
|
| 79 |
+
|
| 80 |
+
Not exercised on this box: `sol_attn` on Ada SM89 (compiles and links, but no Ada
|
| 81 |
+
GPU here), `w4a8_linear`, `nvfp4_*`, `fp8_grouped_gemm`, `w8a16_dense_gemm`.
|
| 82 |
|
| 83 |
## Credits
|
| 84 |
|
|
|
|
| 92 |
[woct0rdho](https://github.com/woct0rdho/SageAttention/releases), and we found it
|
| 93 |
through [wildminder/AI-windows-whl](https://github.com/wildminder/AI-windows-whl),
|
| 94 |
which indexes Windows CUDA wheels. All credit for the library and the build goes to
|
| 95 |
+
them. The Windows file here is byte-identical to the upstream release
|
| 96 |
(`sha256:4379951403809dfcd5b1e10d35e287abf42afafb7b27615c09d6062cfbdf230a`).
|
| 97 |
|
| 98 |
+
> The **Linux** `sageattention-2.2.0+cu129torch2.8` wheel's provenance is not
|
| 99 |
+
> recorded β we have not confirmed whether it is our own build or a mirror. Fill
|
| 100 |
+
> this in before relying on the attribution.
|
| 101 |
+
|
| 102 |
We mirror third-party wheels so the install scripts have a single source of truth and
|
| 103 |
do not break if upstream release URLs change.
|
| 104 |
|
| 105 |
+
`ace_step`, `qwen_tts`, `image_server_kernels`, `block_sparse_attn` and `q8_kernels`
|
| 106 |
+
were built in-house.
|
| 107 |
+
|
| 108 |
+
Sol-Attn in `image_server_kernels` wraps CUDA kernels from comfy-kitchen
|
| 109 |
+
(Apache-2.0); see `third_party/comfy_kitchen_sol/PROVENANCE.md` in the
|
| 110 |
+
`image-server-kernels` repo. The bundled GGUF kernels are llama.cpp's `ggml-cuda`
|
| 111 |
+
(MIT), vendored per `third_party/llamacpp_gguf/PROVENANCE.md`.
|