KJNodes/experimentalgenerated

Патч Triton VAE(PatchTritonVAE)

Ускоряет декодирование/кодирование VAE с помощью объединённых ядер Triton norm+SiLU и макета свёрток channels_last. Поддерживаемые VAE (автообнаружение): видео VAE Wan 2.1/2.2, включая Qwen-Image (RMSNorm, ~1,4×/1,15×), KL VAE изображений, такие как Flux/Flux2, SDXL и SD1.5 (GroupNorm, ~1,6–1,8× при 2048px), и видео VAE LTXV/LTX2 (PixelNorm; блоки декодера с учётом временного шага получают слияние только нормализации). Другие архитектуры не поддерживаются. Применяется как патчи объектов на клонированном патчере, поэтому существует только пока загружен этот VAE.

Patch Triton VAE

vae
vae
fuse_norm_silu
channels_last
int8_conv
autotune
KJNodes

Описание

Ускоряет декодирование/кодирование VAE за счёт применения объединённых ядер Triton norm+SiLU и макета свёрток channels_last. Поддерживаемые VAE определяются автоматически:

  • Видео VAE Wan 2.1/2.2 (включая вариант Qwen-Image): RMSNorm, ускорение ~1,4×/1,15×.
  • KL VAE изображений (Flux/Flux2, SDXL, SD1.5): GroupNorm, ускорение ~1,6–1,8× при 2048px.
  • Видео VAE LTXV/LTX2: PixelNorm; блоки декодера с учётом временного шага получают слияние только нормализации.

Другие архитектуры не поддерживаются и будут пропущены без изменений. Нода применяет патчи на клонированном патчере, поэтому оптимизации существуют только пока загружен этот VAE.

Входы

ИмяТипПо умолчаниюПодсказка
vaeVAEМодель VAE для патча.
fuse_norm_siluБУЛЕВистинаЗаменить цепочки norm+SiLU (RMSNorm для Wan, GroupNorm для KL VAE) объединёнными ядрами Triton (один проход, накопление fp32). Требуется Triton.
channels_lastБУЛЕВистинаПреобразовать веса свёрток в формат памяти channels_last, удаляя транспонирования макета cuDNN вокруг каждой свёртки. Обязательно для активации объединённого ядра GroupNorm на KL VAE.
int8_convБУЛЕВложьЭКСПЕРИМЕНТАЛЬНОЕ: выполнять свёртки 3×3 декодера VAE на тензорных ядрах int8 (в 4 раза быстрее bf16 на Ada+). Веса квантуются по выходному каналу, активации динамически по тензору; ~45–48 дБ по сравнению с bf16-декодированием, возможно незначительное снижение качества. Поддерживается на Wan 2.1/2.2 и KL VAE изображений (Flux2/SDXL/SD1.5); игнорируется для остальных.
autotuneБУЛЕВложьБенчмарк нескольких конфигураций размера блоков ядра при первом использовании каждой формы тензора и кэширование самого быстрого. Кратковременная задержка при каждом новом разрешении, обычно на несколько процентов быстрее после прогрева.

Выходы

ТипОписание
VAEОбъект VAE с наложенным патчем (клонированный патчер). Используйте этот выход вместо оригинального подключения VAE.

Замечания по использованию

  • Все оптимизации требуют Triton, установленного в вашей среде ComfyUI (обычно через pip install triton). Без Triton fuse_norm_silu и int8_conv будут молча пропущены.
  • Нода автоматически обнаруживает поддерживаемые архитектуры VAE; неподдерживаемые VAE передаются без изменений.
  • Включайте autotune после того, как определитесь с типичными разрешениями, чтобы получить наилучшую скорость в долгосрочной перспективе, но помните о начальной задержке на новых формах.
  • Флаг int8_conv является экспериментальным – проверяйте качество выходных данных, прежде чем полагаться на него в производстве.
  • Поскольку VAE патится через клонированный патчер, оригинальная нода VAE в вашем рабочем процессе остаётся неизменной. Вы должны направить выход этой ноды в ноды декодирования/кодирования.
  • Эта нода находится в категории KJNodes/экспериментальное меню нод.

Комментарии

Войдите через GitHub, чтобы участвовать в обсуждении.

Загрузка комментариев…
Патч Triton VAE (PatchTritonVAE) - ComfyUI-KJNodes | ComfyUI Wiki