Запуск Stable Diffusion WebUI на видеокарте AMD упирается в одну ключевую деталь: стандартная сборка AUTOMATIC1111 рассчитана на CUDA от NVIDIA, поэтому на Radeon без дополнительной настройки генерация либо падает с ошибкой, либо уходит на процессор и занимает минуты вместо секунд. Именно несоответствие вычислительного бэкенда — причина большинства проблем, с которыми сталкиваются владельцы карт RX-серии при первом запуске.
Хорошая новость в том, что рабочие пути существуют: на Linux это ROCm — официальная вычислительная платформа AMD, а на Windows — форк с поддержкой DirectML либо альтернативные интерфейсы вроде ComfyUI и SD.Next. Ниже разберём оба сценария, типичные ошибки и способы ускорить генерацию на «красном» железе.
Почему Stable Diffusion WebUI не работает «из коробки» на AMD
Основная ветка AUTOMATIC1111 WebUI собирается вокруг PyTorch с поддержкой CUDA — проприетарной технологии NVIDIA. Видеокарты AMD её не поддерживают аппаратно, поэтому стандартная установка на Radeon не задействует GPU. Симптомы при этом характерные: генерация идёт на CPU, загрузка видеокарты в диспетчере задач около нуля, а одна картинка 512×512 рендерится по несколько минут.
Возможные причины, которые стоит проверить до переустановки:
- 🔧 Установлена стандартная версия PyTorch без поддержки ROCm или DirectML — самая частая причина.
- 🐧 На Linux не установлен стек ROCm или пользователь не добавлен в группы
renderиvideo. - 🪟 На Windows используется оригинальный репозиторий AUTOMATIC1111 вместо DirectML-форка.
- 💾 Модель не помещается в видеопамять, и WebUI молча переключается на CPU.
Определить, на чём реально работает генерация, помогает простая проверка: во время рендера откройте мониторинг GPU (rocm-smi на Linux, диспетчер задач на Windows). Если загрузка видеокарты нулевая — WebUI использует процессор.
Запуск на Linux через ROCm
Наиболее производительный вариант для AMD — ROCm под Linux. Поддерживаются далеко не все карты: официальный список совместимости публикует AMD, и он меняется от версии к версии, поэтому перед установкой сверьтесь с актуальной документацией для вашей модели. Карты RDNA 2 и RDNA 3 (RX 6000/7000) обычно работают, хотя для некоторых из них требуется переменная окружения HSA_OVERRIDE_GFX_VERSION, подменяющая идентификатор архитектуры на поддерживаемый.
Общий порядок действий выглядит так:
☑️ Установка WebUI на AMD через ROCm
Команда запуска с типичными аргументами для AMD:
./webui.sh --opt-split-attention --medvram
Флаг --medvram снижает потребление видеопамяти ценой скорости, а --opt-split-attention заменяет xformers, который на ROCm зачастую недоступен. Если карта не определяется, попробуйте указать версию архитектуры вручную, например HSA_OVERRIDE_GFX_VERSION=10.3.0 для некоторых карт RDNA 2 — точное значение зависит от модели и версии ROCm, проверяйте в актуальных гайдах сообщества.
⚠️ Внимание: установка ROCm — системная операция, затрагивающая драйверы и ядро. Используйте только официальную документацию AMD для вашего дистрибутива и версии: шаги для Ubuntu, Fedora и Arch различаются, а несовместимая версия ROCm может привести к неработающему драйверу.
Запуск на Windows через DirectML
На Windows ROCm для потребительских Radeon недоступен, поэтому используется форк stable-diffusion-webui-directml (проект lshqqytiger), который переводит вычисления на DirectML — API машинного обучения от Microsoft. Установка похожа на стандартную: клонируется репозиторий форка, запускается webui-user.bat, зависимости подтягиваются автоматически.
Скорость на DirectML заметно ниже, чем на ROCm под Linux с той же картой — это плата за универсальность. Для ускорения в аргументах запуска имеет смысл поэкспериментировать с флагами оптимизации памяти и точности вычислений, а также уменьшать разрешение и batch size.
Альтернатива форку — SD.Next (развитие vladmandic) и ComfyUI, где поддержка AMD реализована активнее, а обновления выходят чаще. Если DirectML-форк упорно падает на вашей карте, попробовать SD.Next — разумный следующий шаг до радикальных мер.
Сравнение вариантов запуска
Выбор способа зависит от ОС, модели карты и готовности возиться с настройкой:
| Способ | ОС | Скорость | Сложность настройки |
|---|---|---|---|
| ROCm + AUTOMATIC1111 | Linux | Высокая | Высокая |
| DirectML-форк | Windows | Средняя/низкая | Средняя |
| SD.Next / ComfyUI | Windows, Linux | Средняя | Средняя |
| Запуск на CPU | Любая | Очень низкая | Минимальная |
Как видно, вариант «просто и быстро» на AMD не существует — приходится выбирать между удобством и производительностью. Для постоянной работы с генерацией Linux + ROCm остаётся самым выгодным сочетанием.
Типичные ошибки и их решение
Чаще всего пользователи AMD встречаются с горсткой повторяющихся проблем. Разберём основные.
«Torch is not able to use GPU» — установлена CPU-сборка PyTorch. Решение: удалить окружение и поставить PyTorch под ROCm (Linux) или использовать DirectML-форк (Windows).
Падение при загрузке модели с ошибкой выделения памяти. Модель не влезает в VRAM. Помогают флаги --medvram или --lowvram, а также отказ от одновременной загрузки нескольких моделей и VAE.
Чёрные или зелёные картинки на выходе. Классический симптом проблем с половинной точностью (fp16) на некоторых картах AMD. Лечится запуском с --no-half и, при необходимости, --precision full — скорость упадёт, но изображения станут корректными. На картах Navi это одна из самых массовых проблем, и связка флагов --no-half --precision full решает её в подавляющем большинстве случаев.
⚠️ Внимание: не копируйте длинные строки аргументов запуска из чужих конфигов вслепую. Часть флагов предназначена для NVIDIA и на AMD либо бесполезна, либо вызывает новые ошибки — добавляйте параметры по одному и проверяйте результат.
Что делать, если ничего не помогло
Попробуйте запуск в Docker-контейнере с готовым образом ROCm + WebUI — это изолирует зависимости от системы. Как крайний вариант рассмотрите облачные сервисы аренды GPU или локальный запуск на CPU для редких задач.
Оптимизация скорости генерации на Radeon
После успешного запуска логично выжать из карты максимум. Несколько рабочих приёмов:
- ⚡ Используйте сэмплеры попроще (Euler a, DPM++ 2M) и 20–30 шагов вместо 50+.
- 📉 Снижайте разрешение генерации и дорабатывайте результат через Hires. fix или апскейлер.
- 🧠 Следите за VRAM: закройте браузер с аппаратным ускорением и другие GPU-приложения.
- 🔄 Держите WebUI и PyTorch обновлёнными — поддержка AMD улучшается от версии к версии.
На ROCm также имеет смысл проверить доступность оптимизированных библиотек внимания для вашей версии PyTorch — в свежих сборках производительность на RDNA 3 заметно выросла по сравнению с ранними релизами.
FAQ: частые вопросы
Работает ли Stable Diffusion WebUI на RX 580 и других старых картах?
Официально ROCm поддерживает ограниченный список карт, и старые Polaris в него, как правило, не входят. На Windows через DirectML старые карты иногда запускаются, но очень медленно из-за малого объёма VRAM — для комфортной работы желательно 8 ГБ и больше.
Почему генерация идёт на процессоре, хотя видеокарта AMD установлена?
Наиболее вероятная причина — установлена CPU-версия PyTorch или стандартный WebUI без поддержки ROCm/DirectML. Проверьте вывод консоли при запуске: там указывается, какое устройство выбрано для вычислений.
Нужно ли ставить xformers на AMD?
На ROCm xformers обычно недоступен или требует ручной сборки. Вместо него используется флаг --opt-split-attention, который даёт схожую экономию памяти.
Что быстрее: DirectML на Windows или ROCm на Linux?
При прочих равных ROCm на Linux заметно производительнее. DirectML удобен простотой установки, но уступает по скорости генерации на той же видеокарте.
Подойдёт ли встроенная графика AMD (APU) для Stable Diffusion?
Технически запуск возможен, но встроенная графика делит память с системой и имеет низкую производительность — генерация будет очень медленной. Для регулярной работы нужна дискретная видеокарта с достаточным объёмом VRAM.