DEV Community

Cover image for Rodando Flux Schnell (12B) + LLMs na lendária RX 580 (8GB) via Vulkan — Guia de Arquitetura [2026]
AIVisionsLab
AIVisionsLab

Posted on

Rodando Flux Schnell (12B) + LLMs na lendária RX 580 (8GB) via Vulkan — Guia de Arquitetura [2026]

Muita gente disse que a RX 580 estava "morta" para IA em 2026. Ecossistemas focados apenas em CUDA, o ROCm abandonando o suporte à arquitetura Polaris na v5.x e o DirectML sendo deixado de lado antes mesmo de amadurecer. Este é o relato técnico de como provamos que eles estavam errados.

Setup de Hardware

  • GPU: AMD RX 580 2048SP — 8GB GDDR5 VRAM (Suporte nativo a Vulkan 1.x)
  • CPU: Intel Xeon E5-2690 v3 — 12c/24t @ 3.5GHz boost
  • RAM: 32GB DDR4 REG ECC Quad Channel
  • Armazenamento: NVMe 1TB (Essencial para remover gargalos)
  • OS: Windows 10 Pro + WSL2 Ubuntu 22.04.5

Por que as outras soluções falharam?

Solução Status Motivo
CUDA Exclusivo para Nvidia
ROCm Suporte à Polaris encerrado na v5.x
DirectML Erro OpaqueTensorImpl no CLIPTextEncode
OpenVINO Módulos ldm/sgm ausentes no Forge

O erro fatal do DirectML:

NotImplementedError: Cannot access storage of OpaqueTensorImpl

Enter fullscreen mode Exit fullscreen mode

O driver encapsula a memória em tensores opacos que os backends de atenção do ComfyUI não conseguem ler.

A Solução — Arquitetura Dual

CAMINHO 1 — GPU Vulkan (Aceleração RX 580)

Build nativa do stable-diffusion.cpp compilada com -DGGML_VULKAN=ON. O motor ggml mapeia diretamente para a GPU sem precisar de ROCm ou CUDA. Modelos SD 1.5 GGUF renderizam em ~72 segundos.

CAMINHO 2 — CPU Xeon (Modelos pesados SOTA)

O FLUX.1 Schnell (16GB) excede a VRAM física. O ComfyUI roda via CPU dentro do WSL2, usando a RAM ECC como uma VRAM virtual estável. Geração completa em 768x768 em ~24 minutos.

Segmentação de Memória Híbrida (Flux 12B Q4_K)

Componente Arquivo Alocação
Modelo Difusão flux1-schnell-q4_k.gguf GPU VRAM ~6.5GB
VAE ae.safetensors CPU RAM ~160MB
CLIP L clip_l.safetensors GPU VRAM ~235MB
T5XXL t5xxl_fp16.safetensors CPU RAM ~9.3GB

Comando de Produção

sd-server.exe --listen-ip 0.0.0.0 --listen-port 7860 \
  --diffusion-model "E:\models\flux1-schnell-q4_k.gguf" \
  --vae "E:\models\ae.safetensors" \
  --clip_l "E:\models\clip_l.safetensors" \
  --t5xxl "E:\models\t5xxl_fp16.safetensors" \
  --cfg-scale 1.0 --steps 4 --clip-on-cpu --vae-on-cpu --vae-tiling

Enter fullscreen mode Exit fullscreen mode

--vae-on-cpu e --vae-tiling são obrigatórios. Sem eles, o crash DeviceMemoryAllocation é instantâneo.

Benchmarks Reais

Carga de Trabalho Backend Resultado
Inferência LLM CPU apenas 3–5 tokens/s ❌
Inferência LLM RX 580 Vulkan 15–16 tokens/s ✅
SD 1.5 20 steps DirectML ~450s + crash ❌
SD 1.5 20 steps Vulkan nativo ~72s ✅
Flux 1024x1024 Xeon CPU WSL2 ~24 min ✅

Nota: O tempo de carregamento de modelo caiu de 25 min (HDD) para 4 min (NVMe).

Mapa de Serviços

OpenWebUI Docker :3000
  ├── llama-server.exe :8081  (Vulkan — RX 580)
  ├── sd-server.exe    :7860  (Vulkan — RX 580)
  └── ComfyUI          :8188  (CPU — Xeon WSL2)

Enter fullscreen mode Exit fullscreen mode

Recursos

Documentação completa, scripts de orquestração .bat e binários compilados:
👉 https://setup-ia-local-rx580-vulkan.firebaseapp.com/


Hardware não morre. Ele é apenas libertado pelo software correto. Você roda modelos em GPUs AMD legadas? Vamos discutir suas otimizações de buffer nos comentários.

Top comments (0)