AMD RADEONのグラフィックボードで、Stable Diffusionを動作させるということは
ROCm(Radeon Open Compute)をインストールし、Windows上で仮想環境を利用してLinuxを作動させ、その上でROCm(Radeon Open Compute)動作させる仕組みになります。
この手法では、CUDAに比べて仮想化やエミュレーションによる余分な処理が発生するため、結果としてパフォーマンスが低下する傾向があります。
AMD (ROCm) は 60~90%の性能 を発揮することが多い
同じ処理能力のGPUを比較した場合、NVIDIA (CUDA) は AMD (ROCm) よりも多くの場面で優位性があります。
特に機械学習タスクでは、※CUDAエコシステムの成熟度が大きな差を生むことが一般的です。
※CUDAエコシステムとは、NVIDIAが提供するGPU用ツール、ライブラリ、フレームワーク最適化、サポート体制の総称で、高性能かつ互換性に優れています。
理由
NVIDIAのCUDAは以下の点で優れています:
項目 | CUDA (NVIDIA) | ROCm (AMD) |
---|---|---|
設定の簡単さ | 簡単 | 手間がかかる(仮想環境が必要) |
パフォーマンス | 高い | やや低い(仮想化の影響) |
ソフトウェア互換性 | 非常に高い | 限定的 |
サポート体制 | 充実 | 発展途上 |
- 設定の簡単さ:CUDAは直感的で手間が少ないのに対し、ROCmは仮想環境の構築などが必要な場合があります。
- パフォーマンス:CUDAはフレームワークの最適化やハードウェアリソースの効率的な活用により、一般的に10~40%の優位性を発揮します。
- ソフトウェア互換性:CUDAはPyTorchやTensorFlowなど多くのフレームワークに広く対応しており、ROCmの互換性は限定的です。
- サポート体制:NVIDIAは成熟したサポートエコシステムを持ち、問題解決が迅速です。
具体例
パフォーマンス差の目安
タスク | CUDA (NVIDIA) | ROCm (AMD) | 差異 |
---|---|---|---|
機械学習タスク | 高度に最適化(推論・トレーニングが高速) | 最適化が不十分(仮想化でさらに低下) | 10~40%の差 |
一般的な数値演算 | ハードウェアを効率よく活用し高い性能を発揮 | 理論性能に近いが最適化で劣る | 最大20~30%の差 |
仮想環境(例: WSL2)の影響 | オーバーヘッドが少ない | 5~15%程度のパフォーマンス低下が発生 | 追加の影響がある場合あり |
- Stable Diffusion推論タスク
項目 | NVIDIA (例: RTX 3060, CUDA使用) | AMD (例: Radeon RX 6600 XT, ROCm使用) | 差異 |
---|---|---|---|
推論速度 | 1ステップあたり約0.5~1.0秒 | 1ステップあたり約0.7~1.5秒 | 約20~40%の差 |
GPU使用率 | 高く効率的 | 劣る場合あり | - |
- PyTorchでのトレーニング速度
モデルトレーニング速度 | NVIDIA (CUDA) | AMD (ROCm) | 差異 |
---|---|---|---|
速度 | 約100サンプル/秒 | 約75~90サンプル/秒 | 約10~25%の差 |
- 仮想環境の影響
仮想環境(例: ※WSL2)では、ROCmに5~15%程度のオーバーヘッドが加わることがあります。これにより、さらにパフォーマンス差が広がる場合があります。
※WSL2とは、Windows上でLinux環境を動作させる機能で、Linuxカーネルを用いてネイティブなLinuxアプリケーションの利用を可能にします。
Point(まとめ)
実際のパフォーマンス差はタスクや環境によって異なりますが、仮想環境やソフトウェア最適化の観点から、NVIDIA (CUDA) が AMD (ROCm) に対して10~40%程度有利な場合が多いです。特に機械学習タスクでは、CUDAエコシステムの成熟度がNVIDIAの優位性を後押ししています。
CUDAが有利な理由(補足)
CUDAが有利なのは、AIの多くがCUDAを前提に開発されているためです。これには、NVIDIAの圧倒的なマーケティング戦略が大きく影響しています。
一方で、AMD RADEONとROCmには、オープンソースの強みやコストパフォーマンスの面で独自のメリットがあります。
特に、ROCmはオープンな環境での開発を推進しており、今後のアップデートやコミュニティの成長次第で、パフォーマンスや使い勝手がさらに向上する可能性を秘めています。
とはいっても追い越すことはないですよね・・・。
AIの世界では、CUDA一強に見える現在の状況も、AMDのようなオープンソースの勢力が台頭することで、技術の選択肢が広がり、競争が激化する未来が期待されます。あなたは、この流れにどう向き合いますか?
私は、VRAMの搭載量次第で再びNVIDIAに戻ることも検討しています。
以前、RTX 3080(10GB)を使用していた際に、VRAM不足を感じる場面が多々ありました。
その経験から、現在はVRAMが20GB搭載されているRX 7900 XTを選びました。
しかしStable Diffusionは、20GBのVRAMでも512ピクセル×512ピクセルでも20GBを超えていきます。
生成は出来ます。
2048×2048は出来ませんでした。

