WindowsでAMD GPUを使ってCUDAを動かすことは可能なのか?現状を徹底解説
CUDA for AMD on Windows
CUDA for AMD on Windows
Windows環境において、AMDのGPUでCUDAを動作させたいと考えている方も多いのではないでしょうか。結論から申し上げますと、NVIDIAのCUDAはクローズドソースな技術であり、NVIDIA製ハードウェア以外でネイティブ動作するように設計されていません。そのため、AMD GPUで直接CUDAを動かす公式な方法は存在しません。ただし、AMD GPUでCUDAのようなコードを実行するための代替手段として、AMDが提供する「ROCm (Radeon Open Compute)」や、CUDAコードをHIPに変換して動作させるツールなどが研究・開発されています。現実的には、CUDAの実行環境が必要な場合はNVIDIA GPUの使用を強く推奨します。
WindowsでAMD向けCUDAを動かすやつ。ZLUDAとROCm/HIPを使って、CUDAターゲットのアプリをAMD GPUで動かせるWindows環境を構築中。リポジトリはこちら:https://github.com/Speedstu/CUDA-for-AMD-Windows 今のところ自分のRX 9060 XT (gfx1200) でしかテストしてないけど、CUDA対応のLibTorchワークロード(AIの長時間学習含む)で使えてるよ。あと、AMD GPUモデル、gfxXXXXアーキテクチャ、ROCm/HIPのインストール状況、ドライバ情報、プロジェクトでの検証済みかどうかを検知するGPUスキャナ/自動検出システムも追加した。例:RX 9060 XT → gfx1200 → RDNA4 → HIP検知済み → 検証済み。目標は、RX 6000/7000/9000シリーズを中心に、より多くのハードウェアでテストすること。WindowsでAMD GPUを使ってるなら、ぜひ試して動いたか壊れたか報告してもらえると助かる。リポジトリに専用のGPU互換性報告用issueテンプレートがあるよ。もし役に立ちそうなら、スターをもらえるとテストしてくれる人がもっと集まりやすくなるのでありがたい。
RDNA1のカードでもCUDA for AMDが使えたらいいのに。うちの5700XTが引き出しで眠ってるんだよね。
ちなみに自分はMac用にcuda-metalを作ったよ(笑) https://github.com/lulzx/cuda-metal
スレチでちょっとした愚痴になるけど、みんなHIPとかSYCL、OpenCLみたいなオープン標準にもっと注力してほしいわ。LLM推論のほとんどが、クローズドなハードウェア、クローズドなドライバ、クローズドなSDKに依存してるのはマジで耐え難い。
AIがNvidiaの優位性を崩すよ。CUDA/PTXをHIP、SYCL、Metalに変換するのが当たり前になれば、CUDAはもはや強固な堀ではなく、単なる中間表現に過ぎなくなる。
NvidiaのGPUを使ってた頃はどれだけCUDAが好きだったか言葉にできないよ。MLがめちゃくちゃ楽しかったからね。AMDだと特に自分が持ってるRDNA 2カードではまさに戦争って感じ。いつかCUDAをAMD向けにちゃんと変換できるようになるといいな。
他にもこういう面白い取り組みがあるよ:https://github.com/Zaneham/Booth https://scale-lang.com/
クリックする手間を省いてやると:cuDNNには非対応で、Windows版ROCmのかなり古いバージョンベースだよ(7.1はずいぶん前に出てるし、今は7.2が最新だからね)。
CDNAアーキテクチャのチップには面白い選択肢だね。これがオープン標準に移行していくのか気になる。参考までに、AI向けAMD GPUのスペック一覧はこちら:https://flopper.io/gpus?vendor=AMD&page=1