なんとなく日誌

覚え書きとか。twitter:https://twitter.com/noronoroxxxxxx

RX470で機械学習ことはじめ その2 ~RX470(Polaris世代)で機械学習するにはPCIe3.0が必要~

ROCmを使うにはPCIe3.0が必要

こんばんは。
まだ機械学習までたどり着けてないけど、少しずつ進んでる。
noroue4.hatenablog.com

どうもPCIe3.0が必要らしい

AMDGPU機械学習をするにはROCmというものを使うのだけど、ROCmのReadme
github.com
に気になる記述を見つけた。
ROCmにはPCIe3.0が必要らしい。
Win10で例のRX470を使うにはHaswell以降のCPUが必要だったけど、Ubuntuでの機械学習でもPCIe3.0が使えるHaswell以降が必要だったわけだ。
ひとつ前のIvy世代で組むところだった。あぶないあぶない。
PCIe2.0では速度が足りないという話ではなく、PCIe3.0に含まれるPCIe atomicsという機能が必要だそうだ。
CPUだけでなくマザーボードもこのPCIe atomicsをサポートしている必要がある。
例えばIvy世代のCPUにもPCIe3.0に対応しているものがあるが、PCIe atomicsに対応していなくてダメな場合があるようだ。
さらに実際の失敗例は見つからないけど、もしかしたらCPU直結でなくSouthBridgeを経由するPCIeもダメかもしれない。
まあ、これはハイエンドマザーボードに3つも4つもGPU載せたりしないなら関係ないと思うけど。

とはいえ、だいたいのマザーボードにはPCIe3.0ソケットは1つしかない。
AMDグラボ二台載せで機械学習をやるには、最上位ランクのマザーボードが必要ということに。
これからRX470マイニングエディションで機械学習用PCを組もうという人は気を付けて。

※VEGA以降の世代ならPCIe2.0でも大丈夫

上記の問題はPolaris世代以前のGPUまでで、VEGA以降であれば問題ない。
ちなみにPolarsでもPCIe2.0をサポートするつもりはあるけど、機材がないので皆様の協力が必要、ということだそうだ。
PCIe2.0で使いたかったら問題報告に協力するとそのうち使えるようになるかもしれない。

実際にPCIe2.0スロットに差してみたよ

noroue4.hatenablog.com



続く
noroue4.hatenablog.com