mirror of
https://github.com/Comfy-Org/comfy-kitchen.git
synced 2026-11-04 23:37:42 +00:00
[PR #65] [MERGED] Basic convrot int4 support. #116
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Comfy-Org/comfy-kitchen#116
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/Comfy-Org/comfy-kitchen/pull/65
Author: @comfyanonymous
Created: 7/8/2026
Status: ✅ Merged
Merged: 7/9/2026
Merged by: @comfyanonymous
Base:
main← Head:dev/int4📝 Commits (9)
d2a742fBasic convrot int4 support.cc511a2Overflow fix on int4.5d5e849Merge remote-tracking branch 'origin/main' into dev/int44e2518fMissing tests.769f324bring up int4 to same speed as int8 on blackwellac3d717Support forcing the convrot int4 layers to run the matrix mult in int8.93d19e1Fix issues with large activations.8cd18b9Merge remote-tracking branch 'origin/main' into dev/int4314f4bcUpdate function used to calculate shared mem usage.📊 Changes
12 files changed (+5280 additions, -19 deletions)
View changed files
📝
comfy_kitchen/__init__.py(+8 -0)📝
comfy_kitchen/backends/cuda/CMakeLists.txt(+1 -0)📝
comfy_kitchen/backends/cuda/__init__.py(+652 -14)📝
comfy_kitchen/backends/cuda/dlpack_bindings.cpp(+606 -0)➕
comfy_kitchen/backends/cuda/ops/convrot_w4a4.cu(+3038 -0)📝
comfy_kitchen/backends/cuda/ops/cutlass_gemm_int8.cu(+135 -3)📝
comfy_kitchen/backends/cuda/ops/int8_linear.cu(+2 -2)📝
comfy_kitchen/backends/eager/__init__.py(+47 -0)➕
comfy_kitchen/backends/eager/convrot_w4a4.py(+199 -0)📝
comfy_kitchen/tensor/__init__.py(+11 -0)➕
comfy_kitchen/tensor/convrot_w4a4.py(+261 -0)➕
tests/test_convrot_w4a4.py(+320 -0)📄 Description
Should work on 30 and 40 series. 50 series doesn't have int4 ops so it will use int8 ops. 20 series needs special code for int4 and should fallback to int8 at the moment but is untested.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.