NVIDIAは、GTC 2018でのJensen Huang CEOの基調講演において、マシンラーニング用の「DGX-2」というマシンを発表した。半精度のマシンラーニング演算では2PFlopsという高い演算性能を持つ。
同マシンは、GPUメモリ全体では、512GBの容量と14.4TB/sという高バンド幅を持つ。これだけメモリがあれば、かなり大きなニューラルネットをGPUメモリに収容することができ、CPUメモリをアクセスしてデータを持ってくることなく、GPU側だけで高速にニューラルネット演算を実行することができる。そして、筐体サイズは10Uで、消費電力は10kWとなっている。
お値段は39万9000ドル(約4000万円)と相当な金額ではあるが、研究室単位でも買えないことは無いという価格であり、今年の第3四半期からの提供開始予定となっている。
前世代の「DGX-1」は8個のV100 GPUを搭載していたが、DGX-2では16個のV100 GPUへと個数を倍増させた。以下の図のように8個のV100 GPUを搭載するシャシーを2段に配置する形で16個のV100 GPUを搭載している。このため、DGX-2は10Uの高さになっている。
さらに、DGX-1ではV100 GPUのHBM2メモリは16GBであったが、DGX-2では32GBへと倍増された。V100 GPUの個数が倍増で、個々のV100のメモリが倍増しているので、全体のGPUメモリ容量は4倍に増加している。
メモリ拡張と並んで、DGX-2のもう1つの目玉は、「NVSwitch」と呼ぶスイッチチップを新開発して16個のV100 GPUを相互接続した点である。NVSwitchは、25Gbps×8の双方向のNVLinkポートを18ポート持ち、18ポート間の任意の接続を行うことができるスイッチである。
DGX-2のネットワークは、1Aと1B、2Aと2B、…の6つのペア(合計12個)のNVSwitch間を8リンクで直結した構造を採用しており、もし、POWER9のようなNVLinkをサポートするCPUが使われていれば、未使用のポートが存在するので、それを使ってCPUとGPUの間の通信バンド幅を増やすことができる。DGX-2ではIntel CPUを使っているためCPU側にはNVLinkが無く、これはできない。しかし、POWER9版のDGXが開発されているというのはありそうである。
4月18日改定:初掲載時に記載していたNVSwitch間の接続が異なっておりましたので、当該部分を改変いたしました。またこの改変に併せて、NVSwitchの接続に関する説明記事を別途、掲載させていただきました。
なお、NVLinkはコマンドを送る機能を持っていないので、CPUからGPUをコントロールするためにPCI Expressが必須である。Intel CPUの場合は、コマンドの伝送と合わせてデータの伝送もPCI Expressを使うことになる。
次の図は、NVSwitchのチップとして公開された画像である。このところNVIDIAが公開する写真はアーティストがCGで描いた偽物が多いので、眉にたっぷり唾を付けて見なければいけないのであるが、この写真は構造の複雑さからみて本物のようである。
これが本物とすると、左右に8個ずつのポートがあり、さらに中央、上側に2ポートが並んでいるように見える。そして、中央の18列9段の小さなブロックはクロスバスイッチであろうと思われる。
NVSwitchチップの消費電力は100Wとのことである。次の写真の中央に見える銅のヒートシンクと、ヒートパイプで結合された、それより背の高いアルミのヒートシンクが付いているのがNVSwitchチップである。なお、この展示では、一番手前のNVSwitchチップは取り外されてアクリルの棒の上の台に載せられているので、5個しかヒートシンクが見えないということになっている。
なお、Volta GPUのL2キャッシュはメモリサイドキャッシュであり、L2キャッシュスライスはそれが接続されたHBM2内のアドレスのデータしかキャッシュしないので、特別なコヒーレンス制御は必要ない。L1キャッシュはどのHBM2のアドレスのデータでもキャッシュするが、データのコヒーレンシはソフトウェアで当該キャッシュの内容をフラッシュすることで維持する方式であるので、ハードウェアに特別な機構は必要でない。
ただし、Read-Modify-Writeを間に割り込まれることなく実行するアトミックアクセスはスイッチも理解するようになっている。
結果として、DGX-2は16個のV100 GPUを搭載し、半精度のFP16乗算とFP32の加算の合計で2PFlopsの演算能力を持っている。そして、各GPUが持つ32GBメモリのどのアドレスも連続のメモリ領域としてアクセスすることができるので、単一の512GBの連続メモリ領域をもち、相当大きなニューラルネットでも、全体をGPUメモリに収容して、高速に処理することができる。
例として説明に使ったFAIRseqというニューラルネットワークの学習は、DGX-1では15日かかったが、DGX-2では1.5日と10倍の速度が得られたという。GPUの演算性能は2倍にしかなっていないので、高速化にはGPUメモリの大容量化によるCPUメモリのアクセスの減少などが大きく効いていると思われる。
マシンラーニング演算で2PFlopsは世界最大ではないが、現状では世界でもトップクラスの性能であり、それが39万9000ドルという値段で買え、10kWという電力で動かせるというのはマシンラーニングの研究開発の進歩に大きなインパクトが出てくると思われる。その意味でもDGX-2はスーパーラーニングマシンである。