dawidope commited on
Commit
df047ef
Β·
verified Β·
1 Parent(s): 52916a6

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.

Files changed (1) hide show
  1. README.md +41 -7
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.3.0-cp311-cp311-win_amd64.whl` | Windows x64 | 12.8 | 2.8 | built by us | FP8 dense + grouped GEMM, NVFP4 W4A4, INT8 W8A8 + ConvRot, fused QK-norm+RoPE. SM89 + SM120 |
 
 
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.3.0-cp311-cp311-win_amd64.whl
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
- > Wheels are Windows-only unless a `linux_x86_64` row exists above. There is
56
- > currently no Linux build of `image_server_kernels` or `sageattention` here.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
- The remaining wheels (`ace_step`, `qwen_tts`, `image_server_kernels`,
77
- `block_sparse_attn`, `q8_kernels`) were built in-house.
 
 
 
 
 
 
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`.