Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Local AI on AMD (RDNA2 / ZLUDA): Image Generation and Voice Cloning

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 impossiblevoice 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.


Errors this repo fixes (if a search brought you here)

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/05
  • cuDNN error: CUDNN_STATUS_EXECUTION_FAILED (sampler, AMD/ZLUDA) → docs/02
  • CUBLAS_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/05
  • CUBLAS_STATUS_NOT_SUPPORTED when 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).


Tested hardware / software

Thing What was used
GPU AMD Radeon RX 6700 XT (gfx1031, 12 GB), RDNA2
OS Windows 11
HIP SDK 6.2.4 (⚠️ NOT 7.x — it breaks ZLUDA)
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.


What's in here

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.


The 5 hard-won lessons (the TL;DR)

  1. HIP SDK 6.2.4, not 7.x. Newer HIP breaks ZLUDA. Pin it.
  2. You need the rocBLAS tensile library for your exact GPU arch. Without the gfx1031 (etc.) kernels, every matmul throws CUBLAS_STATUS_NOT_SUPPORTED.
  3. 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) or cuDNN 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.
  4. A stock CUDA pip torch 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.
  5. 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.

Quick start

  1. Do 01 — Base setup once (HIP + rocBLAS + ZLUDA + ComfyUI).
  2. For images: 02 — Image generation.
  3. For voice cloning: 03 — Voice cloning.

What this repo does not ship (and why)

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.

Credits

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).

License

MIT for the scripts and docs in this repo. Third-party tools and model weights keep their own licenses.

About

Local AI on AMD (RDNA2/ZLUDA) on Windows: Stable Diffusion XL, Z-Image, and Qwen3-TTS voice cloning — battle-tested setup, the cuDNN fix, the arbitrary-torch-on-ZLUDA recipe, and honest benchmarks.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages