NVIDIA DGX Stationを試してみた

これは Retty inc. Advent Calendar 2017 17日目の記事です。
前回は2017年12月16日に更新  @takumi-suzuki の[RDS からEC2へ Multi-master replicationを組んでみた](https://qiita.com/takumi-suzuki/items/3bcedbd431c89e9d4ee9)でした。

#NVIDIA DGX Stationについて
>NVIDIA Tesla V100搭載、NVIDIA DGX StationはDGXシリーズでは初めてパーソナルな
> スーパーコンピューターを実現。 4基のPCI-Express タイプのTesla V100をNV-LINKで
> 相互接続する据え置き型のワークステーションです。 
>(国内代理店より: http://www.gdep.co.jp/information/hot/1308/)

これまでは**DGX-1**というラッキングサーバ型の製品があり、データセンタ等に設置後、
複数ユーザがssh接続にてリソースを利用するようなスタイルでしたが、**DGX Station**に関しては
自分のデスクの脇に置く**ワークステーション**のスタイルになっているのが特徴的なところです。

NVIDIA公式 https://www.nvidia.com/en-us/data-center/dgx-station/

#DGX Stationの貸出
**11月下旬頃**にNVIDIAの方から**DGX Station貸出**をしていただき、箱出しから設置、基本的な性能の確認
弊社エンジニアがマルチGPUでの利用を検証し、**約1週間程度**で返却を行いました。

#DGX Station到着 @ Rettyオフィス
![Screenshot from 2017-12-15 11-59-24.png](https://qiita-image-store.s3.amazonaws.com/0/184651/be9b9ed3-6daa-f03d-194d-52a427950827.png)

![Screenshot from 2017-12-15 12-03-35.png](https://qiita-image-store.s3.amazonaws.com/0/184651/7cea6b1e-0c38-cace-c3b1-e7648fe9d94b.png)

**機器が大きく3人体制**で持ち運びするよう待ち構えていましたが、**段ボール製のスライダー**とDGX Station下部には**コロコロ**が付いており、**簡単に引き出して設置**することが可能です。

![Screenshot from 2017-07-04 14-02-53.jpg](https://qiita-image-store.s3.amazonaws.com/0/184651/95aaf6ad-1267-fc6b-64a6-20bc07ed0604.jpeg)

Rettyオフィス内にあるサーバルームにて、他のサーバの音で**静音性**のチェックはしていません。

#DGX Station各種性能確認
![Screenshot from 2017-12-15 12-11-49.jpg](https://qiita-image-store.s3.amazonaws.com/0/184651/35f511af-844a-4121-ee47-9f060657fb6f.jpeg)

DGX Stationは簡単に側板を開けることが可能です、側板を外してみると**NVIDIA Tesla V100が4枚、
CPUが１つ、メモリが8枚**刺さっているのが見えます。Tesla V100とCPUは**水冷**機構によって
冷やされていることがわかります。

ドキュメントを読むと**1年に1度くらいは水冷のメンテナンス**をする必要があるとのこと。

![Screenshot from 2017-12-15 12-45-57.jpg](https://qiita-image-store.s3.amazonaws.com/0/184651/a589fc4d-4f32-e7a0-f0bd-941f37c688ba.jpeg)

背面には各種インターフェースと**10G NICが2つ**、**Displayポートが3つ**搭載されています。
NVIDIAの方が言っていましたが、この構成で**3つのDisplayポート**が利用できるのは
DGX Stationの1つの魅力だそう。

![Screenshot from 2017-12-07 14-21-25.png](https://qiita-image-store.s3.amazonaws.com/0/184651/b3a6824a-0ba8-2c38-50b1-7017e0b5bfde.png)

電源投入後は**約332W**くらいで安定します。

![Screenshot from 2017-12-15 12-51-15.jpg](https://qiita-image-store.s3.amazonaws.com/0/184651/ec65db6c-a3e3-a0ee-2d82-4b9a101b0e42.jpeg)

OSは**Ubuntu16.04**が導入されています。

**Ubuntu UnityでDesktop**としての利用も可能です。
aptリポジトリ設定を覗いてみましたが、NVIDIAのリポジトリを用意しているわけではなく、
Canonical社提供の**ubuntu.com**をそのまま利用し日頃親しんでいるパッケージもインストール可能です。

標準で**NVIDIAドライバ**が入っていますのでnvidia-smiをすると4枚のTesla V100が確認できます。

![Screenshot from 2017-12-15 13-02-31.jpg](https://qiita-image-store.s3.amazonaws.com/0/184651/8e83f379-d8c0-0d5d-a178-7ffd78dee3b8.jpeg)

**NVIDIA GPU CLOUD**が導入されています。

**Docker**を利用しCUDA9やDeepLearning用の
各種フレームワークをインストールの手間なく利用することが可能です。
**caffe,caffe2,mxnet,pytorch,tensorflow,theano,torch** 標準でインストール済み

docker pullしたところ**約9GB**くらいダウンロードが必要でした。
1ヶ月単位で**DGXシリーズに最適化**されたフレームワーク等がリリース、提供されているとのこと。

![Screenshot from 2017-12-15 13-17-48.jpg](https://qiita-image-store.s3.amazonaws.com/0/184651/5fbc57bf-aff0-8987-28a2-d724bda8e517.jpeg)

CPUは1ソケットで**物理20コア、OS側では40コア**として見えます。
意外と社内ではCPUリソースを利用する為にDGX Stationにログインする方がいました:-p

![Screenshot from 2017-12-15 13-22-24.png](https://qiita-image-store.s3.amazonaws.com/0/184651/5fb982f6-157c-ec12-4fb3-f15e249c7a07.png)

メモリはDDR4 32GBメモリが8枚刺さっていて**256GB**が利用可能です。
試しにtmpfsを作成しメモリ速度を確認してみたところ、**約2.3GB/s**くらいのスピードが出ます。

![Screenshot from 2017-12-15 13-25-42.jpg](https://qiita-image-store.s3.amazonaws.com/0/184651/61101718-4458-a08c-e6bc-280d2c23b4ab.jpeg)

ストレージはOS領域のSSDが**1台**、データ領域のRAID0をSSD **3台**で構成されています。

SSD 1台の性能は、**読込が480MB/s、書込が520MB/s**
RAID0 SSD 3台の性能は、**読込が1600MB/s、書込が1300MB/s**

RAID0ストライピング構成を活かしているようです。

#Geekbench4によるCUDAベンチ結果

![Screenshot from 2017-12-15 15-13-17.png](https://qiita-image-store.s3.amazonaws.com/0/184651/c7d970b1-f185-3f76-676d-f2566b9bcb03.png)

NVIDIAの方々はDeepLearning用の各種フレームワークでのベンチを取っているようなので
今回は**簡易性能測定にGeekbench4**を利用します。
OpenCLベンチは無料ですが、**CUDAベンチは有償(US$10)**をお支払い。

![Screenshot from 2017-12-15 15-17-53.jpg](https://qiita-image-store.s3.amazonaws.com/0/184651/2b83f0a1-bbc0-9a35-14ec-731144cd4f8b.jpeg)

DGX Stationに搭載されている**Tesla V100**のスコアは **649339**
Geekbench4ランキングでは**TOP3**の値となっています。

Tesla V100-DGXS-16GBスコア: https://browser.geekbench.com/v4/compute/1485724
Geekbench4 Top results https://browser.geekbench.com/v4/compute?dir=desc&sort=score

![09b0752e-402f-cf40-0559-f3b413c71a66.png](https://qiita-image-store.s3.amazonaws.com/0/184651/bfd03ac0-58cb-5e22-8b4c-744efd015308.png)

ベンチ測定時は**約400W程度**の電源使用。
今回紹介はしていませんが**マルチGPU利用時**は**約660W程度**になります。

![Screenshot from 2017-12-15 15-22-08.png](https://qiita-image-store.s3.amazonaws.com/0/184651/d2423602-f62a-9e8b-c8f6-fe35e9750cae.png)

Retty社内にあるDellサーバに搭載のPascalアーキテクチャのTesla P100と比べてみると
数値差は**約2倍程**。

Dell PowerEdge R730 + Tesla P100スコア: https://browser.geekbench.com/v4/compute/1489997

![Screenshot from 2017-12-15 15-25-35.png](https://qiita-image-store.s3.amazonaws.com/0/184651/0eb7958c-6f0e-218e-fb7a-4a86cb7ce1f1.png)

Tesla P100を比べてみてからRetty社内にある機械学習基盤に搭載されているNVIDIA GTXとも
比べてみたいなと思い社内で利用できるGPUを比べてみました、GPUによりますが数値的には
それぞれ**約2倍から6倍以上**の数値差となりました。

この数値から、今後は**Voltaアーキテクチャ**のGPUに投資をしてもらいたくなる結果。

Quadro GP100: https://browser.geekbench.com/v4/compute/1537272
GTX 1080 Ti: https://browser.geekbench.com/v4/compute/1537108
GTX 1080:    https://browser.geekbench.com/v4/compute/1537122
GTX 1070:    https://browser.geekbench.com/v4/compute/1537138
GTX 1060:    https://browser.geekbench.com/v4/compute/1537215
GTX 1050 Ti: https://browser.geekbench.com/v4/compute/1537179

#GTC Japan 2017 @ Hilton Tokyo Odaiba
![Screenshot from 2017-12-15 15-48-45.png](https://qiita-image-store.s3.amazonaws.com/0/184651/e8f60f6e-38cf-ce36-7fb9-ce28b267f08d.png)

尚、これまで紹介してきたDGX Stationの情報は2017年12月12日-13日で行われたGTC Japan 2017の
インベント内プライベートセッション**第1回DGX User Group Meeting**にて紹介させていただきました。
参加されたNVIDIAプロダクトマーケティングのTony PaikedayさんやDGXプロダクトマネジメントの
Markus Weberさんと交流を深めることができました。

明日は @makoto-nagai の Core Imageを使ったiOS上での画像フィルタの実装です。