[PR #148] [MERGED] Build managed SageAttention wheels for CUDA 13 #177

Closed
opened 2026-10-26 22:21:15 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Comfy-Org/comfy-kitchen/pull/148
Author: @Kosinkadink
Created: 9/1/2026
Status: ✅ Merged
Merged: 9/1/2026
Merged by: @Kosinkadink

Base: main ← Head: feature/147-sageattention-wheels


📝 Commits (8)

  • 291a1e2 Build managed SageAttention binary wheels
  • 2764c4f Pin SageAttention wheel build tools
  • 100c2f0 Preserve SageAttention patch line endings
  • 24b7c7b Correct SageAttention dispatch in managed wheels
  • 3e25f63 Build SageAttention wheels with C++20
  • bf64ba6 Stabilize SageAttention wheel verification
  • 9199773 Install cuSPARSE headers for SageAttention wheels
  • 3c4182e Install CUDA math headers for SageAttention wheels

📊 Changes

8 files changed (+793 additions, -0 deletions)

View changed files

➕ .gitattributes (+1 -0)
➕ .github/workflows/build-sageattention-wheels.yml (+198 -0)
➕ sageattention/README.md (+35 -0)
➕ sageattention/packaging.patch (+205 -0)
➕ sageattention/prepare_source.py (+117 -0)
➕ sageattention/source.json (+47 -0)
➕ sageattention/verify_architectures.py (+58 -0)
➕ sageattention/verify_wheel.py (+132 -0)

📄 Description

Summary

  • pin SageAttention 2.2.0 source, archive digest, license, and reproducible build inputs
  • build Python 3.12 / Torch 2.13 / CUDA 13 wheels for manylinux x86_64 and Windows x86_64
  • package the upstream sageattention namespace as comfy-kitchen-sageattention
  • verify metadata, provenance, licenses, native files, imports, and per-extension SM80/86/89/90/120 cubin coverage
  • gate PyPI publication on the exact sageattention-v2.2.0.post1 tag after both platform builds pass

Validation

  • ruff check .
  • ruff format --check sageattention
  • CUDA_VISIBLE_DEVICES='' python -m pytest -q: 521 passed, 1361 skipped
  • pinned source preparation and packaging patch verification
  • local CUDA 13 wheel build: 38,397,300 bytes
  • per-extension cuobjdump --list-elf inventory passed
  • wheel metadata, provenance, license, and import checks passed
  • locked RTX PRO 6000 Blackwell SM120 smoke passed for causal and non-causal attention

Refs #147


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Comfy-Org/comfy-kitchen/pull/148 **Author:** [@Kosinkadink](https://github.com/Kosinkadink) **Created:** 9/1/2026 **Status:** ✅ Merged **Merged:** 9/1/2026 **Merged by:** [@Kosinkadink](https://github.com/Kosinkadink) **Base:** `main` ← **Head:** `feature/147-sageattention-wheels` --- ### 📝 Commits (8) - [`291a1e2`](https://github.com/Comfy-Org/comfy-kitchen/commit/291a1e21f1e2cc6c3a0752db412a6df6cfe46842) Build managed SageAttention binary wheels - [`2764c4f`](https://github.com/Comfy-Org/comfy-kitchen/commit/2764c4fd6c02713c6fbce2d67ceb4befd1d13a5f) Pin SageAttention wheel build tools - [`100c2f0`](https://github.com/Comfy-Org/comfy-kitchen/commit/100c2f0d28b0085d6e7329049248fd3a5e987230) Preserve SageAttention patch line endings - [`24b7c7b`](https://github.com/Comfy-Org/comfy-kitchen/commit/24b7c7b464fdb8079cc333eaef94338487a6688f) Correct SageAttention dispatch in managed wheels - [`3e25f63`](https://github.com/Comfy-Org/comfy-kitchen/commit/3e25f63be5581b758db5687789c5dfbe734b7adf) Build SageAttention wheels with C++20 - [`bf64ba6`](https://github.com/Comfy-Org/comfy-kitchen/commit/bf64ba696aec34c2970ffb7ed098e7ba51ab22dc) Stabilize SageAttention wheel verification - [`9199773`](https://github.com/Comfy-Org/comfy-kitchen/commit/9199773c333cb5d656b2bea35239738ad9ea6461) Install cuSPARSE headers for SageAttention wheels - [`3c4182e`](https://github.com/Comfy-Org/comfy-kitchen/commit/3c4182e01b5eb07a1cdc6f5b42d50e94a7db0b6d) Install CUDA math headers for SageAttention wheels ### 📊 Changes **8 files changed** (+793 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `.gitattributes` (+1 -0) ➕ `.github/workflows/build-sageattention-wheels.yml` (+198 -0) ➕ `sageattention/README.md` (+35 -0) ➕ `sageattention/packaging.patch` (+205 -0) ➕ `sageattention/prepare_source.py` (+117 -0) ➕ `sageattention/source.json` (+47 -0) ➕ `sageattention/verify_architectures.py` (+58 -0) ➕ `sageattention/verify_wheel.py` (+132 -0) </details> ### 📄 Description ## Summary - pin SageAttention 2.2.0 source, archive digest, license, and reproducible build inputs - build Python 3.12 / Torch 2.13 / CUDA 13 wheels for manylinux x86_64 and Windows x86_64 - package the upstream `sageattention` namespace as `comfy-kitchen-sageattention` - verify metadata, provenance, licenses, native files, imports, and per-extension SM80/86/89/90/120 cubin coverage - gate PyPI publication on the exact `sageattention-v2.2.0.post1` tag after both platform builds pass ## Validation - `ruff check .` - `ruff format --check sageattention` - `CUDA_VISIBLE_DEVICES='' python -m pytest -q`: 521 passed, 1361 skipped - pinned source preparation and packaging patch verification - local CUDA 13 wheel build: 38,397,300 bytes - per-extension `cuobjdump --list-elf` inventory passed - wheel metadata, provenance, license, and import checks passed - locked RTX PRO 6000 Blackwell SM120 smoke passed for causal and non-causal attention Refs #147 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-26 22:21:15 +00:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Comfy-Org/comfy-kitchen#177
No description provided.