RTX 2060 Superをツインで稼働させると

 今回はDeep Learningに使用する目的でnVidia GeForce RTX 2060 Superを二台構成で稼働させる話です。

 RTX 2060 Superは複数のGPUをリンクさせて単一のGPUとして稼働させる「NVLink」には対応していません。RTXシリーズだと2070 Superからです。しかしながら、複数のGPUをNVLinkでシンクロさせてもパフォーマンスの向上度合いは予想以上に低く、費用対効果が下がるとの認識を持っています。

これはPythonからGPUドライバを通る経路にNVLinkによるGPU並列稼働を妨げてしまうボトルネックがあるようで、TensorFlow(実際にはKeras)は複数のGPUに処理を割り振ることが可能であるため、最安価なRTX SuperモデルであるRTX 2060 SuperをNVLink無しで並列稼働させることにしました。

 なお、RTX 2070 SuperからはSLI/NVLink用の接続端子が装備されていますが、RTX 2060 Superにはありません。その理由はnVidiaのマーケティング的な判断があると言われています。つまり、RTX Superシリーズの最安価モデルであるRTX 2060 SuperをSLI/NVLinkで稼働させるとRTX 2080 Superの能力を上回ってしまい、売れ筋が変わってしまうというものです。

 実際、RTX 2060 SuperはRTXシリーズの最安価モデルではありますが、Tesla P100と同程度の処理能力を持っており、これを複数同時に稼働させた場合はRTX 2080 Superを超える処理能力が、RTX 2080 Superを1台購入するより安く手に入るわけです。この「NVLinkを使えないRTX 2060 Superを2台使う」というアプローチは世間ではほぼ見ないので試してみました。

PCI Express (x16) スロットにささらない

 さて、前回購入したものと全く同じGPU(グラボ:MSI RTX 2060 Super Armor)を再び購入して、威勢よくPCI Express (x16)スロットに挿したのですが、なんだか無理やり感を感じ、とりあえず電源をONに。「カリカリカリカリ」と音がするのでみてみると、隣接するように設置した2つのグラボの隙間から冷却ファンが何かに当たる音がしました。グラボの形状が隣接設置を想定していない出っ張りがあり、その出っ張りにファンが当たっていました。

 使用するグラボは2スロットを使うので、空いているPCI Express (x8)にも電源が邪魔で挿さりません。そこで、筐体の外に設置することにし、下記の部材を購入しました。


長尾製作所 グラフィックボード ディスプレイ台 NB-VGA-DP01

非常に良い商品です。さすが日本製だけあってネジの位置や寸法が正確なうえ、重量もあるので安定感があります。


PCI-Express 16x ライザ カード 延長変換ケーブル 40cm フレキシブルライザーリボンケーブル 拡張ポートアダプタ高速ライザーカード / 90度 ロック付き

PCI Express (x16)のような高速・広帯域幅の電気信号をライザーケーブルで延長することに不安を感じる向きもありますが、このケーブルに関しては全くの不安要因もなく安定して使えています。

接続をして動作確認へ

 2個目のグラボを接続して、Jupyter Notebookでnvidia-smiにてGPU認識状況を確認すると下記のように正常に認識されました。


 次回はこうしてNVLink無しで並列接続したRTX 2060 Superを使ってコストパフォーマンスを重視しながらDeep Learningを効率よく進める実作業について言及します。

English
English