Stable Diffusion на RTX 5090: установка, ошибки и оптимизация

RTX 5090 при первом запуске Stable Diffusion часто выдаёт ошибку no kernel image is available for execution on the device — причина в том, что стабильные сборки PyTorch на момент выхода карты не включали поддержку вычислительной архитектуры sm_120 (Blackwell). Это самая частая проблема владельцев карты, и решается она не заменой драйвера, а обновлением самого PyTorch до сборки с CUDA 12.8 или новее.

В этой статье разберём, как правильно подготовить окружение для Stable Diffusion на RTX 5090, какие интерфейсы уже корректно работают с новой архитектурой, как исправить типичные ошибки и выжать из 32 ГБ видеопамяти максимум скорости при генерации изображений и обучении LoRA.

Почему RTX 5090 не работает «из коробки» со старыми сборками

Карта построена на архитектуре Blackwell с вычислительной способностью sm_120. Бинарные пакеты PyTorch компилируются под конкретный набор архитектур, и сборки на базе CUDA 12.1 и 12.4, которые долгое время шли по умолчанию в установщиках Automatic1111, этой архитектуры не содержат. В результате драйвер видит карту, но ядра CUDA для неё просто отсутствуют в библиотеке.

Характерные симптомы: веб-интерфейс запускается, модель загружается в память, но при нажатии «Generate» консоль выдаёт ошибку CUDA error: no kernel image is available либо генерация зависает. Иногда встречается и сообщение о несовместимости sm_120 is not compatible with the current PyTorch installation — это прямое указание на ту же причину.

⚠️ Внимание: установка более нового драйвера NVIDIA сама по себе проблему не решает. Драйвер лишь обеспечивает работу карты в системе — совместимость определяется версией PyTorch и CUDA Toolkit, с которыми он собран.

Проверка окружения перед установкой

Прежде чем что-то переустанавливать, убедитесь, что система в целом готова. Проверьте актуальность драйвера через nvidia-smi в командной строке — утилита покажет версию драйвера и максимально поддерживаемую версию CUDA. Для работы с Blackwell требуется драйвер ветки, официально поддерживающей RTX 50-й серии; если карта куплена недавно, драйвер лучше обновить до последнего стабильного с сайта NVIDIA.

Также убедитесь, что у вас установлен Python совместимой версии (для большинства сборок Stable Diffusion это 3.10 или 3.11) и Git для клонирования репозиториев. Если Python установлен из Microsoft Store, возможны проблемы с путями — надёжнее использовать установщик с python.org.

☑️ Подготовка системы к запуску SD на RTX 5090

Выполнено: 0 / 5

Установка PyTorch с поддержкой sm_120

Ключевой шаг — поставить PyTorch, собранный с CUDA 12.8 или новее: именно в этой ветке появилась поддержка архитектуры Blackwell. Если вы используете Automatic1111, нужно вручную обновить PyTorch внутри его виртуального окружения, потому что установщик по умолчанию может подтянуть старую версию.

Активируйте окружение веб-интерфейса (папка venv в каталоге Automatic1111) и выполните установку из официального индекса PyTorch:

pip install --upgrade torch torchvision --index-url https://download.pytorch.org/whl/cu128

После установки проверьте, что PyTorch видит карту и архитектуру. Запустите Python внутри того же окружения и выполните короткую проверку — она должна вывести название карты и её compute capability:

python -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name(0), torch.cuda.get_device_capability(0))"

Ожидаемый результат: True, название RTX 5090 и пара чисел, соответствующая sm_120 — то есть (12, 0). Если capability определяется корректно, ядра CUDA будут работать.

Какой интерфейс выбрать: Automatic1111, ComfyUI или Forge

На момент широкого распространения RTX 5090 быстрее всего поддержку новых карт получил ComfyUI — его портативные сборки и инструкции по ручной установке оперативно обновили под PyTorch с CUDA 12.8. Если вы хотите минимизировать ручную настройку, ComfyUI часто оказывается самым беспроблемным вариантом старта.

Automatic1111 тоже работает, но требует описанного выше ручного обновления PyTorch. Stable Diffusion WebUI Forge занимает промежуточное положение: проект обновлялся с учётом новых карт, однако перед установкой стоит проверить актуальные инструкции в репозитории проекта — требования к версиям меняются.

ИнтерфейсСложность запуска на RTX 5090Сильные стороны
ComfyUIНизкая (свежие сборки)Гибкие нод-воркфлоу, экономия VRAM
Automatic1111Средняя (ручное обновление torch)Огромная база расширений и гайдов
WebUI ForgeСредняяОптимизации памяти, совместимость с A1111
SD.NextСредняяСовременный форк с активными обновлениями
📊 Каким интерфейсом Stable Diffusion вы пользуетесь на RTX 5090?
ComfyUI
Automatic1111
WebUI Forge
Только выбираю

Типичные ошибки и их решение

