成瀬 彰, シニア デベロッパー テクノロジー エンジニア, 2018/4/24
DGX-2を取り巻くGPU最新技術情報
2
AGENDA
• DGX-2の特徴
• DGX-2の性能・ユースケース
• 高密度化するGPUノードの問題と対策
3
DGX-2の特徴
4
21B transistors
815 mm2
80 SM
5120 CUDA Cores
640 Tensor Cores
HBM2
32 GB, 900 GB/s
NVLink
6 x 50 GB/s
TESLA V100
5
DGX-2: 概要
6
TESLA V100搭載ノード
4 GPUs
8 GPUs
16 GPUs
DGX Station DGX-1
DGX-2
7
これまでのGPU間接続
GPU間を直結
DGX Station (4 GPUs)
DGX-1 (8 GPUs)
ポート数が足りない
8
DGX-2のGPU間接続
スイッチ経由でGPU間を接続
NVLINK インターコネクト
9
NVスイッチ
NVLinkポート数: 18, トータルスループット: 900 GB/s
10
NVスイッチ
ノンブロッキング・クロスバー
11
DGX-2のGPU間接続
スイッチ経由でGPU間を接続
NVLINK インターコネクト
12
DGX-2のGPU間接続
スイッチ経由でGPU間を接続
NVスイッチ
NVスイッチ
13
DGX-2のGPU間接続
スイッチ経由でGPU間を接続
NVスイッチ NVスイッチ NVスイッチ NVスイッチ NVスイッチ NVスイッチ
NVスイッチ NVスイッチ NVスイッチ NVスイッチ NVスイッチ NVスイッチ
14
DGX-2のGPU間接続
スイッチ経由でGPU間を接続
NVスイッチ NVスイッチNVスイッチNVスイッチ NVスイッチ NVスイッチ
NVスイッチ NVスイッチNVスイッチNVスイッチ NVスイッチ NVスイッチ
15
DGX-2のGPU間接続
スイッチ経由でGPU間を接続
NVスイッチ NVスイッチ NVスイッチ NVスイッチ NVスイッチ NVスイッチ
NVスイッチ NVスイッチ NVスイッチ NVスイッチ NVスイッチ NVスイッチ
16
DGX-2のGPU間接続
スイッチ経由でGPU間を接続
NVスイッチ NVスイッチ NVスイッチ NVスイッチ NVスイッチ NVスイッチ
NVスイッチ NVスイッチ NVスイッチ NVスイッチ NVスイッチ NVスイッチ
17
性能比較: MEMORY COPY スループット
PCIeより10倍以上高速
PCIe
6x NVLink
HBM2 HBM2
HBM2 HBM2
10倍以上
18
性能比較: MEMORY COPY スループット
ローカルメモリ上のMemory Copyに近い性能?
Local
HBM2
6x NVLink
3倍弱
HBM2 HBM2
10倍以上
19
NVスイッチはどうすれば使えるの?
DGX-2向けに特別なプログラミングは不要
マルチGPU対応(シングルノード)のプログラムであれば、DGX-2の全GPU
高速接続のメリットを享受可能
cudaMalloc + CUDA P2P
Unified Memory
20
DGX-2
512 GB Unified Memory
512 GB ユニファイド・メモリ
21
DGX-2の性能とユースケース
22
性能比較: DGX-1 VS DGX-2
3D FFT (全対全通信)
23
性能比較(16 GPU): 2台のDGX-1 VS DGX-2
Allreduceスループット: マルチGPUでのDLトレーニング
ResNet50:100MB
24
性能比較(16 GPU): 2台のDGX-1 VS DGX-2
25
複雑化・巨大化するモデル
2016 - Baidu Deep Speech 22015 - Microsoft ResNet 2017 - Google NMT
105 ExaFLOPS
8.7 Billion
パラーメタ
20 ExaFLOPS
300 Million
パラメータ
7 ExaFLOPS
60 Million
パラメータ
コンボリューショナル
ネットワーク
リカレント
ネットワーク
敵対的生成
ネットワーク
強化学習 新しい種類の
ネットワーク
複雑化・多様化するモデル
27
LANGUAGE MODEL
Google論文
機械翻訳, 言語モデル
混合エキスパート: 超巨大なモデルを、多数のエ
キスパートに分散
Layer 1で各入力に対するエキスパートを選択、
そこにデータを送付
All-to-all通信
Mixture of Experts, 混合エキスパート
(*) N. Shazeer et al., Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer (MoE)
GPU 1
Expert 1
Expert 8
GPU 16
Expert 120
Expert 128
モデル
並列
MoE layer
GPU 1
Layer 1
GPU 16
データ
並列
GPU 1
Layer 2
GPU 16
データ
並列
28
RECOMMENDER
Alibaba論文
CTR(Click Through Rate)予測モデル
Embedding層のパラメータサイズ: 数10~数100GB
DGX-2: 16 GPUにパラメータ分散、モデル並列
Reduce and Broadcast
Very Large Sparse Embedding
(*) G. Zhou et al., Deep Interest Network for Click-Through Rate Prediction
モデル並列 データ並列
29
高密度化するGPUノードの問題と対策
30
高密度化するGPUノード
31
高密度GPUノードの問題
CPU: GPUのパワーバランスが変化
相対的にCPUパワー低下  CPUがボトルネックになる
対策 (予定):
CPUからGPUに、もっと処理をオフロードする (例: DALI)
CPUからGPUの操作回数を、削減する (cudaGraphLaunch)
32
現在のDLトレーニングのI/Oパイプライン
Loader
Decode Resize
Training
Images
480p
Labels
JPEG
480p
Augment
入力画像データは、CPUで前処理して、GPUに供給
CPUで実行 GPUで実行
Images
256x256
Images
224x224
color augment,
random crop,
mirror, etc.
33
GPUに最適化したI/Oパイプライン
前処理をGPUにオフロード
Loader
Resize
Training
Labels
AugmentDecode
CPUで実行 GPUで実行
Images
480p
JPEG
480p
Images
256x256
Images
224x224
color augment,
random crop,
mirror, etc.
DALI
OSSでリリース予定
34
GPUカーネルをまとめて投入
現在: GPUカーネルを個別に投入
• 各GPUカーネルの実行時間が短い
と、CPUからのカーネル投入で、性能
が律速される
将来: GPUカーネルをまとめて投入
• ワークフローをグラフとして構築、CPU
はこのグラフをGPUに投入し、GPUが
各カーネル実行を制御
cudaGraphLaunch
35
cudaGraphLaunch
ワークフロー・グラフを明示的に構築
36
cudaGraphLaunch
ワークフローを記録して、グラフを作成
37
まとめ
38
まとめ
• DGX-2の特徴
• DGX-2の性能・ユースケース
• 高密度化するGPUノードの問題と対策
DGX-2 を取り巻く GPU 最新技術情報

DGX-2 を取り巻く GPU 最新技術情報