Battle-tested notes for running Stable Diffusion XL, Z-Image, and Qwen3-TTS voice cloning locally on an AMD Radeon GPU on Windows, using ZLUDA as the CUDA translation layer — no NVIDIA card required.
Most "AMD + ZLUDA" guides stop at image generation. The thing people repeatedly say is impossible — voice cloning / TTS on AMD via ZLUDA — actually works, and the trick that makes it work (running an arbitrary PyTorch app on ZLUDA, not just ComfyUI) is the most reusable thing in this repo. See docs/04-arbitrary-torch-on-zluda.md.
Honest status: this is a snapshot of a working setup (validated mid-2026), shared as-is with no promise of ongoing support — the author has since moved to an NVIDIA card. But every fix here was earned the hard way, and the failure → fix tables should save you days.
If you pasted one of these into Google, you're in the right place — jump to the linked guide:
RuntimeError: GET was unable to find an engine to execute this computation(AMD VAE decode / conv, ZLUDA) → docs/02 · docs/05cuDNN error: CUDNN_STATUS_EXECUTION_FAILED(sampler, AMD/ZLUDA) → docs/02CUBLAS_STATUS_NOT_SUPPORTED(gfx1031 / gfx1030 / gfx1032 matmul) → docs/01- ComfyUI works in the browser but crashes via the API on AMD → docs/02
conv_transpose1d/conv3d"unable to find an engine" → docs/04 · docs/05CUBLAS_STATUS_NOT_SUPPORTEDwhen running a non-ComfyUI PyTorch app on ZLUDA → docs/04- How to run Qwen3-TTS / voice cloning on an AMD GPU (Windows, ZLUDA) → docs/03
- How to run any PyTorch app (not just ComfyUI) on an AMD GPU via ZLUDA → docs/04
- Z-Image (Z-Image-Turbo) on AMD / RDNA2 — does it work, how fast → docs/02
Cards this is validated on: RX 6700 XT (gfx1031); approach generalizes to other RDNA2
(RX 6600 gfx1032, RX 6800/6900 gfx1030).
| Thing | What was used |
|---|---|
| GPU | AMD Radeon RX 6700 XT (gfx1031, 12 GB), RDNA2 |
| OS | Windows 11 |
| HIP SDK | 6.2.4 ( |
| ZLUDA | 3.9.5 nightly (via the patientx/ComfyUI-Zluda fork) |
| Python | 3.11 |
| PyTorch | 2.7.0 +cu118 (the CUDA build, patched for ZLUDA) |
The approach generalizes to other RDNA2 cards (gfx1030 = RX 6800/6900, gfx1032 = RX 6600)
— you just need the matching rocBLAS tensile library for your arch (see
docs/01-base-setup.md). RDNA3/RDNA1 may differ.
| Guide | Covers |
|---|---|
| 01 — Base setup | HIP SDK, the gfx1031 rocBLAS swap, ZLUDA, ComfyUI, the Windows gotchas (Smart App Control, Defender false positives) |
| 02 — Image generation | SDXL (Juggernaut) + Z-Image-Turbo on ZLUDA, the cuDNN VAE-decode crash + fix, real benchmarks, SDXL-vs-Z-Image honest comparison |
| 03 — Voice cloning (TTS) | Qwen3-TTS voice cloning on ZLUDA — the part everyone says can't be done |
| 04 — Arbitrary torch on ZLUDA | ★ the general recipe: run any PyTorch app on ZLUDA, not just ComfyUI |
| 05 — Troubleshooting | Every error we hit, and the exact fix |
scripts/ holds the standalone, copy-pasteable helpers referenced by the guides.
- HIP SDK 6.2.4, not 7.x. Newer HIP breaks ZLUDA. Pin it.
- You need the rocBLAS tensile library for your exact GPU arch. Without the
gfx1031(etc.) kernels, every matmul throwsCUBLAS_STATUS_NOT_SUPPORTED. - ZLUDA has no cuDNN engine for many convs on RDNA2. This is the #1 silent killer. Symptom:
GET was unable to find an engine to execute this computation(VAE decode, TTS vocoder) orcuDNN error: CUDNN_STATUS_EXECUTION_FAILED(sampler). Fix: disable cuDNN (torch.backends.cudnn.enabled = False) — torch falls back to a conv path that works.- In ComfyUI driven via its API, the GUI's auto-patch never runs, so you must disable cuDNN yourself — see docs/02.
- A stock CUDA
piptorch ships real NVIDIA math DLLs that fail on ZLUDA. You must swap in ZLUDA's DLLs and apply a small runtime patch — this is what lets non-ComfyUI apps (like TTS) run. See docs/04. - ZLUDA dislikes DiT / transformer + autoregressive decode. SDXL (U-Net) is fine; the newer DiT models (Z-Image) and autoregressive TTS run, but ~2× slower than on equivalent native CUDA. It works — just temper speed expectations on RDNA2.
- Do 01 — Base setup once (HIP + rocBLAS + ZLUDA + ComfyUI).
- For images: 02 — Image generation.
- For voice cloning: 03 — Voice cloning.
To stay legal and small, this repo contains only scripts + documentation. It does not bundle any of the following — download them yourself from the linked sources, each under its own license:
- ZLUDA binaries → from ZLUDA / the patientx fork
- HIP SDK + rocBLAS libraries → from AMD / the community arch packs (see docs/01)
- Model weights — SDXL/Juggernaut (CreativeML-OpenRAIL), Z-Image (Apache-2.0), Qwen3-TTS (its own license), IP-Adapter / CLIP — all downloaded per the docs.
- Any voice samples or reference clips. Voice cloning is for voices you have the right to use (your own, consented, or CC0). Don't clone protected/commercial voices (e.g. ElevenLabs voices) or anyone without permission — for testing, use Qwen3-TTS's built-in preset voices. See docs/03.
This stands on the shoulders of:
ZLUDA ·
patientx/ComfyUI-Zluda ·
ComfyUI ·
the ovum-cudnn-wrapper ComfyUI-Zluda node ·
likelovewant (rocBLAS arch libs) ·
Tongyi Lab / Alibaba (Z-Image) ·
the Qwen team (Qwen3-TTS).
MIT for the scripts and docs in this repo. Third-party tools and model weights keep their own licenses.