Ошибка no kernel image is available for execution on the device или сообщение про несовместимость sm_120 при запуске Stable Diffusion на GeForce RTX 5070 — самый частый симптом, с которым сталкиваются владельцы новой видеокарты. Причина почти всегда одна: установленная сборка PyTorch собрана без поддержки архитектуры Blackwell, к которой относится 50-я серия NVIDIA.
Хорошая новость в том, что сама видеокарта исправна, а проблема целиком программная. Ниже разберём, почему возникает конфликт, как проверить свою конфигурацию и какие шаги помогают запустить генерацию изображений на RTX 5070.
Почему RTX 5070 конфликтует со Stable Diffusion
Видеокарты серии RTX 50 построены на архитектуре Blackwell и имеют вычислительную способность sm_120. Чтобы нейросеть могла выполнять вычисления на GPU, библиотека PyTorch должна содержать скомпилированные ядра именно под эту архитектуру. Старые стабильные версии PyTorch собирались под предыдущие поколения — Ada Lovelace (sm_89) и старше, поэтому на новой карте они просто не находят подходящего кода.
Многие сборки Stable Diffusion — Automatic1111 WebUI, ComfyUI, Forge — поставляются с предустановленной версией PyTorch, которая зафиксирована в зависимостях проекта. Если вы установили WebUI по старой инструкции или давно не обновляли окружение, почти наверняка внутри сидит PyTorch без поддержки CUDA 12.8 и sm_120.
⚠️ Внимание: проблема не решается переустановкой самой Stable Diffusion «с нуля» по той же инструкции — установщик снова подтянет старую версию PyTorch. Менять нужно именно версию библиотеки внутри окружения.
Как проверить, в чём именно проблема
Прежде чем что-то переустанавливать, полезно убедиться, что дело действительно в несовместимости PyTorch, а не в драйвере или чём-то ещё. Откройте командную строку в папке с вашей сборкой Stable Diffusion и активируйте виртуальное окружение (обычно папка venv), затем выполните проверку.
python -c "import torch; print(torch.__version__); print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0))"
Как читать результат. Если torch.cuda.is_available() возвращает False — PyTorch вообще не видит GPU. Если карта определяется, но при генерации вылетает ошибка про sm_120 или CUDA error — версия PyTorch слишком старая для Blackwell. Если команда вообще не находит модуль torch, окружение установлено не полностью.
- 🔍 Версия PyTorch ниже ветки с CUDA 12.8 — наиболее вероятная причина отказа на RTX 5070.
- 🧩 Ошибка "no kernel image" — прямое указание на отсутствие ядер под sm_120.
- 🖥️ cuda.is_available() = False — проверяйте драйвер NVIDIA и саму установку CUDA-версии PyTorch.
- 📦 ModuleNotFoundError — окружение повреждено или не активировано.
Решение: обновление PyTorch с поддержкой CUDA 12.8
Основной рабочий способ — установить сборку PyTorch, скомпилированную с CUDA 12.8 или новее: именно в этой ветке появилась поддержка архитектуры Blackwell. Для RTX 5070 может потребоваться nightly-сборка PyTorch, если стабильный релиз на момент вашей установки ещё не включает нужные ядра. Актуальный индекс пакетов стоит уточнить на официальном сайте PyTorch, так как состав сборок меняется.
Общий порядок действий для большинства сборок (Automatic1111, ComfyUI, Forge) выглядит так: активируйте виртуальное окружение проекта и обновите PyTorch с указанием репозитория нужной версии CUDA.
pip install --upgrade torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
Если стабильная сборка не подхватывает карту, попробуйте nightly-канал с тем же индексом CUDA 12.8. После установки повторите проверку из предыдущего раздела: torch.cuda.is_available() должен вернуть True, а имя устройства — GeForce RTX 5070.
☑️ Чек-лист запуска Stable Diffusion на RTX 5070
⚠️ Внимание: обновляйте PyTorch только внутри виртуального окружения конкретной сборки Stable Diffusion. Глобальное обновление пакетов может сломать другие проекты, завязанные на старые версии библиотеки.
Обновление драйвера NVIDIA
Второе обязательное условие — свежий драйвер GeForce. Поддержка RTX 50-й серии появилась в драйверах, выпущенных под старт этого поколения, и более ранние версии могут некорректно работать с картой или вовсе её не определять. Загружайте драйвер только с официального сайта NVIDIA или через приложение NVIDIA App / GeForce Experience.
Проверить текущую версию можно командой nvidia-smi в командной строке: в шапке вывода отображаются версия драйвера и максимально поддерживаемая версия CUDA. Если максимальная CUDA ниже 12.8, драйвер точно нужно обновить — иначе даже правильный PyTorch не заработает.
Особенности разных сборок: A1111, ComfyUI, Forge
Разные интерфейсы Stable Diffusion по-разному управляют зависимостями, и это влияет на способ починки.
| Сборка | Как обновить PyTorch | Особенность |
|---|---|---|
| Automatic1111 WebUI | Вручную в venv или через правку requirements | Может перезаписывать версии при запуске webui-user.bat |
| ComfyUI (portable) | Через встроенный python_embeded и его pip | Команды pip запускаются из папки python_embeded |
| Stable Diffusion Forge | Аналогично A1111, через venv | Форк тянет собственный набор зависимостей |
| ComfyUI (venv) | Стандартный pip install в активированном окружении | Самый предсказуемый вариант обновления |
Важный нюанс для Automatic1111 и Forge: скрипт запуска может автоматически откатывать версии пакетов к прописанным в файлах requirements_versions.txt. Если после обновления PyTorch при следующем запуске версия «откатилась», отредактируйте требования или запускайте с флагом, отключающим автоустановку зависимостей (в A1111 это параметр --skip-install в webui-user.bat).
В портативной версии ComfyUI команды pip нужно выполнять через интерпретатор из папки python_embeded, иначе пакеты установятся не туда. Пример: python_embeded\python.exe -m pip install ....
Что делать, если pip не находит нужную сборку PyTorch
Убедитесь, что версия Python в окружении поддерживается актуальными сборками PyTorch — очень старые или очень новые ветки Python могут не иметь готовых пакетов. Проверьте версию командой python --version и сверьтесь с матрицей совместимости на сайте PyTorch. При необходимости пересоздайте venv на поддерживаемой версии Python.
Если генерация работает, но медленно или с ошибками памяти
После успешного запуска владельцы RTX 5070 иногда сталкиваются со вторичными проблемами: генерация идёт медленнее ожиданий или падает с ошибкой CUDA out of memory. Объём видеопамяти у карты ограничен, и тяжёлые модели (например, SDXL с большим разрешением и включёнными расширениями) могут в него не помещаться.
Что можно сделать без потери качества результата:
- 🧠 Добавьте в параметры запуска
--medvramили--lowvram— это снижает потребление VRAM ценой скорости. - ⚙️ Включите
--xformers(если пакет совместим с вашей сборкой PyTorch) для оптимизации внимания. - 📉 Уменьшите разрешение генерации или размер батча до одного изображения.
- 🔄 Закройте браузеры и программы, занимающие видеопамять, перед запуском.
Также проверьте, что генерация действительно идёт на GPU: в консоли при старте должно быть указано устройство cuda, а не cpu. Работа на процессоре возможна, но на порядки медленнее.
Когда ничего не помогает
Если PyTorch обновлён, драйвер свежий, а запуск всё равно падает, действуйте по нарастающей. Сначала полностью пересоздайте виртуальное окружение: удалите папку venv (или python_embeded не трогайте — для portable-версий логика иная) и запустите установку зависимостей заново, предварительно поправив требования под CUDA 12.8.
Далее имеет смысл попробовать альтернативный интерфейс: если не заводится Automatic1111, проверьте свежую сборку ComfyUI — у неё активнее обновляются зависимости, и поддержка новых видеокарт обычно появляется раньше. Наконец, изучите полный текст ошибки в консоли: вопросы по конкретному traceback эффективнее искать в issue-трекере проекта на GitHub, где проблемы RTX 50-й серии обсуждаются отдельными темами.
⚠️ Внимание: не устанавливайте «сборки PyTorch для 50-й серии» со сторонних сайтов и файлообменников. Библиотеки, встраиваемые в окружение с полными правами, должны загружаться только с официальных источников — pytorch.org и репозиториев проектов.
Частые вопросы
Поддерживает ли RTX 5070 Stable Diffusion в принципе?
Да. Карта полностью подходит для генерации изображений, но требует PyTorch со свежей версией CUDA (12.8 или новее) и актуальный драйвер NVIDIA. С правильными версиями ПО производительность соответствует классу карты.
Что означает ошибка "no kernel image is available for execution on the device"?
Это сообщение CUDA о том, что в установленной библиотеке нет скомпилированного кода под архитектуру вашей видеокарты. Для RTX 5070 (sm_120) это классический признак устаревшего PyTorch.
Можно ли запустить Stable Diffusion на RTX 5070 без обновления PyTorch?
Надёжного способа нет: старые сборки физически не содержат ядер под Blackwell. Как временный обходной путь возможна генерация на CPU, но она неоправданно медленная.
Нужен ли отдельный CUDA Toolkit от NVIDIA?
Для запуска готовых сборок — как правило, нет: нужные библиотеки CUDA поставляются вместе с пакетом PyTorch. Достаточно свежего драйвера и корректной версии PyTorch. Полный Toolkit требуется в основном для компиляции расширений из исходников.
После обновления PyTorch сломались расширения WebUI. Что делать?
Некоторые расширения зависят от конкретных версий torch или собранных под него пакетов (например, xformers). Обновите эти пакеты до версий, совместимых с новой веткой PyTorch, либо временно отключите конфликтующие расширения и включайте их по одному.