mirror of
https://github.com/Comfy-Org/comfy-kitchen.git
synced 2026-11-04 23:37:42 +00:00
[PR #81] [CLOSED] Support ROCm INT8 ConvRot without CUDA backend #128
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#128
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/81
Author: @flexusjan
Created: 7/20/2026
Status: ❌ Closed
Base:
main← Head:fix/rocm-int8-convrot📝 Commits (1)
af080b5Support ROCm INT8 ConvRot without CUDA backend📊 Changes
7 files changed (+309 additions, -81 deletions)
View changed files
📝
comfy_kitchen/backends/cuda/__init__.py(+76 -49)📝
comfy_kitchen/backends/eager/quantization.py(+26 -4)📝
tests/conftest.py(+20 -0)📝
tests/test_backends.py(+36 -0)📝
tests/test_convrot_w4a4.py(+10 -16)📝
tests/test_int8.py(+138 -9)📝
tests/test_integration.py(+3 -3)📄 Description
Summary
convrot=Trueint8_linearcalls to the Triton fused implementation when Triton is importableFixes #78.
Why this shape
Issue #78 shows that global Triton is unsafe on gfx1201/ROCm, while the narrow Triton
int8_linearpath is stable and fast for ConvRot INT8. This keepscudaand globaltritondisabled in ComfyUI on ROCm, but preserves the one fast path needed by the reported workflow.This is intentionally smaller than #74, which adds a full HIP backend and wheel packaging. It may overlap mechanically with #56 in
eager/quantization.py, but it does not conflict conceptually: #56 improves the generic eager RDNA fallback, while this PR handles ROCm ConvRot INT8 by using the measured Triton fast path.Tested
ruff check .pytest tests/test_backends.py -qHIP_VISIBLE_DEVICES=0 ROCR_VISIBLE_DEVICES=0 pytest tests/test_int8.py -q-> 68 passed, 39 skippedHIP_VISIBLE_DEVICES=0 ROCR_VISIBLE_DEVICES=0 pytest tests/test_convrot_w4a4.py tests/test_integration.py -q-> 41 passed, 49 skippedPYTHONPATH:For comparison, the same local workflow with the previously installed workaround measured 28.35s API / 28.01s log cold and 8.01s API / 7.86s log warm.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.