KJNodes/experimentalgenerated

Triton VAE のパッチ(PatchTritonVAE)

融合された Triton norm+SiLU カーネルと channels_last 畳み込みレイアウトを使用して、VAE のデコード/エンコードを高速化します。サポートされている VAE(自動検出):Wan 2.1/2.2 ビデオ VAE(Qwen-Image を含む、RMSNorm、約 1.4 倍/1.15 倍)、Flux/Flux2、SDXL、SD1.5 などの KL 画像 VAE(GroupNorm、2048px で約 1.6~1.8 倍)、および LTXV/LTX2 ビデオ VAE(PixelNorm;タイムステップ条件付きデコーダブロックは norm のみの融合を取得)。その他のアーキテクチャはサポートされていません。クローンされたパッチャーにオブジェクトパッチとして適用されるため、この VAE が読み込まれている間のみ存在します。

Patch Triton VAE

vae
vae
fuse_norm_silu
channels_last
int8_conv
autotune
KJNodes

説明

VAE のデコード/エンコードを高速化するために、融合された Triton norm+SiLU カーネルと channels_last 畳み込みレイアウトを適用します。サポートされている VAE は自動検出されます。

  • Wan 2.1/2.2 ビデオ VAE(Qwen-Image バリアントを含む):RMSNorm、約 1.4 倍/1.15 倍の高速化。
  • KL 画像 VAE(Flux/Flux2、SDXL、SD1.5):GroupNorm、2048px で約 1.6~1.8 倍。
  • LTXV/LTX2 ビデオ VAE:PixelNorm;タイムステップ条件付きデコーダブロックは norm のみの融合を取得。

その他のアーキテクチャはサポートされておらず、変更されずに通過します。このノードはクローンされたパッチャーにパッチを適用するため、最適化はこの VAE が読み込まれている間のみ存在します。

入力

名前タイプデフォルトツールチップ
vaeVAEパッチを適用する VAE モデル。
fuse_norm_siluBOOLEANtruenorm+SiLU チェーン(Wan の RMSNorm、KL VAE の GroupNorm)を融合 Triton カーネル(単一パス、fp32 累積)に置き換えます。Triton が必要です。
channels_lastBOOLEANtrue畳み込み重みを channels_last メモリ形式に変換し、cuDNN レイアウト転置をすべての畳み込みの周りから除去します。KL VAE で融合 GroupNorm カーネルを有効にするために必須です。
int8_convBOOLEANfalse実験的:VAE デコーダの 3×3 畳み込みを int8 テンソルコア(Ada+ で bf16 の 4 倍の速度)で実行します。重みは出力チャンネルごとに量子化、アクティベーションはテンソルごとに動的に量子化;bf16 デコードと比較して約 45~48 dB、軽微な品質低下の可能性があります。Wan 2.1/2.2 および KL 画像 VAE(Flux2/SDXL/SD1.5)でサポート;その他では無視されます。
autotuneBOOLEANfalse各テンソル形状の最初の使用時にいくつかのカーネルブロックサイズ設定をベンチマークし、最速のものをキャッシュします。新しい解像度ごとに短いスタッターが発生しますが、通常はウォームアップ後に数パーセント高速化します。

出力

タイプ説明
VAEパッチ適用済みの VAE オブジェクト(クローンされたパッチャー)。この出力を元の VAE 接続の代わりに使用します。

使用上の注意

  • すべての最適化には Triton が ComfyUI 環境にインストールされている必要があります(通常は pip install triton でインストール)。Triton がない場合、fuse_norm_siluint8_conv はサイレントにスキップされます。
  • このノードはサポートされている VAE アーキテクチャを自動検出します;サポートされていない VAE は変更されずに転送されます。
  • 通常使用する解像度が決まったら autotune を有効にすると、長期的な最高速度が得られますが、新しい形状で最初にスタッターが発生する点に注意してください。
  • int8_conv フラグは実験的です – 本番で使用する前に出力品質を確認してください。
  • VAE はクローンされたパッチャーを介してパッチが適用されるため、ワークフロー内の元の VAE ノードは変更されません。このノードの出力をデコード/エンコードノードにルーティングする必要があります。
  • このノードはノードメニューの KJNodes/experimental カテゴリにあります。

コメント

GitHubでサインインしてディスカッションに参加しましょう。

コメントを読み込み中…
Triton VAE のパッチ (PatchTritonVAE) - ComfyUI-KJNodes | ComfyUI Wiki