2023年7月27日付で公開されたWindows版ROCmですが、さっそくPytorchをビルドしてStable Diffusion WebUIが動作するのかどうか試してみました。
環境は以下の通り
- CPU:Intel Core i7-13700K
- CPUクーラー:サイズ Big shuriken3 RGB
- マザーボード:Asrock Z690M-ITX/ax
- SSD:M2_2(チップセット側) Moment MT34 NVMe Gen3 SSD 256GB
- M2_1(CPU側) FPI256MWR7(今回は使用していません)
- 電源:Corsair SFX 750W電源 SF-750
- メモリ:G Skill Trident Z DDR4-3600 OCメモリ16GB*2=32GB
- ケース:QDIY 0040-*PCJMK6-ITX(テストベンチ)
- OS:Windows11(22H2)
- GPU Sapphire Pulse Radeon RX7900XTX 24GB
ソフトウェア環境
- Windows版ROCm(HIP SDK/ROCm5.5)
- git 2.41.0.3
- Python 3.10.10
- Visual Studio Build Tool 2022 - 17.6.5
注意点
Windows版ROCmはドライバ込みのようですから、現在あるドライバは削除してからインストールする形になると思います。
私はクリーンインストールから始めたので確認はしていませんが、ドライバのバージョンがあってないと問題になる可能性が高いです。
結果など
残念ながら成功しませんでした。
ビルドはPytorch 2.0.1と最新版のPytorch torch-2.1.0a0で行いました。
Pyroch torch-2.1.0a0はgithubからcloneしましたが、いずれも成功しませんでした。
ビルドは最後迄通ってファイルは生成されるのですが、出来たwhlをインストールしてもGPUを認識しません。
ビルド方法が間違っているのか、ビルドスクリプトがWindows版ROCmに対応していないのかどちらかだと思いますが、どちらかなのかはわかりません。
Pytorch公式のビルドの手順説明はAnaconda環境で説明されており、私はLinuxで使い慣れていることもあって、pipでビルドしたのですが非常にわかりにくいかったです。
Linux版ROCm5.5のNightlyも出るまでかなり時間がかかりましたが、1-1.5か月以内にはWindows版も対応するのではないかと思います。
それまで待つしかないですね。
もし、ビルドに成功してGPUも認識しているという方がいらっしゃいましたらよろしければ私のツイッターアカウントまでご連絡いただけると幸いです。
成功した方いましたら、ご連絡いただけたら幸いです。
— Lisaちゃん@PC自作 (@KotoriKanase) August 6, 2023
今回は残念ですが、公式の対応を待つしかないということですね。
Linux版のセットアップスクリプト配布に関してはバージョンがLinuxの方が進んでいるということもあり、しばらく続ける予定です。
その他
RadeonはRX8000シリーズはNavi41となるSKUは出ないという噂が飛んでいます。
AMDはCDNAのMI400を早くも明言しており、ホビー用のGPUであるRadeonはなかなか寂しい見通しになっています。
RadeonのAI/MLのソフトウェア環境もあまり恵まれているとは言えず、もう少し力を入れるわけにはいかないのかなと感じています。
確かに今はGPUは余っていますし、ホビー向けのGPUは利益率も低いのでしょうが、それでももう少しソフトウェアに力を入れてもらえないとどんなにいい製品を作っても売れないと思います。
今のところRDNA3はAI/MLハードウェアアクセラレーターも活用されていませんし、ROCmも周辺ソフトウェアが無いばかりに活用できません。
なんとかROCmロンチと同時にPytorchやtensorflowも公開されるようにはできないんですかねぇ。残念です。
追記:
ROCmの該当ページにWindows版の対応状況の説明がありました。
Windows上のROCm
ROCm 5.5 以降、HIP SDK は Windows の開発者に ROCm のサブセットを提供する。
Windows上で有効な機能群をHIP SDKと呼ぶ。
これらの機能により、開発者はHIPランタイム、HIP数学ライブラリ、HIPプリミティブ・ライブラリを使用することができる。
以下の表は、Windows と Linux のリリースの違いを示している。
コンポーネント Linux Windows Driver Radeon Software
for LinuxAMD Software
Pro EditionCompiler hipcc/
amdclang++hipcc/clang++ Debugger rocgdb デバッガなし Profiler rocprof Radeon GPU Profilor Porting Tools HIPIFY 近日登場 Runtime HIP
(オープンソース)HIP
(クローズドソース)Math Libraries サポート済み サポート済み Primitives Libraries サポート済み サポート済み Communication Libraries サポート済み 有効でない AI Libraries MIOpen, MIGraphX 有効でない System Management rocm-smi-lib, RDC, rocminfo amdsmi, hipInfo AI Frameworks PyTorch, TensorFlow, etc. 有効でない CMake HIP Language 有効 サポートされない Visual Studio 該当なし プラグイン有効 HIP Ray Tracing サポート済み サポート済み AMDはウィンドウズ・サポートへの投資を続けており、その後のリビジョンで強化された機能をリリースする予定である。
注記
5.5 Windows 版インストーラーは、Math ライブラリーと Primitives ライブラリーを一括してグループ化します。
注記
WindowsとLinuxのGPUサポートは異なる場合があります。WindowsとLinuxのGPUサポート表を個別に参照する必要があります。
注記
HIPレイトレーシングは、LinuxではROCm経由で配布されません。
ROCmリリースのバージョン管理
Linux OSのリリースがROCmの正式なバージョン番号を設定する。Windows は Linux ROCm リリースをベースとしているため、Linux のバージョン番号に従う。
ただし、すべての Linux ROCm リリースに対応する Windows リリースがあるわけではない。
以下の表に、Windows と Linux の ROCm リリースを示す。
Windows と Linux の両方をサポートするリリースをジョイント・リリースと呼ぶ。Linux のみがサポートされるリリースは、Windows の観点からスキップされたリリースと呼ばれる。
リリース
バージョンLinux Windows 5.5 ✅ ✅ 5.6 ✅ ❌ ROCm Linuxのリリースは、Major.Minor.Patchのバージョン番号システムに従ってバージョン管理されます。
WindowsのリリースはMajor.Minorでバージョン管理される。
一般的に、Windows のリリースは Linux のリリースに先行する。
単一の ROCm バージョンを使用して Linux と Windows の両方をサポートしたいソフトウェア開発者は、共同リリースがない限り ROCm のアップグレードを控えるべきである。
Windowsドキュメントの意味合い
ROCm ドキュメント・ウェブサイトには Windows と Linux の両方のドキュメントが含まれている。
各記事のタイトルのすぐ下には、そのページがLinuxのみに適用されるのか、Windowsのみに適用されるのか、 あるいは両方のOSに適用されるのかを示す便利な記事情報セクションがある。
HIP SDKのリリースの正確なWindowsドキュメンテーションを見つけるには、同じMajor.Minorバージョン番号のROCmドキュメンテーションを閲覧し、パッチバージョンは無視してください。
パッチバージョンはLinuxリリースのみ重要です。便宜上、Windowsドキュメントは、スキップされたWindowsリリースのROCmドキュメント全体に引き続き含まれる。
ソースからのWindowsビルド
Windowsをソースからビルドするために必要なすべてのソースコードが、寛容なオープンソースライセンスの下で利用可能なわけではありません。
Windows でのビルド手順は、クローズド・ソースのビルド前提条件を持つツールチェインを使用して Windows 上でソースからビルドできるプロジェクトに対してのみ提供されます。
ROCm マニフェスト・ファイルは Windows では無効です。
AMDは、Windowsでマニフェストやタグをリリースしていません。ユーザーは、対応するLinuxタグを使用してWindows上でビルドすることができます。
以上、上のドキュメントを見ると、やはりWindows版ROCmではLinux版と同等の機能を提供しているわけではなさそうです。
特にAI FrameWorkは「有効でない」とされていますので、当面様子見をするしかないようです。
AMDのGPU Radeonシリーズ
Radeon 7000シリーズ
Radeon RX 6000シリーズ
※ SAPPHIREはAMD Radeon専業のメーカーであり、Radeonのリファレンス的なメーカーです。