マルチGPUのための自作PC(SLI)
研究で使っているPCをマルチGPUにしたいなと思い調べてみると,マルチGPUには二つの方式があることを知りました.
「SLI」と「CrossFire」というらしいですが,それぞれNVIDIA製のGPUでマルチGPUをするのかAMD製のGPUでマルチGPUをするのかということらしいです.
今回はマルチGPUを構築した際に購入したものなどをSLI方式について,簡単に記しておこうかなと思います.
そもそもマルチGPUとは
研究用のお高いパソコンでなければ普通のパソコンはGPUを1枚しか積んでいない.
しかし,1枚のGPUではVRAMの容量が少なく,機械学習などで大きな深層学習モデルを学習させたいときは Cuda out of memory
の文字を見ることになる.
そこで,一枚のマザーボードに二枚以上のGPUを指してしまって,その分だけVRAMを増やそう&性能を上げようというのがマルチGPU. 単純に2枚指せば2倍のVRAMが手に入るというわけらしい.
さらに処理性能に関しても,処理を2枚のGPUへ分散させることができるので改善することが期待される.
GPUを複数枚マザーボードにさしただけでは,一つのプロセスから1枚しかGPUを使うことができない. OS側の処理で複数のプロセスを別々のGPUに処理させることはできる?みたいだが.
大きなVRAMや処理性能を求めているので,一つのプロセスから複数のGPUを大きな1つのGPUとして認識させたい.
これを実現する技術がSLIやCrossFireというものみたいだ.
SLIとCrossFireはNVIDIA製とAMD製のこと
どうやらSLIはNVIDIAのマルチGPU動作システムで,CrossFireはAMDのマルチGPU動作システムのことらしい.
使っているGPUがNVIDIA製であれば,SLI対応のマザーボードが必要だし,AMD製のGPUを持っているのであればCrossFire対応のマザーボードが必要ということだ.
私が購入したマザーボードはSLI対応のものだったので,Nvidia製のGPUに対してSLIを適用することができる.
違う型番のGPUは同時搭載できるのか
次の条件を満たす必要があるみたい
逆にこれは違くても許容される
- クロック値が異なる(低い方のクロック値へ適応させられる)
SLIブリッジ
SLIを使う上で欠かせないのが,SLIブリッジ. SLIブリッジを使って複数のGPUを接続をしていないと,SLIの機能を使って並列的にGPUを使うことができない.
異なるGPUの間を基板で直接的につなぐ.
選び方としては,n-wayのnの部分が並列するGPUの個数になる.二個だったら2-way. ほとんど性能的に差が出るような違いはなく,見た目の違いだと思う.
なんとなくケーブル状のものが適しているような気がしたので,こちらを採用した.
電源
通常の2倍ほどの電源が必要になるらしい.
1200Wの電源としてこちらを選んだ.
注意
Wikipediaに不穏な文章があった.
同じメーカーの同じ製品を使用しないと、フリーズしてしまい、セーフモードで起動する羽目になる.
でも,いろんな記事は違うメーカーでも大丈夫と言っているし,よくわかんない.
やるときは自己責任でお願いします