WSL2+ROCm 7.2でRadeonでも実用的な速度へ ― ComfyUI ベンチマーク結果と手順解説
こんにちは、しきゆらです。
今回は、タイトル通りROCm7.2がWSLに対応したようなので、環境を作り直していきます。
過去に書いたROCmを使ったComfyUIの環境構築の記事はこちら。
だいぶ前に何度かベンチマーク等で画像生成速度を記録していました。
ROCmの更新を何度化したタイミングで、必要なパッケージが配布されなくなり動作させることができなくなっていました。
ここを見てたら、AMD ROCm™ 7.2 on Windows Subsystem for Linux 2 (WSL 2)とあったので、ROCmをv7.2に更新してみます。
なお、環境はWSL2にUbuntu-22.04をインストールして検証しています。
ROCm v7.2のインストール
手順は下記を参考にしています。
まずは、ROCm 7.2を含むコンポーネントをインストールしていきます。
# 既存のソフトウェア等を更新しておく
sudo apt update & sudo apt upgrade
# インストーラをダウンロード
wget https://repo.radeon.com/amdgpu-install/7.2/ubuntu/jammy/amdgpu-install_7.2.70200-1_all.deb
# インストールスクリプトをインストール
sudo apt install ./amdgpu-install_7.2.70200-1_all.deb
# ROCmをインストール
amdgpu-install -y --usecase=wsl,rocm --no-dkmsこれで完了です。rocminfoコマンドでお使いのGPUが参照できるかを確認しましょう。
手元の環境はRX 9070XTをなので、以下のように表示されます。
$ rocminfo
...
*******
Agent 2
*******
Name: gfx1201
Uuid: GPU-eab57bf783bb3cf3
Marketing Name: AMD Radeon RX 9070 XT
...続いて、Pytorchなどをインストールしていきます。
ROCmのバージョン更新があった場合
基本的には、都度公式のドキュメントが更新されます。
ただし、ROCmのバージョンが更新されても特定のパッケージは配布されない場合があります。
その時は、念のため配布されていないか以下から確認しましょう。
ここからファイルをダウンロードし、インストールすればOKです。
上記のコマンドでいうところの、以下の箇所です。
適宜バージョン・ファイル名に合わせて実行します。
# インストーラをダウンロード
wget https://repo.radeon.com/amdgpu-install/7.2/ubuntu/jammy/amdgpu-install_7.2.70200-1_all.deb
# インストールスクリプトをインストール
sudo apt install ./amdgpu-install_7.2.70200-1_all.debPytorchなどのライブラリをインストール
以下の手順を参考にしています。
では、インストールしていきます。
ここでは、Python 3.13系を使っています。
別のバージョンをお使いの場合は、適宜読み替えてください。(具体的にはcp313の部分)
# pip、wheelの更新
pip3 install --upgrade pip wheel
# ROCm 7.2系に向けてビルドされたパッケージをダウンロード
wget https://repo.radeon.com/rocm/manylinux/rocm-rel-7.2/torch-2.10.0%2Brocm7.2.0.lw.gitb6ee5fde-cp313-cp313-linux_x86_64.whl
wget https://repo.radeon.com/rocm/manylinux/rocm-rel-7.2/torchvision-0.25.0%2Brocm7.2.0.git82df5f59-cp313-cp313-linux_x86_64.whl
wget https://repo.radeon.com/rocm/manylinux/rocm-rel-7.2/triton-3.6.0%2Brocm7.2.0.gitba5c1517-cp313-cp313-linux_x86_64.whl
wget https://repo.radeon.com/rocm/manylinux/rocm-rel-7.2/torchaudio-2.10.0%2Brocm7.2.0.git5047768f-cp313-cp313-linux_x86_64.whl
# 既存のパッケージがあれば削除しておく
pip3 uninstall torch torchvision triton torchaudio
# ダウンロードしたファイルをインストール
pip3 install torch-2.10.0+rocm7.2.0.lw.gitb6ee5fde-cp313-cp313-linux_x86_64.whl torchvision-0.25.0+rocm7.2.0.git82df5f59-cp313-cp313-linux_x86_64.whl torchaudio-2.10.0+rocm7.2.0.git5047768f-cp313-cp313-linux_x86_64.whl triton-3.6.0+rocm7.2.0.gitba5c1517-cp313-cp313-linux_x86_64.whlこれにて完了です。
以下のコマンドを実行して、正常に動作していることを確認しましょう。
$ python3 -c 'import torch' 2> /dev/null && echo 'Success' || echo 'Failure'
Success
# ここが動かないとComfyUIは動かない
$ python3 -c 'import torch; print(torch.cuda.is_available())'
True
$ python3 -c "import torch; print(f'device name [0]:', torch.cuda.get_device_name(0))"
device name [0]: AMD Radeon RX 9070 XTROCmのバージョンが更新された場合
amdgpu-installと同様に、ROCmのバージョンが更新されるとそれに合わせて使うPytorchも変わってきます。
インストールしたバージョンに合わせて、以下から該当するファイルを見つけてインストールしましょう。
上記コマンドでいうところの、以下の箇所です。
ROCmのバージョン、使うPythonのバージョンに合わせてファイルを選んでダウンロード、インストールしましょう。
# ROCm 7.2系に向けてビルドされたパッケージをダウンロード
wget https://repo.radeon.com/rocm/manylinux/rocm-rel-7.2/torch-2.10.0%2Brocm7.2.0.lw.gitb6ee5fde-cp313-cp313-linux_x86_64.whl
wget https://repo.radeon.com/rocm/manylinux/rocm-rel-7.2/torchvision-0.25.0%2Brocm7.2.0.git82df5f59-cp313-cp313-linux_x86_64.whl
wget https://repo.radeon.com/rocm/manylinux/rocm-rel-7.2/triton-3.6.0%2Brocm7.2.0.gitba5c1517-cp313-cp313-linux_x86_64.whl
wget https://repo.radeon.com/rocm/manylinux/rocm-rel-7.2/torchaudio-2.10.0%2Brocm7.2.0.git5047768f-cp313-cp313-linux_x86_64.whlComfyUIの更新
続けて、ComfyUIと依存パッケージをインストールしていきます。
なお、ComfyUI Managerのインストールも記載していますが、不要であればスキップ可能です。
# ComfyUIをクローン すでにあれば移動だけでよい
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
pip3 install -r requirements.txt --user
# ComfyUI Managerのインストール ※オプション
git clone https://github.com/ltdrdata/ComfyUI-Manager.git ./custom_nodes/ComfyUI-Manager
pushd .
cd ./custom_nodes/ComfyUI-Manager
pip3 install -r requirements.txt --user
popd
これで環境構築は完了です。
以下のコマンドでComfyUIを実行しましょう。
python main.py動作確認
動かして画像生成してみます。
環境は以下の通りです。
過去と同様、いわゆるハローアスカベンチマークです。
10枚生成した時間の平均を出してみました。
旧データは、以前書いた記事の記録を参考にしています。
また、26.1.1はWindows環境に入っているAMD Softwareのバージョンです。
旧データだと、16~17秒程度だったのですが、今回の環境では14秒ちょっとで生成できるようになっています。
以前もだいぶ早くなっていましたが、今回のバージョンではより速度が速くなっています。
過去のベンチマーク定点観測のデータを見ると、10枚生成するのに60秒~90秒ほどかかっていたので、これらと比べると相当早くなっています。
これからも、開発と各ライブラリの対応を進めていってほしいところです。
まとめ
今回は、ROCm 7.2がWSLに対応していたので、過去に作った環境を再整備してComfyUIが動く状態に戻しました。
速度的にも、以前作ったものよりも少し早くなっている点がうれしいところでした。
ただ、WSL向けのサポートは注力されていないのかROCmのバージョンによっては動かなくなる場合があるようなので、お使いの方はご注意ください。
今回は、ここまで。
おわり