512MBのテンソルを割り当てられなかった。使用可能なGPUメモリが不足しています
1024×1024でも同様です。(再起動してからなら生成できたかも?)

同様に、512MBのテンソルを割り当てられなかった。使用可能なGPUメモリが不足しています。と書いてあるようです。

512×512ピクセルでもエラーが発生しました。
一度Kiritaを再起動させます。どの位の大きさまで生成できるかは、今度検証します。1024×1024の生成は出来ました。

Stable DiffusionのモードはCinematic Photo(XL)にて検証しています。
Stable Diffusionの話はここまでにして、
次は動画編集時のVRAMについてです。
Davinci Resolveでは編集時は12GB位が多く、書き出しの時は18GB前後まで使用します。
Youtube用の8分位の動画。(30~60fps 1920×1280)
Stable Diffusion(特にKirita)は使い方がよく分からないため、使用できなくても問題ありません。
負荷を減らせる設定もあるとのことですが、Kiritaでその設定が可能かは不明です。
とはいえ、私にとってStable Diffusionは必須ではないため、今後はVRAMが16GB以上のモデルを基準に選んでいこうと考えています。
話をRocmのパフォーマンスに戻します。
まとめ
実際のパフォーマンス差はタスクや環境によって異なりますが、
仮想環境やソフトウェア最適化の観点から、NVIDIA (CUDA) が AMD (ROCm) に対して10~40%程度有利な場合が多いようです。
これは、AMDがNVIDIAより劣ると言うことでは無く、Windowsの仮想空間でLinux(ROCm)を動作させる為に、
60~90%の性能しか発揮することが出来ない環境にあると言うことです。
特に機械学習タスクでは、CUDAエコシステムの成熟度の高さがNVIDIAの優位性を後押ししています。
少なくとも数年はこの傾向が続くと考えています。
AMD Radeonシリーズ比較表
モデル名 RADEONシリーズ | アーキテクチャ | メモリ容量 | 性能 | 性能目安(ゲームFPS, 1080p) | 消費電力 (TDP) | 価格目安 |
---|---|---|---|---|---|---|
RX 7900 XTX | RDNA 3 | 24GB GDDR6 | ハイエンド | 150~200 FPS | 355W | 15~20万 TSUKUMO Amazon |
RX 7900 XT | RDNA 3 | 20GB GDDR6 | ハイエンド | 140~180 FPS | 315W | 11~19万 TSUKUMO Amazon |
RX 7800 XT | RDNA 3 | 16GB GDDR6 | ミドルレンジ | 120~160 FPS | 263W | 7.5万~10万TSUKUMO Amazon メルカリ |
RX 7700 XT | RDNA 3 | 12GB GDDR6 | ミドルレンジ | 110~140 FPS | 245W | 6.5万~8万円 TSUKUMO Amazon メルカリ |
RX 7600 | RDNA 3 | 8GB GDDR6 | エントリーモデル | 60~90 FPS | 165W | 3.7万~5万円TSUKUMO Amazon メルカリ |
RX 6700 XT 旧モデル | RDNA 2 | 12GB GDDR6 | ミドルレンジ | 80~110 FPS | 230W | 6万~11万TSUKUMO Amazon メルカリ |
RX 6600 旧モデル | RDNA 2 | 8GB GDDR6 | エントリーモデル | 60~80 FPS | 132W | 3万~5万円 TSUKUMO Amazon メルカリ |
NVIDIA GeForceシリーズ比較表
モデル名 | アーキテクチャ | メモリ容量 | 用途 | 性能目安(ゲームFPS, 1080p) | 消費電力 (TDP) | 価格帯 (USD) |
---|---|---|---|---|---|---|
RTX 4090 | Ada Lovelace | 24GB GDDR6X | ハイエンド | 200~250 FPS | 450W | 40万~50万TSUKUMO |
RTX 4080 | Ada Lovelace | 16GB GDDR6X | ハイエンド | 160~200 FPS | 320W | 17万~25万TSUKUMO |
RTX 4070 Ti SUPER | Ada Lovelace | 16GB GDDR6X | ハイエンド | 150~190 FPS | 285W | 14万~16万TSUKUMO Amazon メルカリ |
RTX 4070 Ti | Ada Lovelace | 12GB GDDR6X | ミドルレンジ | 140~180 FPS | 285W | 13万~16万 TSUKUMO Amazon メルカリ |
RTX 4070 | Ada Lovelace | 12GB GDDR6X | ミドルレンジ | 120~160 FPS | 200W | 8.5万~11万TSUKUMO Amazon メルカリ |
RTX 4060 | Ada Lovelace | 8GB GDDR6 | エントリーレベル | 70~100 FPS | 115W | 4.5万~5.5万TSUKUMO Amazon メルカリ |
RTX 3080 旧モデル | Ampere | 10GB/12GB GDDR6X | ハイエンドゲーミング | 150~200 FPS | 320W | 9万~15万 Amazon メルカリ |
RTX 3060 旧モデル | Ampere | 12GB GDDR6 | エントリーレベル | 60~90 FPS | 170W | 4万~6万 TUKUMO Amazon メルカリ |