🚀

【WSL2/Ubuntu 24.04】TurboDiffusionで動かすWan2.1環境構築ガイド:RTX 4090ビルドエラー完全回避

に公開

TurboDiffusionを試そうとしたのですが、公式の手順通りにやっても nvcc fatal: Unsupported gpu architecture や ModuleNotFoundError の嵐で全く動きませんでした。
調べてみると、リポジトリに含まれる次世代GPU向けの設定が原因であることが判明しました。
同じようにRTX 30系・40系で詰まっている人のために、修正が必要なファイルと具体的なコマンドを残しておきます。


Windows環境で高速な動画生成AI 「TurboDiffusion」 を動かそうとして、環境構築の沼にハマっていませんか?

TurboDiffusionはカスタムCUDAカーネル(SpargeAttnなど)を多用するため、純粋なWindows環境でのビルドは非常に困難です。そのためWSL2 (Ubuntu) を使うのが正解ですが、最新の Ubuntu 24.04 と RTX 4090 の組み合わせでは、コンパイラのバージョン不整合や設定ファイルの罠により、一筋縄ではいきません。

本記事では、数々のビルドエラー(GCCの競合、Unsupported gpu architecture、flash-attnの不具合など)を乗り越え、RTX 4090環境で確実にTurboDiffusionを動作させるための手順 をまとめました。

環境

  • OS: Windows 11 + WSL2 (Ubuntu 24.04 LTS)
  • GPU: NVIDIA GeForce RTX 4090 (VRAM 24GB)
  • CUDA Toolkit: 12.4
  • Python: 3.12 (Miniconda)
  • GCC: 11 (Ubuntu 24.04標準の13だと失敗するため変更)

ステップ1: コンパイラ(GCC 11)の導入

Ubuntu 24.04の標準コンパイラは gcc-13 ですが、これがCUDA 12.4のビルドと相性が悪く、nvcc がエラーを吐く主な原因になります。
そこで、AI開発で安定している GCC 11 を導入します。

sudo apt update
sudo apt install -y build-essential git gcc-11 g++-11

ステップ2: Python仮想環境の作成

Miniconda等で仮想環境を作成し、PyTorchとCUDA Toolkitをインストールします。
また、ビルド中に「モジュールが見つからない」というエラー(ModuleNotFoundError)が多発するのを防ぐため、必要なライブラリを事前にまとめてインストールしておきます。

# 環境作成 (Python 3.12推奨)
conda create -n turbodiffusion python=3.12 -y
conda activate turbodiffusion

# PyTorchとCUDA Toolkitのインストール
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
conda install -c "nvidia/label/cuda-12.4.1" cuda-toolkit -y

# 依存ライブラリの一括インストール
pip install huggingface_hub pandas einops easydict loguru tqdm imageio ftfy regex ninja

ステップ3: 環境変数の設定(最重要)

ここがビルド成功の鍵です。
システム標準のGCCではなく、ステップ1で入れた GCC 11 を強制的に使うよう環境変数をセットします。また、TORCH_CUDA_ARCH_LIST を指定してビルド時間を短縮します。

# コンパイラをGCC 11に固定
export CC=/usr/bin/gcc-11
export CXX=/usr/bin/g++-11
export NVCC_CCBIN=/usr/bin/g++-11

# ビルド対象をRTX 4090 (Ada Lovelace / sm_89) に絞る
export TORCH_CUDA_ARCH_LIST="8.9"

# メモリ不足によるクラッシュを防ぐため、並列数を1に制限
export MAX_JOBS=1

ステップ4: Flash Attention のインストール

flash-attn はキャッシュが効いてしまい、過去の失敗したビルドや古い設定のバイナリが再利用されてしまうことがあります。
--no-cache-dir を付けて、クリーンな状態でビルドします。

pip install flash-attn --no-build-isolation --no-cache-dir

ステップ5: TurboDiffusion 本体のインストール

