ComfyUI DirectML: запуск нейросетей на видеокартах AMD ComfyUI представляет собой мощный узловой интерфейс для работы с моделями Stable Diffusion и другими генеративными нейросетями. Изначально этот инструмент был ориентирован на видеокарты NVIDIA с поддержкой технологии CUDA, что создавало серьёзные ограничения для пользователей графических ускорителей AMD и Intel. Технология DirectML от Microsoft решает эту проблему, открывая владельцам разнообразного железа возможность полноценной работы с генерацией изображений. DirectML является низкоуровневым API для машинного обучения, встроенным в операционную систему Windows. Он использует DirectX 12 в качестве основы и обеспечивает аппаратное ускорение нейросетевых вычислений на широком спектре устройств. Главное преимущество этого подхода заключается в универсальности: один и тот же код работает на видеокартах AMD Radeon, Intel Arc, а также на современных интегрированных графических чипах. Производительность при этом существенно превосходит варианты с использованием только процессора. Установка ComfyUI с поддержкой DirectML требует определённой последовательности действий. Сначала необходимо скачать репозиторий проекта с GitHub и подготовить виртуальное окружение Python версии 3.10 или 3.11. Затем устанавливается специальный пакет torch-directml через менеджер pip, который заменяет стандартную версию PyTorch с CUDA. Важно учитывать, что версии библиотек должны быть совместимы между собой, иначе могут возникать ошибки при загрузке моделей или непосредственно во время генерации. Запуск программы осуществляется через специальный аргумент командной строки. Файл main.py следует вызывать с параметром directml, после чего система автоматически определит доступное устройство и начнёт его использовать для вычислений. При работе нескольких видеокарт можно явно указать номер нужного адаптера. В консоли при старте будет отображаться информация об обнаруженном оборудовании и доступной видеопамяти, что помогает контролировать корректность настройки. Производительность ComfyUI на DirectML заметно уступает решениям на основе CUDA при сопоставимом классе оборудования. Скорость генерации одного изображения размером 512 на 512 пикселей на видеокартах AMD среднего сегмента обычно составляет от 10 до 30 секунд в зависимости от количества шагов и сложности рабочего процесса. Потребление видеопамяти также выше, чем у нативных реализаций, поэтому для комфортной работы рекомендуется иметь минимум 8 гигабайт VRAM. При работе с моделями SDXL требования возрастают до 12 гигабайт и более. Среди типичных проблем при использовании этой связки встречаются ошибки нехватки памяти при работе с большими разрешениями, замедление при использовании некоторых нестандартных узлов и несовместимость отдельных пользовательских расширений. Многие из этих проблем решаются включением режима экономии памяти через дополнительные аргументы запуска, такие как lowvram или novram. Также помогает отключение предпросмотра промежуточных результатов и использование оптимизированных квантованных версий моделей.