mirror of
https://github.com/Comfy-Org/comfy-kitchen.git
synced 2026-11-04 23:37:42 +00:00
[GH-ISSUE #61] Fatal access violation (0xC0000005) running int8_tensorwise model on ROCm Windows (gfx1101 / RDNA3) #22
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#22
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?
Originally created by @kleintech on GitHub (Jun 30, 2026).
Original GitHub issue: https://github.com/Comfy-Org/comfy-kitchen/issues/61
Environment
gfx1101)7.2(torch 2.9.1+rocm7.2.1,torch.version.hip = "7.2")int8_tensorwisemerge —QUANT_ALGOS["int8_tensorwise"]present)int8mixed_tensorwisequant (*_learned_int8mixed_tensorwise.safetensors)Problem
Loading and running an
int8_tensorwisemixed-precision diffusion model on ROCm/Windows (gfx1101) causes a fatal Windows access violation (0xC0000005) on the first sampling step. The model loads fully into VRAM without error; the crash happens the moment the int8 matmul path executes.This is not a catchable Python exception — the process is killed by the OS before Python regains control, so no traceback reaches ComfyUI. The Windows fault dump shows only CPython interpreter frames (asyncio event loop driving node execution); the faulting frame is in the native int8 GEMM extension and is not symbolized.
Startup confirms the native int8 path is selected (and is the only quant op not emulated on this card):
Root cause (analysis)
On ROCm, fp8 / nvfp4 / mxfp8 are correctly pushed to the emulated path. But the
int8_tensorwiseGEMM (TensorWiseINT8Layout→ eager backend) runs a native HIP kernel that segfaults ongfx1101— the same failure class as #32 (fp8_scaled_mm_v2on RDNA4) and #55 (native INT8 on CUDA SM75), but on a path neither of those covers:scaled_mm_v2path withtorch.version.hip is Noneand was fixed by pytorch PR #179138 — that fix does not cover the int8 layout path.So int8-on-ROCm currently has no working native kernel, no emulation fallback, and no guard. Relevant: in ComfyUI core
comfy/ops.py::pick_operations, thedisabledset is built fromsupports_fp8_compute/supports_nvfp4_compute/supports_mxfp8_compute. There is nosupports_int8_computecheck, soint8_tensorwiseis never added todisabled, is always dispatched native, and has no CLI/config toggle to force emulation (unlike fp8/fp4).Things tried (no effect)
TORCH_BLAS_PREFER_HIPBLASLT=0Works correctly on the same system
Chroma1-HD-fp8mixed.safetensors) — fp8 runs through the emulated path and generates fine.Expected behavior
On hardware where the native int8 kernel is unavailable/broken,
int8_tensorwiseshould either:torch._scaled_mmfallback), orsupports_int8_compute-style gate in ComfyUI core so the format can be added todisabled), or0xC0000005segfault.Actual behavior
Hard native access violation (
0xC0000005) on the first sampling step; the whole ComfyUI process dies and cannot be caught or recovered.@0xDELUXA commented on GitHub (Jul 2, 2026):
Please test this again on your system using the latest versions of ComfyUI/comfy-kitchen.