以下の内容はhttps://nakano-tomofumi.hatenablog.com/entry/2025/09/20/163849より取得しました。


Ubuntu 22.04 + GCP L4(g2)向け / A1111 用の xFormers 導入手順

0. 前提チェック

nvidia-smi     # L4 GPU が認識されているか確認

1. NVIDIA CUDA リポジトリ追加 & nvcc 導入

# リポジトリキー登録(Ubuntu 22.04 / x86_64)
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update

# CUDA Toolkit 12.4(nvcc を含む)を導入
sudo apt-get install -y cuda-toolkit-12-4

# 環境変数を追加(恒久化)
echo 'export CUDA_HOME=/usr/local/cuda-12.4' >> ~/.bashrc
echo 'export PATH=$CUDA_HOME/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

# 確認
nvcc --version

2. A1111 venv を有効化

cd ~/stable-diffusion-webui
source venv/bin/activate

3. Torch / torchvision を cu124 に固定

# A1111 が勝手に最新版を入れないよう固定
echo 'export TORCH_COMMAND="pip install --index-url https://download.pytorch.org/whl/cu124 torch==2.6.0 torchvision==0.21.0"' >> ./webui-user.sh

# クリーンインストール
pip uninstall -y xformers torch torchvision torchaudio triton
pip cache purge

pip install --index-url https://download.pytorch.org/whl/cu124 \
  torch==2.6.0 torchvision==0.21.0

確認:

python - <<'PY'
import torch, torchvision
print("torch:", torch.__version__, "cuda:", torch.version.cuda)
print("torchvision:", torchvision.__version__)
PY

4. xFormers を依存無視でソースビルド

ポイント: --no-deps を付けないと torch>=2.8 を強制される

# ビルドツール
sudo apt-get install -y build-essential cmake ninja-build python3-dev
pip install -U pip setuptools wheel cmake ninja

# L4 (Compute Capability 8.9) に限定
export TORCH_CUDA_ARCH_LIST="8.9"
# ビルドが重い場合は並列数を制限
# export MAX_JOBS=4

# xFormers ビルド
pip install -v --no-cache-dir --no-build-isolation --no-binary xformers --no-deps xformers==0.0.32.post2

5. 動作確認

python - <<'PY'
import torch, xformers
print("torch:", torch.__version__, "cuda:", torch.version.cuda, "avail:", torch.cuda.is_available())
print("xformers import OK")
PY

6. A1111 を起動

xFormers 有効

./webui.sh --listen --port 7860 --xformers

SDPA で運用(おすすめ・十分速い)

./webui.sh --listen --port 7860
# → Settings → Optimization → Cross attention を SDPA に

トラブルシュート

  • torch が 2.8 に戻る → --no-deps を忘れていないか確認
  • nvcc が無い → CUDA Toolkit が未導入、または PATH が未設定
  • ビルドエラー(リソース不足) → export MAX_JOBS=4
  • 不要な警告 (pytorch-lightning → torchmetrics) →
  • 残すなら:pip install torchmetrics>=0.7.0
  • 不要なら:pip uninstall -y pytorch-lightning



以上の内容はhttps://nakano-tomofumi.hatenablog.com/entry/2025/09/20/163849より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14