しゃけのブログ

某大学院で研究している人の備忘録

マルチ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とCrossFireNVIDIA製とAMD製のこと

どうやらSLIはNVIDIAのマルチGPU動作システムで,CrossFireAMDのマルチGPU動作システムのことらしい.

使っているGPUNVIDIA製であれば,SLI対応のマザーボードが必要だし,AMD製のGPUを持っているのであればCrossFire対応のマザーボードが必要ということだ.

私が購入したマザーボードはSLI対応のものだったので,Nvidia製のGPUに対してSLIを適用することができる.

違う型番のGPUは同時搭載できるのか

次の条件を満たす必要があるみたい

  • 同じGPUチップ(NVIDIAのGTXシリーズとGTXシリーズとか)
  • VRAMが同容量(8GBと11GBはだめ)

逆にこれは違くても許容される

  • クロック値が異なる(低い方のクロック値へ適応させられる)

SLIブリッジ

SLIを使う上で欠かせないのが,SLIブリッジ. SLIブリッジを使って複数のGPUを接続をしていないと,SLIの機能を使って並列的にGPUを使うことができない.

異なるGPUの間を基板で直接的につなぐ.

選び方としては,n-wayのnの部分が並列するGPUの個数になる.二個だったら2-way. ほとんど性能的に差が出るような違いはなく,見た目の違いだと思う.

なんとなくケーブル状のものが適しているような気がしたので,こちらを採用した.

電源

通常の2倍ほどの電源が必要になるらしい.

1200Wの電源としてこちらを選んだ.

注意

Wikipediaに不穏な文章があった.

同じメーカーの同じ製品を使用しないと、フリーズしてしまい、セーフモードで起動する羽目になる.

でも,いろんな記事は違うメーカーでも大丈夫と言っているし,よくわかんない.

やるときは自己責任でお願いします

参考にさせていただいたサイト様

SLI構築方法と注意点。GTX1080のグラフィックボードで挑戦してみた。 | ツカツカCAMP

CrossFireX - Wikipedia

Scalable Link Interface - Wikipedia