Weitere ähnliche Inhalte Ähnlich wie 20170726 py data.tokyo (20) Mehr von ManaMurakami1 (9) 20170726 py data.tokyo2. 2
自己紹介
村上真奈(むらかみまな) / mmurakami@nvidia.com
• CUDAエンジニア+ディープラーニングSA
• ディープラーニング・CUDA技術サポートとか、いろいろ
埼玉県さいたま市
早稲田大学教育学部理学科数学⇒システム計画研究所⇒サムスン日本研究所⇒エヌビディア
画像処理(主に静止画)、ソフトの最適化とか、
プリクラとか放送機器とかテレビとか
2010年頃に初めてCUDAにふれる(CUDA1.XXとかの時代)
NVIDIAGPUComputing
NVIDIAJapan
@NVIDIAJapan
5. 6
エヌビディア
AI コンピューティングカンパニー
> 1993 年創業
> 創業者及び CEO ジェンスン ファン
> 従業員 11,000 人
> 2017 会計年度売上高 69億ドル (約 7700 億円)
> 時価総額 808億ドル (約 9兆円)
“World’s Best Performing CEOs” — Harvard Business
Review
“World’s Most Admired Companies” — Fortune
“America’s Greenest Companies” — Newsweek
“50 Smartest Companies” — MIT Tech Review
“Top 50 Best Places to Work” — Glassdoor
7. 8
2012 20142008 2010 2016 2018
48
36
12
0
24
60
72
Tesla
Fermi
Kepler
Maxwell
Pascal
混合精度演算
倍精度演算
3D メモリ
NVLink
GPU ロードマップ
SGEMM/W
Volta
混合精度演算
TensorCore
3D メモリ
NVLink2
8. 9
Tesla K20x (CC 3.5)
2688 CUDA Cores
FP64: 1.31 TF
FP32: 3.95 TF
FP16: …
INT8: …
GDDR5
384 bit width
6GB
250 GB/s
9. 10
Tesla P100 SXM2 (CC 6.0)
3584 CUDA Cores
FP64: 5.3 TF
FP32: 10.6 TF
FP16: 21.2 TF
INT8: …
HBM2
4096 bit width
16 GB
732 GB/s
10. 11
Tesla V100 (CC 7.0)
5120 CUDA Cores
640 Tensor Cores
FP64: 7.5 TF
FP32: 15 TF
DL:120 TOPS
HBM2
4096 bit width
16GB
900 GB/s
11. 12
Compute Capability (CC)
Kepler
CC 3.5
192 cores / SMX
Maxwell
CC 5.0
128 cores / SMM
Pascal
CC 6.0
64 cores / SMM
https://developer.nvidia.com/cuda-gpus
Volta
CC 7.0
64 cores / SMM
14. 15
SM (streaming multiprocessor)
▪ CUDA core
▪ GPUスレッドはこの上で動作
▪ Pascal: 64個
▪ Other units
▪ DP, LD/ST, SFU
▪ Register File (65,536 x 32bit)
▪ Shared Memory/L1 Cache
(64KB)
▪ Read-Only Cache(48KB)
21. 22
K80 M40 M4
P100
(SXM2)
P100
(PCIE)
P40 P4
GPU 2x GK210 GM200 GM206 GP100 GP100 GP102 GP104
CUDA core 4992(2496*2) 3072 1024 3584 3584 3840 2560
PEAK FP64 (TFLOPs) 2.9 NA NA 5.3 4.7 NA NA
PEAK FP32 (TFLOPs) 8.7 7 2.2 10.6 9.3 12 5.5
PEAK FP16 (TFLOPs) NA NA NA 21.2 18.7 NA NA
PEAK TIOPs NA NA NA NA NA 47 22
Memory Size 2x 12GB GDDR5 24 GB GDDR5 4 GB GDDR5 16 GB HBM2 16/12 GB HBM2 24 GB GDDR5 8 GB GDDR5
Memory BW 480 GB/s 288 GB/s 80 GB/s 732 GB/s 732/549 GB/s 346 GB/s 192 GB/s
Interconnect PCIe Gen3 PCIe Gen3 PCIe Gen3
NVLINK +
PCIe Gen3
PCIe Gen3 PCIe Gen3 PCIe Gen3
ECC Internal + GDDR5 GDDR5 GDDR5 Internal + HBM2 Internal + HBM2 GDDR5 GDDR5
Form Factor PCIE Dual Slot PCIE Dual Slot PCIE LP SXM2 PCIE Dual Slot PCIE Dual Slot PCIE LP
Power 300 W 250 W 50-75 W 300 W 250 W 250 W 50-75 W
Tesla製品一覧
たくさんあるが、どれを使えばよいのか?
25. 26
K80 M40 M4
P100
(SXM2)
P100
(PCIE)
P40 P4
GPU 2x GK210 GM200 GM206 GP100 GP100 GP102 GP104
CUDA core 4992(2496*2) 3072 1024 3584 3584 3840 2560
PEAK FP64 (TFLOPs) 2.9 NA NA 5.3 4.7 NA NA
PEAK FP32 (TFLOPs) 8.7 7 2.2 10.6 9.3 12 5.5
PEAK FP16 (TFLOPs) NA NA NA 21.2 18.7 NA NA
PEAK TIOPs NA NA NA NA NA 47 22
Memory Size 2x 12GB GDDR5 24 GB GDDR5 4 GB GDDR5 16 GB HBM2 16/12 GB HBM2 24 GB GDDR5 8 GB GDDR5
Memory BW 480 GB/s 288 GB/s 80 GB/s 732 GB/s 732/549 GB/s 346 GB/s 192 GB/s
Interconnect PCIe Gen3 PCIe Gen3 PCIe Gen3
NVLINK +
PCIe Gen3
PCIe Gen3 PCIe Gen3 PCIe Gen3
ECC Internal + GDDR5 GDDR5 GDDR5 Internal + HBM2 Internal + HBM2 GDDR5 GDDR5
Form Factor PCIE Dual Slot PCIE Dual Slot PCIE LP SXM2 PCIE Dual Slot PCIE Dual Slot PCIE LP
Power 300 W 250 W 50-75 W 300 W 250 W 250 W 50-75 W
Tesla製品一覧
推論 推論学習 学習
26. 27
K80 M40 M4
P100
(SXM2)
P100
(PCIE)
P40 P4
GPU 2x GK210 GM200 GM206 GP100 GP100 GP102 GP104
CUDA core 4992(2496*2) 3072 1024 3584 3584 3840 2560
PEAK FP64 (TFLOPs) 2.9 NA NA 5.3 4.7 NA NA
PEAK FP32 (TFLOPs) 8.7 7 2.2 10.6 9.3 12 5.5
PEAK FP16 (TFLOPs) NA NA NA 21.2 18.7 NA NA
PEAK TIOPs NA NA NA NA NA 47 22
Memory Size 2x 12GB GDDR5 24 GB GDDR5 4 GB GDDR5 16 GB HBM2 16/12 GB HBM2 24 GB GDDR5 8 GB GDDR5
Memory BW 480 GB/s 288 GB/s 80 GB/s 732 GB/s 732/549 GB/s 346 GB/s 192 GB/s
Interconnect PCIe Gen3 PCIe Gen3 PCIe Gen3
NVLINK +
PCIe Gen3
PCIe Gen3 PCIe Gen3 PCIe Gen3
ECC Internal + GDDR5 GDDR5 GDDR5 Internal + HBM2 Internal + HBM2 GDDR5 GDDR5
Form Factor PCIE Dual Slot PCIE Dual Slot PCIE LP SXM2 PCIE Dual Slot PCIE Dual Slot PCIE LP
Power 300 W 250 W 50-75 W 300 W 250 W 250 W 50-75 W
Tesla製品一覧
38. 44
NVIDIA ディープラーニング SDK
GPUで高速化されたディープラーニングのアプリケーションを設計、
開発する為の強力な開発ツールおよびライブラリ
NVIDIA GPUの為の高速なディープラーニング環境を保障
最新のディープラーニングアルゴリズムおよび、新ディープニュー
ラルネットワーク開発の為の線形代数サブルーチンを提供
マルチGPUおよび8GPU以上のマルチノード環境でも高速に
学習する事が可能
ディープラーニングの為の高性能GPUアクセラレータ
“ We are amazed by the steady stream
of improvements made to the NVIDIA
Deep Learning SDK and the speedups
that they deliver.”
— Frédéric Bastien, Team Lead (Theano) MILAdeveloper.nvidia.com/deep-learning-software
41. 47
developer.nvidia.com/cudnn
cuDNN 7: CNNの計算が2.5倍 RNNの計算が3倍高速に
0
100
200
300
400
500
600
700
K80 + cuDNN 6 P100 + cuDNN 6 V100 + cuDNN 7
Images/Second
Caffe2 performance (images/sec), Tesla K80 + cuDNN 6 (FP32), Tesla P100 +
cuDNN 6 (FP32), Tesla V100 + cuDNN 7 (FP16). ResNet50, Batch size: 64
0x
1x
2x
3x
4x
5x
6x
K80 + cuDNN 6 P100 + cuDNN 6 V100 + cuDNN 7
Speed-upvs.K80
MXNet performance (min/epoch), Tesla K80 + cuDNN 6 (FP32), Tesla P100 +
cuDNN 6 (FP32), Tesla V100 + cuDNN 7 (FP16). OpenNMT 662M seq2seq RNN
(http://opennmt.net/Models/)
2.5x Faster Training of CNNs 3x Faster Training of LSTM RNNs
43. 49
NCCL(NVIDIA Collective Collection Library)
マルチGPUおよびマルチノードの為の集合通信ライブラリ
all-gather, reduce, broadcast など標準的な集合通
信の処理をバンド幅が出るように最適化
シングルプロセスおよびマルチプロセスで使用する事が可能
NCCL1:マルチGPU対応(オープンソースプロジェクト)
• https://github.com/NVIDIA/nccl
NCCL2:マルチノード対応(coming soon)
https://developer.nvidia.com/nccl
ディープラーニング SDK
マルチノード:
インフィニバンド
IP Sockets
マルチGPU:
NVLink
PCIe
GPUトポロジの
自動検出
46. 52
NCCL2: マルチGPU および マルチノードでスケール
developer.nvidia.com/nccl
216.925
843.475
1684.79
3281.07
6569.6
0
1,000
2,000
3,000
4,000
5,000
6,000
7,000
8,000
0 8 16 24 32
NCCL 2
Images/Second
Near-Linear Multi-Node Scaling
Microsoft Cognitive Toolkit multi-node scaling performance (images/sec),
NVIDIA DGX-1 + cuDNN 6 (FP32), ResNet50, Batch size: 64
Images/Second
7x Faster Training on DGX vs. single GPU
Caffe2 multi-GPU performance (images/sec) DGX-1 + cuDNN 6 (FP32),
DGX-1V + cuDNN 7 (FP16). ResNet50, Batch size: 64
0
500
1,000
1,500
2,000
2,500
3,000
3,500
4,000
4,500
DGX-1 DGX-1V
1xP100
1xV100
8xP100
8xV100
52. 58
DIGITS 5
• イメージセグメンテーション(領域分割)に対応
• FCN(全畳込みニューラルネットワーク)を用いたセグメンテーショ
ンワークフローに対応
• ディープラーニング・モデルストア機能を追加
• 様々な種類の学習済みモデルをDIGITSのモデルストア
• からダウンロードし転移学習可能に
• DIGITSジョブのグループ機能
• ジョブをグループ化、結果を整理してより見やすく。
領域分割タスクに対応した新しいDIGITS
55. 63
DIGITS 6
• TensorFlowに対応
• TensorFlowによるモデルのトレーニング機能
• TensorBoardによる可視化機能
• GANのサポート
• GAN(Generative Adversarial Networks)モデルのトレーニング機能
• GAN 学習済みモデルをモデルストアで公開
TensorFlowに対応
61. 69
nvidia-docker+コンテナでアプリケーションを起動
GPU2 GPU3 GPU4 GPU6 GPU7
NVIDIA CUDA Driver
Dockerエンジン
GPU5GPU0 GPU1
ホストPC
GPU0 GPU1
CUDA Libraries
Dockerコンテナ1
CUDA 7.5 Runtime
アプリケーション1
GPU0 GPU1 GPU2
CUDA Libraries
Dockerコンテナ2
CUDA 8.0 Runtime
アプリケーション2
GPU0 GPU1 GPU2
CUDA Libraries
Dockerコンテナ3
CUDA 7.0 Runtime
アプリケーション3