Многие считали, что RX 580 «мертва» для ИИ в 2026 году. Экосистемы, завязанные только на CUDA, прекращение поддержки Polaris в ROCm начиная с версии 5.x, и DirectML, который так и не был доведен до ума. Это подробный технический отчет о том, как мы доказали обратное.
Аппаратное обеспечение
- GPU: AMD RX 580 2048SP — 8 ГБ GDDR5 VRAM (нативная поддержка Vulkan 1.x)
- CPU: Intel Xeon E5-2690 v3 — 12 ядер/24 потока @ 3.5 ГГц boost
- RAM: 32 ГБ DDR4 REG ECC Quad Channel
- Накопитель: NVMe 1 ТБ (критически важно для устранения «узких мест»)
- ОС: Windows 10 Pro + WSL2 Ubuntu 22.04.5
Почему другие решения не работают?
| Решение | Статус | Причина |
|---|---|---|
| CUDA | ❌ | Только для Nvidia |
| ROCm | ❌ | Поддержка Polaris прекращена в v5.x |
| DirectML | ❌ | Ошибка OpaqueTensorImpl в CLIPTextEncode |
| OpenVINO | ❌ | Отсутствие модулей ldm/sgm в Forge |
Фатальная ошибка DirectML:
NotImplementedError: Cannot access storage of OpaqueTensorImpl
Драйвер упаковывает память в непрозрачные тензоры (opaque tensors), которые бэкенды внимания ComfyUI не могут считать. Это тупик.
Решение — Двухуровневая архитектура
ПУТЬ 1 — GPU Vulkan (ускорение RX 580)
Нативная сборка stable-diffusion.cpp, скомпилированная с -DGGML_VULKAN=ON. Движок ggml работает напрямую с GPU без необходимости в ROCm или CUDA. Модели SD 1.5 GGUF генерируют изображение примерно за 72 секунды.
ПУТЬ 2 — CPU Xeon (тяжелые SOTA модели)
FLUX.1 Schnell (16 ГБ) превышает объем физической VRAM. ComfyUI работает через CPU внутри WSL2, используя ECC RAM в качестве стабильной виртуальной VRAM. Генерация 768x768 занимает ~24 минуты.
Гибридная сегментация памяти (Flux 12B Q4_K)
| Компонент | Файл | Выделение памяти |
|---|---|---|
| Diffusion Model | flux1-schnell-q4_k.gguf | GPU VRAM ~6.5 ГБ |
| VAE | ae.safetensors | CPU RAM ~160 МБ |
| CLIP L | clip_l.safetensors | GPU VRAM ~235 МБ |
| T5XXL | t5xxl_fp16.safetensors | CPU RAM ~9.3 ГБ |
Команда для запуска
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
--vae-on-cpu и --vae-tiling обязательны. Без них ошибка DeviceMemoryAllocation возникает мгновенно.
Бенчмарки
| Задача | Бэкенд | Результат |
|---|---|---|
| LLM инференс | Только CPU | 3–5 токенов/с ❌ |
| LLM инференс | RX 580 Vulkan | 15–16 токенов/с ✅ |
| SD 1.5 20 шагов | DirectML | ~450с + сбой ❌ |
| SD 1.5 20 шагов | Vulkan натив | ~72с ✅ |
| Flux 1024x1024 | Xeon CPU WSL2 | ~24 мин ✅ |
Примечание: Время загрузки моделей сократилось с 25 мин (HDD) до 4 мин (NVMe).
Карта сервисов
OpenWebUI Docker :3000
├── llama-server.exe :8081 (Vulkan — RX 580)
├── sd-server.exe :7860 (Vulkan — RX 580)
└── ComfyUI :8188 (CPU — Xeon WSL2)
Ресурсы
Полная документация, .bat скрипты оркестрации и скомпилированные бинарные файлы:
👉 https://setup-ia-local-rx580-vulkan.firebaseapp.com/
Железо не умирает. Оно просто получает вторую жизнь благодаря правильному ПО. Используете старые карты AMD для ИИ? Давайте обсудим оптимизацию буферов и задержки в комментариях.
Совет: Для тегов на Dev.to используйте: russia, ai, hardware, amd, vulkan.
Top comments (0)