1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AMD Radeon RX 6600M で Windows上でStable Diffusionを動かしてみた

Last updated at Posted at 2025-03-11

こんにちは!今回は、AMD Radeon RX 6600Mを使ってWindows環境でStable Diffusionを動かす手順を紹介します。AMD GPUでのStable Diffusion稼働は少し手間がかかりますが、適切なツールと設定を使えば快適に動作します。この記事では、HIP SDKのインストールからパッチ適用、環境構築、そして起動までの一連の流れを詳しく解説します。さっそく始めましょう!

環境

  • GPU: AMD Radeon RX 6600M
  • OS: Windows 11
  • Python: 3.10ベース(3.12がインストールされた環境に追加)
  • ROCmバージョン: 6.2.4
  • ツール: HIP SDK, ZLUDA, stable-diffusion-webui-amdgpu

手順

1. HIP SDK (ROCm 6.2.4) のインストール

まず、AMDの公式サイトからHIP SDKをインストールします。以下のリンクにアクセスしてください:

ここで、Windows 10 & 11向けの「ROCm 6.2.4」を選択し、「HIP SDK」のリンクからダウンロードします。インストールは指示に従って進めればOKです。これにより、AMD GPUを活用するための基本的なAPIとツールがセットアップされます。

2. ROCmLibsのパッチ適用

次に、ROCm 6.2.4向けの特定のパッチを適用します。以下のGitHubリポジトリからファイルを入手します:

このファイル(7.47MB)は、Radeon RX 6600M(gfx1032アーキテクチャ)向けの最適化を含んでいます。ダウンロード後、解凍して指示に従い適用してください。これにより、HIP SDKがGPUに適切に動作するようになります。

3. Python環境の準備

Stable Diffusionを動かすにはPython 3.10が必要です。私の環境ではPython 3.12がデフォルトでしたが、3.10を追加インストールしました。以下の手順で進めます:

  1. Python公式サイトからPython 3.10.6をダウンロードし、インストール(「Add to PATH」にチェックを忘れずに)。
  2. 仮想環境(venv)を作成:
    python -m venv venv
    
  3. venvのPythonを3.10に変更。Windowsでは、pyコマンドを使ってバージョンを指定します:
    py -3.10 -m venv venv
    
  4. 仮想環境を有効化:
    venv\Scripts\activate
    

これで、Stable Diffusionに必要なPython 3.10環境が整いました。

4. Stable Diffusion WebUIのインストール

次に、Stable Diffusion WebUIをインストールします。今回は、AMD GPU向けに最適化されたフォーク版を使用します。以下の手順を参考にしました:

※ 現在提供されているのはlshqqytiger/stable-diffusion-webui-amdgpu のようです

具体的には、以下のコマンドを実行します:

git clone https://github.com/lshqqytiger/stable-diffusion-webui-amdgpu && cd stable-diffusion-webui-amdgpu && git submodule init && git submodule update

このコマンドで、DirectMLやZLUDAを利用可能なStable Diffusion WebUIがクローンされ、サブモジュールも初期化されます。インストールが完了したら、stable-diffusion-webui-amdgpuフォルダ内に必要なファイルが揃います。

5. WebUIの起動

インストール後、webui.batを使って起動します。ただし、RX 6600MのVRAM(8GBだが低VRAM設定が必要な場合も)を考慮し、以下のオプションをwebui-user.batに追加しました:

set COMMANDLINE_ARGS=--opt-sub-quad-attention --lowvram --disable-nan-check --use-zluda --upcast-sampling

各オプションの意味は以下の通りです:

  • --opt-sub-quad-attention: メモリ効率を改善する最適化。
  • --lowvram: 低VRAM環境向けに調整。
  • --disable-nan-check: NaNエラーのチェックを無効化し、安定性を向上。
  • --use-zluda: ZLUDAを利用して動作を最適化(後述)。
  • --upcast-sampling: サンプリング精度を上げて安定性を確保。

設定後、webui-user.batをダブルクリックで実行。初回は依存関係のインストールに時間がかかる場合がありますが、途中で止まったように見えたらEnterキーを押すと進行します。

6. ZLUDAとは?

--use-zludaオプションで使ったZLUDAについて簡単に解説します。ZLUDAは、NVIDIAのCUDAをAMD GPUで動作させるための互換レイヤーです。Stable Diffusionは元々CUDA向けに最適化されていますが、ZLUDAを使うことでAMD GPUでも同様のパフォーマンスを引き出せます。HIP SDKと組み合わせることで、RX 6600Mでもスムーズに動作しました。

詳細はZLUDAの公式リポジトリを参照してください。インストールは手動で行う必要がありますが、今回はWebUI側で対応済みだったのでそのまま利用できました。

結果

以上の手順で、AMD Radeon RX 6600M上でStable Diffusionが問題なく動作しました!生成速度はそこそこで、VRAM使用量も6〜7GB程度に収まっています。LoRAやControlNetなどの拡張機能はこれから動作確認予定です。

注意点

  • 初回のWebui.batで何度かエラーが出ると思いますが、詳細メモし忘れました。何度かpipをたたいてモジュールの手動インストールが必要でした。

まとめ

AMD GPUでStable Diffusionを動かすのは一見ハードルが高そうですが、HIP SDKやZLUDAのおかげで現実的な選択肢になっています。RX 6600MのようなミドルレンジGPUでも十分実用的です。ぜひ試してみてください!

何か質問があればコメントでどうぞ。それでは、楽しいAIアート生成を!

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?