ここで最大のハマりポイントがあります。
TurboDiffusionのリポジトリにある setup.py には、次世代GPU(Blackwell世代など)向けのアーキテクチャ設定(compute_120a 等)が含まれています。
これらが現在のCUDAバージョンでは認識できず、nvcc fatal : Unsupported gpu architecture 'compute_120a' というエラーを引き起こします。

compute_120a はNVIDIAの次世代Blackwellアーキテクチャ向けの指定ですが、現在のCUDA 12.4や一般的なドライバ環境では認識できずエラーになります。これを削除してもRTX 4090 (Ada Lovelace) での動作には影響しません。

以下の sed コマンドを使って、該当箇所を削除してからインストールします。

cd ~
git clone https://github.com/thu-ml/TurboDiffusion.git
cd TurboDiffusion
git submodule update --init --recursive

# RTX 4090環境でエラーになる「次世代GPU設定」を削除
sed -i '/"100"/d' setup.py
sed -i '/"120a"/d' setup.py
sed -i '/compute_100/d' setup.py

# インストール実行
pip install -e . --no-build-isolation --no-cache-dir

ステップ6: SpargeAttn (高速化モジュール) のインストール

TurboDiffusionの特徴である高速化機能を使うためのモジュールです。

cd ~
git clone https://github.com/thu-ml/SpargeAttn.git
cd SpargeAttn
pip install -e . --no-build-isolation --no-cache-dir

ステップ7: モデルのダウンロード

Hugging Faceからモデルをダウンロードします。今回はVRAM消費を抑えるため、量子化モデルを使用する例です。

cd ~/TurboDiffusion
mkdir -p checkpoints
cd checkpoints

# VAE
wget https://huggingface.co/Wan-AI/Wan2.1-T2V-1.3B/resolve/main/Wan2.1_VAE.pth
# Text Encoder
wget https://huggingface.co/Wan-AI/Wan2.1-T2V-1.3B/resolve/main/models_t5_umt5-xxl-enc-bf16.pth
# 本体 (量子化版 / 480P)
wget https://huggingface.co/TurboDiffusion/TurboWan2.1-T2V-1.3B-480P/resolve/main/TurboWan2.1-T2V-1.3B-480P-quant.pth

cd ..

ステップ8: 動画生成の実行

すべての準備が整いました。以下のコマンドで動画生成を実行します。
(MAX_JOBS=1 を指定しているため初回ロード等は時間がかかりますが、安全に動作します)

python turbodiffusion/inference/wan2.1_t2v_infer.py \
    --model Wan2.1-1.3B \
    --dit_path checkpoints/TurboWan2.1-T2V-1.3B-480P-quant.pth \
    --resolution 480p \
    --prompt "A cinematic drone shot of a futuristic Tokyo cyberpunk city at night, heavy rain, neon lights reflecting on wet pavement, flying cars passing by." \
    --num_samples 1 \
    --num_steps 4 \
    --quant_linear \
    --attention_type sagesla \
    --sla_topk 0.1

生成された動画の確認

WSL内で生成されたファイルは、Windowsのエクスプローラーから直接アクセスできます。
ターミナルで以下を実行すると、保存先フォルダが開きます。

explorer.exe output

(または explorer.exe results)

まとめ

TurboDiffusionのビルドにおけるポイントは以下の3点でした。

  1. GCC 11 を使う (Ubuntu 24.04標準のGCC 13を避ける)
  2. TORCH_CUDA_ARCH_LIST を明示する (4090なら 8.9)
  3. setup.py 内の未対応アーキテクチャ記述を消す (120a問題)

この記事が、同じエラーで困っている方の助けになれば幸いです。

2026年1月8日 執筆
※本記事の情報は執筆時点のものです。
AIライブラリの仕様は頻繁に変更されるため、最新情報は必ず 公式リポジトリ をご確認ください。

Discussion