0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ComfyUIをRadeon 890M (iGPU) + ROCmで動かす

0
Posted at

環境

  • OS: Ubuntu (Wayland/GNOME)
  • CPU/GPU: AMD Ryzen AI (Radeon 890M内蔵, gfx1150)
  • ROCm: 10.0.0
  • Python: 3.12.3
  • ComfyUI: comfy-cli経由でインストール済み

問題: CPUモードで1枚334秒かかる

ComfyUIを comfy launch -- --cpu で起動していたため、画像生成に1枚あたり約335秒かかっていた。ROCm環境は構築済みだったが、ComfyUIでは活用できていなかった。

原因: PyTorchがCUDA版だった

venv内のPyTorchを確認したところ、CUDA版 (torch 2.10.0+cu128) がインストールされていた。

$ python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"
2.10.0+cu128
False

rocm-smi ではGPUが認識されており、ROCm自体は正常に動作していた。PyTorchがROCm対応ビルドではなかったことが原因。

対応1: PyTorchをROCm版に入れ替え

PyTorchのROCm 6.3用wheelインデックスから強制再インストールした。

pip install torch torchvision torchaudio --force-reinstall \
  --index-url https://download.pytorch.org/whl/rocm6.3

torch-2.9.1+rocm6.3 がインストールされた。

対応2: HSA_OVERRIDE_GFX_VERSIONの設定

Radeon 890Mのアーキテクチャはgfx1150 (RDNA 3.5) だが、PyTorchのROCm wheelにはgfx1150用のカーネルが含まれていない。HSA_OVERRIDE_GFX_VERSION=11.0.0 を設定することで、gfx1100 (RDNA 3) として認識させる。

# ~/.bashrcに追加
export HSA_OVERRIDE_GFX_VERSION=11.0.0

エラー: hipErrorInvalidDeviceFunction

ROCm版PyTorchのインストール後、comfy launch(--cpuなし)で起動したところ、以下のエラーが発生した。

HIP error: invalid device function
Search for `hipErrorInvalidDeviceFunction' in ...

スタックトレースは torch.nn.functional.embedding の呼び出し時に発生。CLIPモデルのテキストエンコード処理中にGPUカーネルの実行に失敗していた。

原因

.bashrc に HSA_OVERRIDE_GFX_VERSION を追加した後、ターミナルを再起動せずにComfyUIを起動したため、環境変数が反映されていなかった。

確認

環境変数を明示的に指定した状態でembedding操作をテストしたところ、正常に動作した。

HSA_OVERRIDE_GFX_VERSION=11.0.0 python -c "
import torch
emb = torch.nn.Embedding(1000, 128).cuda()
inp = torch.randint(0, 1000, (1, 77)).cuda()
out = emb(inp)
print('OK', out.shape)  # OK torch.Size([1, 77, 128])
"

新しいターミナルを開き直して comfy launch を実行することで解決。

結果

モード 生成時間
CPU (--cpu) 334.80秒
iGPU (ROCm) 12.50秒

約27倍の高速化。

起動方法

source ~/デスクトップ/aimage/comfy-env/bin/activate
comfy launch
  1. venvに入る(comfy-cliやROCm版PyTorchはここにインストールされている)
  2. comfy launch がComfyUI本体(~/comfy/ComfyUI)を起動する

--cpu フラグは不要。HSA_OVERRIDE_GFX_VERSION は .bashrc でexportしているため、新しいターミナルならそのまま起動すればiGPUが使われる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?