Помимо главной ошибки с no kernel image, владельцы RTX 5090 сталкиваются с несколькими повторяющимися проблемами. Разберём их по порядку.

  • 🔧 xformers не собирается или конфликтует — на новой архитектуре старые сборки xformers могут не работать. Решение: либо обновить xformers до версии, совместимой с вашим PyTorch, либо временно запустить веб-интерфейс с флагом --opt-sdp-attention, используя встроенный механизм внимания PyTorch.
  • 🧩 CUDA out of memory при высоком разрешении — несмотря на 32 ГБ VRAM, генерация в больших разрешениях с hires.fix может упираться в память. Помогают флаги --medvram или тайлинг, а в ComfyUI — разбиение на тайлы в самом воркфлоу.
  • 🐢 Низкая скорость при первом запуске — PyTorch может компилировать ядра под архитектуру при первом обращении, из-за чего первая генерация заметно медленнее последующих. Это нормально и не является ошибкой.
  • 📦 Расширения требуют старый torch — некоторые расширения Automatic1111 при установке принудительно откатывают PyTorch. После установки любого расширения проверяйте версию torch заново.
⚠️ Внимание: не устанавливайте PyTorch из сторонних неофициальных источников и не подменяйте DLL-библиотеки CUDA вручную — это частый источник малвари и нестабильной работы. Используйте только официальный индекс download.pytorch.org или репозитории проектов.
Как проверить, что xformers действительно работает

Запустите веб-интерфейс и откройте консоль. При успешной загрузке xformers в логе появится строка вида «Applying attention optimization: xformers». Если видите «sdp» или «cross-attention optimization: None» — активен запасной механизм внимания. Разница в скорости на RTX 5090 обычно умеренная, поэтому отсутствие xformers не критично для работы.

Оптимизация производительности и VRAM

32 ГБ видеопамяти RTX 5090 позволяют комфортно работать с SDXL, моделями вроде Flux в высоких разрешениях и обучением LoRA без агрессивных ухищрений. Тем не менее несколько настроек заметно влияют на скорость.

Во-первых, следите за точностью вычислений: режим FP16 (или --precision full --no-half наоборот отключать не нужно) — стандарт для генерации; BF16 также поддерживается новой архитектурой и используется в ряде моделей. Во-вторых, не запускайте параллельно с генерацией ресурсоёмкие приложения, использующие GPU, — браузер с аппаратным ускорением и игры отбирают заметную часть памяти.

Вот базовый набор флагов запуска Automatic1111, с которого разумно начинать на RTX 5090:

set COMMANDLINE_ARGS=--xformers --opt-sdp-attention

Используйте либо xformers, либо sdp — оба одновременно не нужны; оставьте один вариант, который стабильно работает в вашей сборке. Флаг --lowvram на этой карте не требуется и только замедлит работу.

Обучение LoRA и работа с большими моделями

Объём памяти карты делает её пригодной для локального обучения LoRA к SDXL и даже к более тяжёлым моделям через kohya_ss или аналогичные инструменты. Здесь действует то же правило: все библиотеки в окружении (torch, torchvision, bitsandbytes, accelerate) должны быть совместимы с CUDA 12.8 и архитектурой sm_120.

Обратите внимание на bitsandbytes — эта библиотека квантования исторически была ориентирована на Linux, и под Windows используются отдельные сборки. Совместимость конкретной сборки с Blackwell нужно проверять в документации проекта: если оптимизатор 8-бит не работает, переключитесь на стандартный AdamW или Prodigy, которые не зависят от bitsandbytes.

При нехватке памяти во время обучения первым делом уменьшайте train_batch_size и включайте gradient_checkpointing — это самые безопасные рычаги, не влияющие на итоговое качество так сильно, как снижение разрешения обучающей выборки.

FAQ: частые вопросы про RTX 5090 и Stable Diffusion

Нужно ли ставить CUDA Toolkit от NVIDIA отдельно?

Для запуска Stable Diffusion — нет. PyTorch поставляется с собственными библиотеками CUDA, и системный CUDA Toolkit не требуется. Он нужен только если вы собираете что-то из исходников или занимаетесь разработкой.

Работает ли RTX 5090 со Stable Diffusion на Linux?

Да, при условии установки свежего драйвера NVIDIA с поддержкой Blackwell и PyTorch с CUDA 12.8 или новее. На Linux ситуация с совместимостью библиотек (например, bitsandbytes) обычно даже проще, чем на Windows.

Что делать, если после обновления torch пропали расширения?

Некоторые расширения Automatic1111 фиксируют зависимости и при обновлении torch ломаются. Переустановите проблемное расширение заново после обновления PyTorch — в большинстве случаев оно подтянет совместимые версии библиотек.

Стоит ли ждать официальной поддержки sm_120 в стабильном PyTorch?

Поддержка новых архитектур со временем входит в стабильные релизы PyTorch, однако ждать не обязательно: сборки cu128 из официального индекса PyTorch — это штатный, поддерживаемый способ установки, а не сторонний обход.

Хватит ли RTX 5090 для Flux и видеогенерации?

32 ГБ VRAM позволяют запускать тяжёлые модели вроде Flux в полной или квантованной версии и экспериментировать с генерацией видео. Для самых ресурсоёмких сценариев может потребоваться квантование моделей (FP8) — соответствующие воркфлоу доступны в ComfyUI.