SlideShare a Scribd company logo
1 of 47
Download to read offline
森野慎也, シニアCUDAエンジニア, エヌビディアジャパン, 2017/2/10
ディープラーニング・スーパーコンピュータの
応用について
2
NVIDIA DGX-1
AI スーパーコンピューター
170 TFLOPS | 8x Tesla P100 16GB | NVLink Hybrid Cube Mesh
2x Xeon | 8 TB RAID 0 | Quad IB 100Gbps, Dual 10GbE | 3U — 3200W
3https://www.youtube.com/watch?v=B0pt6gpgCXQ
4
DGX-1 ダイアグラム
CPU
2x Intel® Xeon® E5-2698 v4,
20-core, 2.2GHz
GPU 8x Tesla P100 SXM2 16GB
DRAM
512 GB
2133 MHz 32 GB DDR4 LRDIMM
Storage
(OS) 1x 480 GB, 6 Gb/s, SATA 3.0 SSD
(Data) 4x 1.92 TB, 6 Gb/s, SATA 3.0
SSD
5
TESLA P100
世界最速の演算ノードを実現する新しいGPUアーキテクチャ
Pascalアーキテクチャ NVLink HBM2 Stacked Memory Page Migration Engine
PCIe
Switch
PCIe
Switch
CPU CPU
最高の演算性能 最大限のスケーラビリティをもたらす
GPU間のインターコネクト
演算とメモリを一つのパッケージに 512 TBの仮想メモリによる
シンプルな並列プログラミング
Unified Memory
CPU
Tesla
P100
6NVIDIA CONFIDENTIAL. DO NOT DISTRIBUTE.
すべてにおける大きな飛躍
3x GPU Mem BW
K40
Bandwidth
1x
2x
3x P100
M40
5x GPU-GPU BW
K40
Bandwidth(GB/Sec)
40
80
120
160 P100
M40
3x Compute
Teraflops(FP32/FP16)
5
10
15
20
K40
P100
(FP32)
P100
(FP16)
M40
7
Tesla P100 GPU : GP100
56 SM
3584 CUDAコア
倍精度 5.3 TFLOPS
単精度 10.6 TFLOPS
半精度 21.2 TFLOPS
16 GB HBM2
バンド幅 720 GB/s
8
IEEE 754 Floating Point on GP100
3つのサイズと3つのスピード, すべて高速
Feature Half precision Single precision Double precision
レイアウト s5.10 s8.23 s11.52
命令発行 2演算 / 1 clock 1演算 / 1 clock 1 演算 / 2 clocks
Subnormalサポート Yes Yes Yes
Atomic加算 Yes Yes Yes
9
HBM2 :バンド幅は 720 GB/s
ECCサポート
スペーサ
4層のHBM2
スタック
バンプ
シリコン
キャリア
GPU
基板
10
DGX-1 DEMO 1
Tesla P100のパフォーマンス
11
行列演算の例
- 行列の次元は、(9600,9600)
- 正規直交系の行列を作成。
Gram-Schmidt Process
- 行列積をとることで、単位行列。
GEMMの性能を見る
𝐼 = 𝐴 𝐴 𝑇
12
演算性能(FP32)
GPU: Tesla P100-SXM2-16GB, CC=6.0, 3584 CUDA cores.
GPU: Tesla P100-SXM2-16GB, CC=6.0, 3584 CUDA cores.
GPU: Tesla P100-SXM2-16GB, CC=6.0, 3584 CUDA cores.
(略)
GPU: Tesla P100-SXM2-16GB, CC=6.0, 3584 CUDA cores.
dim=(9600, 9600), precision: fp32
Generating orthogonal matrix.
init: err(diag)=3.304e+03, err(off-diag)=2.512e+03
0: err(diag)=1.192e-06, err(off-diag)=1.780e-01
1: err(diag)=1.192e-06, err(off-diag)=3.960e-06
2: err(diag)=1.192e-06, err(off-diag)=1.203e-07
3: err(diag)=1.311e-06, err(off-diag)=1.418e-07
4: err(diag)=1.431e-06, err(off-diag)=1.216e-07
done.
prepare ... 0 1 2 3 4 5 6 7
GPU0 GPU1 GPU2 GPU3 GPU4 GPU5 GPU6 GPU7
Perf [GFLOPS] 9956.4 9928.5 9949.3 9948.4 9815.4 9963.8 9952.4 9974.8
Time [ms] 177.72 178.22 177.85 177.86 180.28 177.59 177.79 177.39
13
演算性能(FP64)
GPU: Tesla P100-SXM2-16GB, CC=6.0, 3584 CUDA cores.
GPU: Tesla P100-SXM2-16GB, CC=6.0, 3584 CUDA cores.
GPU: Tesla P100-SXM2-16GB, CC=6.0, 3584 CUDA cores.
(略)
GPU: Tesla P100-SXM2-16GB, CC=6.0, 3584 CUDA cores.
dim=(9600, 9600), precision: fp64
Generating orthogonal matrix.
init: err(diag)=3.304e+03, err(off-diag)=2.512e+03
0: err(diag)=2.220e-15, err(off-diag)=4.797e-09
1: err(diag)=2.665e-15, err(off-diag)=3.596e-16
2: err(diag)=2.220e-15, err(off-diag)=2.525e-16
3: err(diag)=2.665e-15, err(off-diag)=2.254e-16
4: err(diag)=2.442e-15, err(off-diag)=2.249e-16
done.
prepare ... 0 1 2 3 4 5 6 7
GPU0 GPU1 GPU2 GPU3 GPU4 GPU5 GPU6 GPU7
Perf [GFLOPS] 4853.2 4851.0 4961.6 4890.0 4842.0 4973.6 4880.2 4882.9
Time [ms] 364.60 364.77 356.63 361.86 365.44 355.77 362.58 362.38
freeing resources.
14
演算性能(FP64)
(略)
init: err(diag)=3.304e+03, err(off-diag)=2.512e+03
(略)
4: err(diag)=1.431e-06, err(off-diag)=1.216e-07
done.
GPU0 GPU1 GPU2 GPU3 GPU4 GPU5 GPU6 GPU7
Hgemm : (math on FP16)
Perf [GFLOPS] 19192.8 19132.2 19225.2 19214.1 19227.7 19220.5 19240.0 19235.7
Time [ms] 92.19 92.49 92.04 92.09 92.03 92.06 91.97 91.99
Err(diag) 2.8e-01 2.8e-01 2.8e-01 2.8e-01 2.8e-01 2.8e-01 2.8e-01 2.8e-01
Err(off-diag) 1.1e-03 1.1e-03 1.1e-03 1.1e-03 1.1e-03 1.1e-03 1.1e-03 1.1e-03
SgemmEx : R16 x R16 = R16 (math on FP32)
Perf [GFLOPS] 9900.2 9855.1 9901.4 9897.4 9901.4 9897.3 9893.2 9899.8
Time [ms] 178.73 179.55 178.71 178.78 178.71 178.78 178.86 178.74
Err(diag) 3.2e-05 3.2e-05 3.2e-05 3.2e-05 3.2e-05 3.2e-05 3.2e-05 3.2e-05
Err(off-diag) 1.9e-05 1.9e-05 1.9e-05 1.9e-05 1.9e-05 1.9e-05 1.9e-05 1.9e-05
SgemmEx : R16 x R16) = R32 (math on FP32)
Perf [GFLOPS] 9901.9 9860.0 9898.7 9896.9 9902.8 9895.6 9886.2 9901.5
Time [ms] 178.70 179.46 178.76 178.79 178.68 178.81 178.98 178.71
Err(diag) 3.2e-05 3.2e-05 3.2e-05 3.2e-05 3.2e-05 3.2e-05 3.2e-05 3.2e-05
Err(off-diag) 1.9e-05 1.9e-05 1.9e-05 1.9e-05 1.9e-05 1.9e-05 1.9e-05 1.9e-05
freeing resources.
17
18
NVLink
19
Tesla P100 物理コネクタ
NVLink接続も含む
20
NVLink
P100 一つあたり、4リンク。
94% のバンド幅効率
対向するGPUに対して、read/writes/atomics をサポート
NVLinkをサポートするCPUからのread/write アクセス
複数のリンクを束ねることで、より高いバンド幅
通信レイテンシの削減
NVLink on Tesla P100
40 GB/s
40 GB/s
40 GB/s
40 GB/s
21
DGX-1 ダイアグラム
CPU
2x Intel® Xeon® E5-2698 v4,
20-core, 2.2GHz
GPU 8x Tesla P100 SXM2 16GB
DRAM
512 GB
2133 MHz 32 GB DDR4 LRDIMM
Storage
(OS) 1x 480 GB, 6 Gb/s, SATA 3.0 SSD
(Data) 4x 1.92 TB, 6 Gb/s, SATA 3.0
SSD
22
DGX-1 DEMO 2
NVLink
23
NCCLの実装
• 例) 1 CPU と 4 GPUs (PCIe)
リングアルゴリズム
リング上、もしくは、多くのトポロジー上で、有効にバンド幅を活かす
コレクティブの実装は、1つ、もしくは、それ以上の個数のリングで、表すことが
できる。s [P. Patarasuk and X. Yuan]
24
Broadcast
データをすべてのGPUに送出
25
Broadcast
片方向リングを利用した場合
GPU0 GPU1 GPU2 GPU3
26
Broadcast
Step 1: Δt = N/B
N: bytes to broadcast
B: bandwidth of each link
片方向リングを利用した場合
GPU0 GPU1 GPU2 GPU3
27
Broadcast
Step 1: Δt = N/B
Step 2: Δt = N/B
N: bytes to broadcast
B: bandwidth of each link
片方向リングを利用した場合
GPU0 GPU1 GPU2 GPU3
28
Broadcast
Step 1: Δt = N/B
Step 2: Δt = N/B
Step 3: Δt = N/B
N: bytes to broadcast
B: bandwidth of each link
片方向リングを利用した場合
GPU0 GPU1 GPU2 GPU3
29
Broadcast
Step 1: Δt = N/B
Step 2: Δt = N/B
Step 3: Δt = N/B
Total time: (K-1)N/B
N: bytes to broadcast
B: bandwidth of each link
K: number of GPUs
片方向リングを利用した場合
GPU0 GPU1 GPU2 GPU3
30
Broadcast
データをS個のメッセージに分解
片方向リングを利用した場合
GPU0 GPU1 GPU2 GPU3
31
Broadcast
データをS個のメッセージに分解
Step 1: Δt = N/BS
片方向リングを利用した場合
GPU0 GPU1 GPU2 GPU3
32
Broadcast
データをS個のメッセージに分解
Step 1: Δt = N/BS
Step 2: Δt = N/BS
片方向リングを利用した場合
GPU0 GPU1 GPU2 GPU3
33
Broadcast
データをS個のメッセージに分解
Step 1: Δt = N/BS
Step 2: Δt = N/BS
Step 3: Δt = N/BS
片方向リングを利用した場合
GPU0 GPU1 GPU2 GPU3
34
Broadcast
データをS個のメッセージに分解
Step 1: Δt = N/BS
Step 2: Δt = N/BS
Step 3: Δt = N/BS
Step 4: Δt = N/BS
片方向リングを利用した場合
GPU0 GPU1 GPU2 GPU3
35
Broadcast
データをS個のメッセージに分解
Step 1: Δt = N/BS
Step 2: Δt = N/BS
Step 3: Δt = N/BS
Step 4: Δt = N/BS
Step 5: Δt = N/BS
片方向リングを利用した場合
GPU0 GPU1 GPU2 GPU3
36
Broadcast
データをS個のメッセージに分解
Step 1: Δt = N/BS
Step 2: Δt = N/BS
Step 3: Δt = N/BS
Step 4: Δt = N/BS
Step 4: Δt = N/BS
...
Total time:
(S+k-2)N/BS  N/B
片方向リングを利用した場合
GPU0 GPU1 GPU2 GPU3
37
Broadcast 性能値
# bytes N type root time algbw busbw delta
10000000 10000000 char 0 0.317 31.52 31.52 0e+00
10000000 10000000 char 1 0.316 31.61 31.61 0e+00
10000000 10000000 char 2 0.300 33.28 33.28 0e+00
10000000 10000000 char 3 0.310 32.22 32.22 0e+00
10000000 10000000 char 4 0.318 31.49 31.49 0e+00
10000000 10000000 char 5 0.325 30.73 30.73 0e+00
10000000 10000000 char 6 0.312 32.04 32.04 0e+00
10000000 10000000 char 7 0.318 31.42 31.42 0e+00
10000000 2500000 int 0 0.309 32.32 32.32 0e+00
10000000 2500000 int 1 0.317 31.54 31.54 0e+00
10000000 2500000 int 2 0.306 32.71 32.71 0e+00
10000000 2500000 int 3 0.320 31.21 31.21 0e+00
10000000 2500000 int 4 0.322 31.05 31.05 0e+00
10000000 2500000 int 5 0.321 31.19 31.19 0e+00
10000000 2500000 int 6 0.311 32.15 32.15 0e+00
10000000 2500000 int 7 0.317 31.59 31.59 0e+00
10000000 5000000 half 0 0.313 31.95 31.95 0e+00
10000000 5000000 half 1 0.312 32.01 32.01 0e+00
38
DGX-1 ソフトウエアスタック
39
NVLinkによる、リニアなマルチGPUスケーリング
1.0x
2.0x
3.0x
4.0x
5.0x
6.0x
7.0x
8.0x
1GPU 2GPU 4GPU 8GPU
AlexnetOWT
DGX-1
P100 PCIE
Deepmark test with NVCaffe. AlexnetOWT use batch 128, Incep-v3/ResNet-50 use batch 32, weak scaling,
P100 and DGX-1 are measured, FP32 training, software optimization in progress, CUDA8/cuDNN5.1, Ubuntu 14.04
1.0x
2.0x
3.0x
4.0x
5.0x
6.0x
7.0x
8.0x
1GPU 2GPU 4GPU 8GPU
Incep-v3
DGX-1
P100 PCIE
1.0x
2.0x
3.0x
4.0x
5.0x
6.0x
7.0x
8.0x
1GPU 2GPU 4GPU 8GPU
ResNet-50
DGX-1
P100 PCIE
Speedup
2.3x
1.3x
1.5x
40
Multi-GPU performance with NCCL
NVIDIA DGX-1, Chainer with NCCL patch
0
2
4
6
8
0 2 4 6 8
Number of GPUs
Scalability
ResNet (152 layers)VGG-D (16 layers)AlexNet (7 layers)
0
2
4
6
8
0 2 4 6 8
0
2
4
6
8
0 2 4 6 8
NCCL (DGX-1)NCCL (1-ring)Gather & Bcast
[Batch size per GPU] AlexNet:768, VGG-D:32, ResNet:12
41
Multi-GPU performance with NCCL
NVIDIA DGX-1, Chainer 1.17.0 with NCCL patch
0
0.5
1
1.5
2
2.5
…
G&B
NCCL
(1-ring)
NCCL
(DGX-1)
G&B
NCCL
(1-ring)
NCCL
(DGX-1)
G&B
NCCL
(1-ring)
NCCL
(DGX-1)
1 GPU 2 GPUs 4 GPUs 8 GPUs
Relativetimeto1GPU
Time per one batch (VGG-D)
Update
Allreduce
Backward
Forward
42
すでに提供されているコンテナ
2017/2/8時点
43
78
5,300
13,000
0
2,000
4,000
6,000
8,000
10,000
12,000
14,000
CPU Server Server with 8x Tesla M40 DGX-1
Microsoft cognitive toolkit 170X Faster on dgx-1
Toolkit Accelerates 170x Faster on DGX-1
images/sec
170x
Faster
vs CPU server
60x
Faster
vs CPU server
Latest Framework Fully Optimized for NVIDIA DGX-1
AlexNet training batch size 128,
CNTK 2.0b2 for CPU. CNTK 2.0b3 (to be released) includes cuDNN 5.1.8, NCCL 1.6.1, NVLink enabled
44
NVIDIA DOCKER コンテナ
45
NVIDIA Dockerによる、GPUのアイソレーション
$ NV_GPU=0,1 nvidia-docker run -ti --rm compute.nvidia.com/nvidia/cuda nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 361.93.02 Driver Version: 361.93.02 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla P100-SXM2... Off | 0000:06:00.0 Off | 0 |
| N/A 36C P0 30W / 300W | 0MiB / 16280MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 Tesla P100-SXM2... Off | 0000:07:00.0 Off | 0 |
| N/A 33C P0 33W / 300W | 0MiB / 16280MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
46NVIDIA CONFIDENTIAL. DO NOT DISTRIBUTE.
複数のフレームワークを、同時に使う
チューニングされたDockerコンテナ
DGX-1
コンテナ化されたアプリケーション
TF Tuned SW
NVIDIA Docker
CNTK Tuned SW
NVIDIA Docker
Caffe Tuned SW
NVIDIA Docker
Torch Tuned SW
NVIDIA Docker
CUDA RTCUDA RTCUDA RTCUDA RT
Linux Kernel + CUDA Driver
47
• すぐに活用できます
— plug-and-play,
AIフレームワークのサポート
• ソフトウエアスタック全域にわたる、
最適化
• フレームワーク混在環境
—コンテナ化
• NVIDIAのエクスパートへの
直接的なアクセス
NVIDIA DGX-1 SOFTWARE STACK
完全に統合されたDLプラットフォーム 短い時間で価値を作り上げるために、
NVIDIAのR&Dの成果を活用してください。
49
Back up

More Related Content

What's hot

Chainer で Tensor コア (fp16) を使いこなす
Chainer で Tensor コア (fp16) を使いこなすChainer で Tensor コア (fp16) を使いこなす
Chainer で Tensor コア (fp16) を使いこなすNVIDIA Japan
 
Maxwell と Java CUDAプログラミング
Maxwell と Java CUDAプログラミングMaxwell と Java CUDAプログラミング
Maxwell と Java CUDAプログラミングNVIDIA Japan
 
[GTCJ2018] Optimizing Deep Learning with Chainer PFN得居誠也
[GTCJ2018] Optimizing Deep Learning with Chainer PFN得居誠也[GTCJ2018] Optimizing Deep Learning with Chainer PFN得居誠也
[GTCJ2018] Optimizing Deep Learning with Chainer PFN得居誠也Preferred Networks
 
20170329_BigData基盤研究会#7
20170329_BigData基盤研究会#720170329_BigData基盤研究会#7
20170329_BigData基盤研究会#7Kohei KaiGai
 
NVIDIA ディープラーニング入門
NVIDIA ディープラーニング入門NVIDIA ディープラーニング入門
NVIDIA ディープラーニング入門Seong-Hun Choe
 
(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速するKohei KaiGai
 
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介Preferred Networks
 
20210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.020210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.0Kohei KaiGai
 
TPC-DSから学ぶPostgreSQLの弱点と今後の展望
TPC-DSから学ぶPostgreSQLの弱点と今後の展望TPC-DSから学ぶPostgreSQLの弱点と今後の展望
TPC-DSから学ぶPostgreSQLの弱点と今後の展望Kohei KaiGai
 
A100 GPU 搭載! P4d インスタンス 使いこなしのコツ
A100 GPU 搭載! P4d インスタンス使いこなしのコツA100 GPU 搭載! P4d インスタンス使いこなしのコツ
A100 GPU 搭載! P4d インスタンス 使いこなしのコツKuninobu SaSaki
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」ManaMurakami1
 
機械学習 / Deep Learning 大全 (4) GPU編
機械学習 / Deep Learning 大全 (4) GPU編機械学習 / Deep Learning 大全 (4) GPU編
機械学習 / Deep Learning 大全 (4) GPU編Daiyu Hatakeyama
 
1070: CUDA プログラミング入門
1070: CUDA プログラミング入門1070: CUDA プログラミング入門
1070: CUDA プログラミング入門NVIDIA Japan
 
Volta は、Chainer で使えるの?
Volta は、Chainer で使えるの?Volta は、Chainer で使えるの?
Volta は、Chainer で使えるの?NVIDIA Japan
 
pgconfasia2016 lt ssd2gpu
pgconfasia2016 lt ssd2gpupgconfasia2016 lt ssd2gpu
pgconfasia2016 lt ssd2gpuKohei KaiGai
 
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsPL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsKohei KaiGai
 
1072: アプリケーション開発を加速するCUDAライブラリ
1072: アプリケーション開発を加速するCUDAライブラリ1072: アプリケーション開発を加速するCUDAライブラリ
1072: アプリケーション開発を加速するCUDAライブラリNVIDIA Japan
 
[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法
[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法
[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法Deep Learning Lab(ディープラーニング・ラボ)
 
EnrootとPyxisで快適コンテナ生活
EnrootとPyxisで快適コンテナ生活EnrootとPyxisで快適コンテナ生活
EnrootとPyxisで快適コンテナ生活Kuninobu SaSaki
 
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜京大 マイコンクラブ
 

What's hot (20)

Chainer で Tensor コア (fp16) を使いこなす
Chainer で Tensor コア (fp16) を使いこなすChainer で Tensor コア (fp16) を使いこなす
Chainer で Tensor コア (fp16) を使いこなす
 
Maxwell と Java CUDAプログラミング
Maxwell と Java CUDAプログラミングMaxwell と Java CUDAプログラミング
Maxwell と Java CUDAプログラミング
 
[GTCJ2018] Optimizing Deep Learning with Chainer PFN得居誠也
[GTCJ2018] Optimizing Deep Learning with Chainer PFN得居誠也[GTCJ2018] Optimizing Deep Learning with Chainer PFN得居誠也
[GTCJ2018] Optimizing Deep Learning with Chainer PFN得居誠也
 
20170329_BigData基盤研究会#7
20170329_BigData基盤研究会#720170329_BigData基盤研究会#7
20170329_BigData基盤研究会#7
 
NVIDIA ディープラーニング入門
NVIDIA ディープラーニング入門NVIDIA ディープラーニング入門
NVIDIA ディープラーニング入門
 
(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する
 
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
 
20210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.020210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.0
 
TPC-DSから学ぶPostgreSQLの弱点と今後の展望
TPC-DSから学ぶPostgreSQLの弱点と今後の展望TPC-DSから学ぶPostgreSQLの弱点と今後の展望
TPC-DSから学ぶPostgreSQLの弱点と今後の展望
 
A100 GPU 搭載! P4d インスタンス 使いこなしのコツ
A100 GPU 搭載! P4d インスタンス使いこなしのコツA100 GPU 搭載! P4d インスタンス使いこなしのコツ
A100 GPU 搭載! P4d インスタンス 使いこなしのコツ
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
 
機械学習 / Deep Learning 大全 (4) GPU編
機械学習 / Deep Learning 大全 (4) GPU編機械学習 / Deep Learning 大全 (4) GPU編
機械学習 / Deep Learning 大全 (4) GPU編
 
1070: CUDA プログラミング入門
1070: CUDA プログラミング入門1070: CUDA プログラミング入門
1070: CUDA プログラミング入門
 
Volta は、Chainer で使えるの?
Volta は、Chainer で使えるの?Volta は、Chainer で使えるの?
Volta は、Chainer で使えるの?
 
pgconfasia2016 lt ssd2gpu
pgconfasia2016 lt ssd2gpupgconfasia2016 lt ssd2gpu
pgconfasia2016 lt ssd2gpu
 
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsPL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
 
1072: アプリケーション開発を加速するCUDAライブラリ
1072: アプリケーション開発を加速するCUDAライブラリ1072: アプリケーション開発を加速するCUDAライブラリ
1072: アプリケーション開発を加速するCUDAライブラリ
 
[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法
[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法
[Track2-2] 最新のNVIDIA AmpereアーキテクチャによるNVIDIA A100 TensorコアGPUの特長とその性能を引き出す方法
 
EnrootとPyxisで快適コンテナ生活
EnrootとPyxisで快適コンテナ生活EnrootとPyxisで快適コンテナ生活
EnrootとPyxisで快適コンテナ生活
 
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜
 

Viewers also liked

Chainer meetup20151014
Chainer meetup20151014Chainer meetup20151014
Chainer meetup20151014Jiro Nishitoba
 
Chainer Meetup LT (Alpaca)
Chainer Meetup LT (Alpaca)Chainer Meetup LT (Alpaca)
Chainer Meetup LT (Alpaca)Jun-ya Norimatsu
 
A Chainer MeetUp Talk
A Chainer MeetUp TalkA Chainer MeetUp Talk
A Chainer MeetUp TalkYusuke Oda
 
Chainer meetup
Chainer meetupChainer meetup
Chainer meetupkikusu
 
Chainer meetup lt
Chainer meetup ltChainer meetup lt
Chainer meetup ltAce12358
 
Lighting talk chainer hands on
Lighting talk chainer hands onLighting talk chainer hands on
Lighting talk chainer hands onOgushi Masaya
 
Chainer Development Plan 2015/12
Chainer Development Plan 2015/12Chainer Development Plan 2015/12
Chainer Development Plan 2015/12Seiya Tokui
 
Introduction to DEEPstation the GUI Deep learning environment for chainer
Introduction to DEEPstation the GUI Deep learning environment for chainerIntroduction to DEEPstation the GUI Deep learning environment for chainer
Introduction to DEEPstation the GUI Deep learning environment for chainerRyo Shimizu
 
ボケるRNNを学習したい (Chainer meetup 01)
ボケるRNNを学習したい (Chainer meetup 01)ボケるRNNを学習したい (Chainer meetup 01)
ボケるRNNを学習したい (Chainer meetup 01)Motoki Sato
 
Capitalicoでのchainer 1.1 → 1.5 バージョンアップ事例
Capitalicoでのchainer 1.1 → 1.5 バージョンアップ事例Capitalicoでのchainer 1.1 → 1.5 バージョンアップ事例
Capitalicoでのchainer 1.1 → 1.5 バージョンアップ事例Jun-ya Norimatsu
 
Chainer Contribution Guide
Chainer Contribution GuideChainer Contribution Guide
Chainer Contribution GuideKenta Oono
 
深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデルYuta Kashino
 
ディープラーニングにおける学習の高速化の重要性とその手法
ディープラーニングにおける学習の高速化の重要性とその手法ディープラーニングにおける学習の高速化の重要性とその手法
ディープラーニングにおける学習の高速化の重要性とその手法Yuko Fujiyama
 
Towards Chainer v1.5
Towards Chainer v1.5Towards Chainer v1.5
Towards Chainer v1.5Seiya Tokui
 
Chainer Update v1.8.0 -> v1.10.0+
Chainer Update v1.8.0 -> v1.10.0+Chainer Update v1.8.0 -> v1.10.0+
Chainer Update v1.8.0 -> v1.10.0+Seiya Tokui
 
深層学習ライブラリの環境問題Chainer Meetup2016 07-02
深層学習ライブラリの環境問題Chainer Meetup2016 07-02深層学習ライブラリの環境問題Chainer Meetup2016 07-02
深層学習ライブラリの環境問題Chainer Meetup2016 07-02Yuta Kashino
 
俺のtensorが全然flowしないのでみんなchainer使おう by DEEPstation
俺のtensorが全然flowしないのでみんなchainer使おう by DEEPstation俺のtensorが全然flowしないのでみんなchainer使おう by DEEPstation
俺のtensorが全然flowしないのでみんなchainer使おう by DEEPstationYusuke HIDESHIMA
 
Chainerを使って細胞を数えてみた
Chainerを使って細胞を数えてみたChainerを使って細胞を数えてみた
Chainerを使って細胞を数えてみたsamacoba1983
 

Viewers also liked (20)

Chainer meetup20151014
Chainer meetup20151014Chainer meetup20151014
Chainer meetup20151014
 
Chainer Meetup LT (Alpaca)
Chainer Meetup LT (Alpaca)Chainer Meetup LT (Alpaca)
Chainer Meetup LT (Alpaca)
 
A Chainer MeetUp Talk
A Chainer MeetUp TalkA Chainer MeetUp Talk
A Chainer MeetUp Talk
 
Chainer meetup
Chainer meetupChainer meetup
Chainer meetup
 
Chainer meetup lt
Chainer meetup ltChainer meetup lt
Chainer meetup lt
 
Lighting talk chainer hands on
Lighting talk chainer hands onLighting talk chainer hands on
Lighting talk chainer hands on
 
Chainer Development Plan 2015/12
Chainer Development Plan 2015/12Chainer Development Plan 2015/12
Chainer Development Plan 2015/12
 
Introduction to DEEPstation the GUI Deep learning environment for chainer
Introduction to DEEPstation the GUI Deep learning environment for chainerIntroduction to DEEPstation the GUI Deep learning environment for chainer
Introduction to DEEPstation the GUI Deep learning environment for chainer
 
ボケるRNNを学習したい (Chainer meetup 01)
ボケるRNNを学習したい (Chainer meetup 01)ボケるRNNを学習したい (Chainer meetup 01)
ボケるRNNを学習したい (Chainer meetup 01)
 
Capitalicoでのchainer 1.1 → 1.5 バージョンアップ事例
Capitalicoでのchainer 1.1 → 1.5 バージョンアップ事例Capitalicoでのchainer 1.1 → 1.5 バージョンアップ事例
Capitalicoでのchainer 1.1 → 1.5 バージョンアップ事例
 
Chainer Contribution Guide
Chainer Contribution GuideChainer Contribution Guide
Chainer Contribution Guide
 
深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル
 
ディープラーニングにおける学習の高速化の重要性とその手法
ディープラーニングにおける学習の高速化の重要性とその手法ディープラーニングにおける学習の高速化の重要性とその手法
ディープラーニングにおける学習の高速化の重要性とその手法
 
LT@Chainer Meetup
LT@Chainer MeetupLT@Chainer Meetup
LT@Chainer Meetup
 
Towards Chainer v1.5
Towards Chainer v1.5Towards Chainer v1.5
Towards Chainer v1.5
 
Chainer Update v1.8.0 -> v1.10.0+
Chainer Update v1.8.0 -> v1.10.0+Chainer Update v1.8.0 -> v1.10.0+
Chainer Update v1.8.0 -> v1.10.0+
 
CuPy解説
CuPy解説CuPy解説
CuPy解説
 
深層学習ライブラリの環境問題Chainer Meetup2016 07-02
深層学習ライブラリの環境問題Chainer Meetup2016 07-02深層学習ライブラリの環境問題Chainer Meetup2016 07-02
深層学習ライブラリの環境問題Chainer Meetup2016 07-02
 
俺のtensorが全然flowしないのでみんなchainer使おう by DEEPstation
俺のtensorが全然flowしないのでみんなchainer使おう by DEEPstation俺のtensorが全然flowしないのでみんなchainer使おう by DEEPstation
俺のtensorが全然flowしないのでみんなchainer使おう by DEEPstation
 
Chainerを使って細胞を数えてみた
Chainerを使って細胞を数えてみたChainerを使って細胞を数えてみた
Chainerを使って細胞を数えてみた
 

Similar to 機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について

【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今Developers Summit
 
200625material naruse
200625material naruse200625material naruse
200625material naruseRCCSRENKEI
 
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境智啓 出川
 
GPUディープラーニング最新情報
GPUディープラーニング最新情報GPUディープラーニング最新情報
GPUディープラーニング最新情報ReNom User Group
 
DGX-2 を取り巻く GPU 最新技術情報
DGX-2 を取り巻く GPU 最新技術情報DGX-2 を取り巻く GPU 最新技術情報
DGX-2 を取り巻く GPU 最新技術情報NVIDIA Japan
 
【関東GPGPU勉強会#4】GTX 1080でComputer Vision アルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Vision アルゴリズムを色々動かしてみるYasuhiro Yoshimura
 
INF-002_Azure IaaS 最新動向
INF-002_Azure IaaS 最新動向INF-002_Azure IaaS 最新動向
INF-002_Azure IaaS 最新動向decode2016
 
【de:code 2020】 AI とデータ サイエンスを加速する NVIDIA の最新 GPU アーキテクチャ
【de:code 2020】 AI とデータ サイエンスを加速する NVIDIA の最新 GPU アーキテクチャ【de:code 2020】 AI とデータ サイエンスを加速する NVIDIA の最新 GPU アーキテクチャ
【de:code 2020】 AI とデータ サイエンスを加速する NVIDIA の最新 GPU アーキテクチャ日本マイクロソフト株式会社
 
NVIDIA deep learning最新情報in沖縄
NVIDIA deep learning最新情報in沖縄NVIDIA deep learning最新情報in沖縄
NVIDIA deep learning最新情報in沖縄Tak Izaki
 
[db analytics showcase Sapporo 2017] B14: GPU コンピューティング最前線 by エヌビディア 佐々木邦暢
[db analytics showcase Sapporo 2017] B14: GPU コンピューティング最前線 by エヌビディア 佐々木邦暢[db analytics showcase Sapporo 2017] B14: GPU コンピューティング最前線 by エヌビディア 佐々木邦暢
[db analytics showcase Sapporo 2017] B14: GPU コンピューティング最前線 by エヌビディア 佐々木邦暢Insight Technology, Inc.
 
NVIDIA GPU 技術最新情報
NVIDIA GPU 技術最新情報NVIDIA GPU 技術最新情報
NVIDIA GPU 技術最新情報IDC Frontier
 
MII conference177 nvidia
MII conference177 nvidiaMII conference177 nvidia
MII conference177 nvidiaTak Izaki
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...VirtualTech Japan Inc.
 
20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LTKohei KaiGai
 
Router board勉強会vol2(配布用)
Router board勉強会vol2(配布用)Router board勉強会vol2(配布用)
Router board勉強会vol2(配布用)milk hanakara
 
High speed-pc-router 201505
High speed-pc-router 201505High speed-pc-router 201505
High speed-pc-router 201505ykuga
 
Deep Learning Lab MeetUp 学習編 AzureインフラとBatch AI
Deep Learning Lab MeetUp 学習編 AzureインフラとBatch AIDeep Learning Lab MeetUp 学習編 AzureインフラとBatch AI
Deep Learning Lab MeetUp 学習編 AzureインフラとBatch AI喜智 大井
 
GTC 2020 発表内容まとめ
GTC 2020 発表内容まとめGTC 2020 発表内容まとめ
GTC 2020 発表内容まとめNVIDIA Japan
 
GTC 2020 発表内容まとめ
GTC 2020 発表内容まとめGTC 2020 発表内容まとめ
GTC 2020 発表内容まとめAya Owosekun
 
Getting Started with Jetson Nano
Getting Started with Jetson NanoGetting Started with Jetson Nano
Getting Started with Jetson NanoNVIDIA Japan
 

Similar to 機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について (20)

【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今
 
200625material naruse
200625material naruse200625material naruse
200625material naruse
 
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
2015年度GPGPU実践基礎工学 第14回 GPGPU組込開発環境
 
GPUディープラーニング最新情報
GPUディープラーニング最新情報GPUディープラーニング最新情報
GPUディープラーニング最新情報
 
DGX-2 を取り巻く GPU 最新技術情報
DGX-2 を取り巻く GPU 最新技術情報DGX-2 を取り巻く GPU 最新技術情報
DGX-2 を取り巻く GPU 最新技術情報
 
【関東GPGPU勉強会#4】GTX 1080でComputer Vision アルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Vision アルゴリズムを色々動かしてみる
 
INF-002_Azure IaaS 最新動向
INF-002_Azure IaaS 最新動向INF-002_Azure IaaS 最新動向
INF-002_Azure IaaS 最新動向
 
【de:code 2020】 AI とデータ サイエンスを加速する NVIDIA の最新 GPU アーキテクチャ
【de:code 2020】 AI とデータ サイエンスを加速する NVIDIA の最新 GPU アーキテクチャ【de:code 2020】 AI とデータ サイエンスを加速する NVIDIA の最新 GPU アーキテクチャ
【de:code 2020】 AI とデータ サイエンスを加速する NVIDIA の最新 GPU アーキテクチャ
 
NVIDIA deep learning最新情報in沖縄
NVIDIA deep learning最新情報in沖縄NVIDIA deep learning最新情報in沖縄
NVIDIA deep learning最新情報in沖縄
 
[db analytics showcase Sapporo 2017] B14: GPU コンピューティング最前線 by エヌビディア 佐々木邦暢
[db analytics showcase Sapporo 2017] B14: GPU コンピューティング最前線 by エヌビディア 佐々木邦暢[db analytics showcase Sapporo 2017] B14: GPU コンピューティング最前線 by エヌビディア 佐々木邦暢
[db analytics showcase Sapporo 2017] B14: GPU コンピューティング最前線 by エヌビディア 佐々木邦暢
 
NVIDIA GPU 技術最新情報
NVIDIA GPU 技術最新情報NVIDIA GPU 技術最新情報
NVIDIA GPU 技術最新情報
 
MII conference177 nvidia
MII conference177 nvidiaMII conference177 nvidia
MII conference177 nvidia
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
 
20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT
 
Router board勉強会vol2(配布用)
Router board勉強会vol2(配布用)Router board勉強会vol2(配布用)
Router board勉強会vol2(配布用)
 
High speed-pc-router 201505
High speed-pc-router 201505High speed-pc-router 201505
High speed-pc-router 201505
 
Deep Learning Lab MeetUp 学習編 AzureインフラとBatch AI
Deep Learning Lab MeetUp 学習編 AzureインフラとBatch AIDeep Learning Lab MeetUp 学習編 AzureインフラとBatch AI
Deep Learning Lab MeetUp 学習編 AzureインフラとBatch AI
 
GTC 2020 発表内容まとめ
GTC 2020 発表内容まとめGTC 2020 発表内容まとめ
GTC 2020 発表内容まとめ
 
GTC 2020 発表内容まとめ
GTC 2020 発表内容まとめGTC 2020 発表内容まとめ
GTC 2020 発表内容まとめ
 
Getting Started with Jetson Nano
Getting Started with Jetson NanoGetting Started with Jetson Nano
Getting Started with Jetson Nano
 

More from ハイシンク創研 / Laboratory of Hi-Think Corporation

More from ハイシンク創研 / Laboratory of Hi-Think Corporation (7)

バイオサイエンス分野における機械学習応用研究の最新動向
バイオサイエンス分野における機械学習応用研究の最新動向バイオサイエンス分野における機械学習応用研究の最新動向
バイオサイエンス分野における機械学習応用研究の最新動向
 
1 開会の挨拶と本シンポジウムの意義(lhc 巽)
1 開会の挨拶と本シンポジウムの意義(lhc 巽)1 開会の挨拶と本シンポジウムの意義(lhc 巽)
1 開会の挨拶と本シンポジウムの意義(lhc 巽)
 
IoTの社会応用への展望とその課題
IoTの社会応用への展望とその課題IoTの社会応用への展望とその課題
IoTの社会応用への展望とその課題
 
社会におけるIoTとセキュリティ、匿名化技術: 産業IoTのサイバーセキュリティ技術
社会におけるIoTとセキュリティ、匿名化技術: 産業IoTのサイバーセキュリティ技術社会におけるIoTとセキュリティ、匿名化技術: 産業IoTのサイバーセキュリティ技術
社会におけるIoTとセキュリティ、匿名化技術: 産業IoTのサイバーセキュリティ技術
 
機械学習とこれを支える並列計算 : 並列計算の現状と産業応用について
機械学習とこれを支える並列計算 : 並列計算の現状と産業応用について機械学習とこれを支える並列計算 : 並列計算の現状と産業応用について
機械学習とこれを支える並列計算 : 並列計算の現状と産業応用について
 
IoTの社会応用への展望とその課題
IoTの社会応用への展望とその課題IoTの社会応用への展望とその課題
IoTの社会応用への展望とその課題
 
IoTの社会応用への展望とその課題 : AI技術とIoT
IoTの社会応用への展望とその課題 : AI技術とIoTIoTの社会応用への展望とその課題 : AI技術とIoT
IoTの社会応用への展望とその課題 : AI技術とIoT
 

機械学習とこれを支える並列計算: ディープラーニング・スーパーコンピューターの応用について

  • 1. 森野慎也, シニアCUDAエンジニア, エヌビディアジャパン, 2017/2/10 ディープラーニング・スーパーコンピュータの 応用について
  • 2. 2 NVIDIA DGX-1 AI スーパーコンピューター 170 TFLOPS | 8x Tesla P100 16GB | NVLink Hybrid Cube Mesh 2x Xeon | 8 TB RAID 0 | Quad IB 100Gbps, Dual 10GbE | 3U — 3200W
  • 4. 4 DGX-1 ダイアグラム CPU 2x Intel® Xeon® E5-2698 v4, 20-core, 2.2GHz GPU 8x Tesla P100 SXM2 16GB DRAM 512 GB 2133 MHz 32 GB DDR4 LRDIMM Storage (OS) 1x 480 GB, 6 Gb/s, SATA 3.0 SSD (Data) 4x 1.92 TB, 6 Gb/s, SATA 3.0 SSD
  • 5. 5 TESLA P100 世界最速の演算ノードを実現する新しいGPUアーキテクチャ Pascalアーキテクチャ NVLink HBM2 Stacked Memory Page Migration Engine PCIe Switch PCIe Switch CPU CPU 最高の演算性能 最大限のスケーラビリティをもたらす GPU間のインターコネクト 演算とメモリを一つのパッケージに 512 TBの仮想メモリによる シンプルな並列プログラミング Unified Memory CPU Tesla P100
  • 6. 6NVIDIA CONFIDENTIAL. DO NOT DISTRIBUTE. すべてにおける大きな飛躍 3x GPU Mem BW K40 Bandwidth 1x 2x 3x P100 M40 5x GPU-GPU BW K40 Bandwidth(GB/Sec) 40 80 120 160 P100 M40 3x Compute Teraflops(FP32/FP16) 5 10 15 20 K40 P100 (FP32) P100 (FP16) M40
  • 7. 7 Tesla P100 GPU : GP100 56 SM 3584 CUDAコア 倍精度 5.3 TFLOPS 単精度 10.6 TFLOPS 半精度 21.2 TFLOPS 16 GB HBM2 バンド幅 720 GB/s
  • 8. 8 IEEE 754 Floating Point on GP100 3つのサイズと3つのスピード, すべて高速 Feature Half precision Single precision Double precision レイアウト s5.10 s8.23 s11.52 命令発行 2演算 / 1 clock 1演算 / 1 clock 1 演算 / 2 clocks Subnormalサポート Yes Yes Yes Atomic加算 Yes Yes Yes
  • 9. 9 HBM2 :バンド幅は 720 GB/s ECCサポート スペーサ 4層のHBM2 スタック バンプ シリコン キャリア GPU 基板
  • 10. 10 DGX-1 DEMO 1 Tesla P100のパフォーマンス
  • 11. 11 行列演算の例 - 行列の次元は、(9600,9600) - 正規直交系の行列を作成。 Gram-Schmidt Process - 行列積をとることで、単位行列。 GEMMの性能を見る 𝐼 = 𝐴 𝐴 𝑇
  • 12. 12 演算性能(FP32) GPU: Tesla P100-SXM2-16GB, CC=6.0, 3584 CUDA cores. GPU: Tesla P100-SXM2-16GB, CC=6.0, 3584 CUDA cores. GPU: Tesla P100-SXM2-16GB, CC=6.0, 3584 CUDA cores. (略) GPU: Tesla P100-SXM2-16GB, CC=6.0, 3584 CUDA cores. dim=(9600, 9600), precision: fp32 Generating orthogonal matrix. init: err(diag)=3.304e+03, err(off-diag)=2.512e+03 0: err(diag)=1.192e-06, err(off-diag)=1.780e-01 1: err(diag)=1.192e-06, err(off-diag)=3.960e-06 2: err(diag)=1.192e-06, err(off-diag)=1.203e-07 3: err(diag)=1.311e-06, err(off-diag)=1.418e-07 4: err(diag)=1.431e-06, err(off-diag)=1.216e-07 done. prepare ... 0 1 2 3 4 5 6 7 GPU0 GPU1 GPU2 GPU3 GPU4 GPU5 GPU6 GPU7 Perf [GFLOPS] 9956.4 9928.5 9949.3 9948.4 9815.4 9963.8 9952.4 9974.8 Time [ms] 177.72 178.22 177.85 177.86 180.28 177.59 177.79 177.39
  • 13. 13 演算性能(FP64) GPU: Tesla P100-SXM2-16GB, CC=6.0, 3584 CUDA cores. GPU: Tesla P100-SXM2-16GB, CC=6.0, 3584 CUDA cores. GPU: Tesla P100-SXM2-16GB, CC=6.0, 3584 CUDA cores. (略) GPU: Tesla P100-SXM2-16GB, CC=6.0, 3584 CUDA cores. dim=(9600, 9600), precision: fp64 Generating orthogonal matrix. init: err(diag)=3.304e+03, err(off-diag)=2.512e+03 0: err(diag)=2.220e-15, err(off-diag)=4.797e-09 1: err(diag)=2.665e-15, err(off-diag)=3.596e-16 2: err(diag)=2.220e-15, err(off-diag)=2.525e-16 3: err(diag)=2.665e-15, err(off-diag)=2.254e-16 4: err(diag)=2.442e-15, err(off-diag)=2.249e-16 done. prepare ... 0 1 2 3 4 5 6 7 GPU0 GPU1 GPU2 GPU3 GPU4 GPU5 GPU6 GPU7 Perf [GFLOPS] 4853.2 4851.0 4961.6 4890.0 4842.0 4973.6 4880.2 4882.9 Time [ms] 364.60 364.77 356.63 361.86 365.44 355.77 362.58 362.38 freeing resources.
  • 14. 14 演算性能(FP64) (略) init: err(diag)=3.304e+03, err(off-diag)=2.512e+03 (略) 4: err(diag)=1.431e-06, err(off-diag)=1.216e-07 done. GPU0 GPU1 GPU2 GPU3 GPU4 GPU5 GPU6 GPU7 Hgemm : (math on FP16) Perf [GFLOPS] 19192.8 19132.2 19225.2 19214.1 19227.7 19220.5 19240.0 19235.7 Time [ms] 92.19 92.49 92.04 92.09 92.03 92.06 91.97 91.99 Err(diag) 2.8e-01 2.8e-01 2.8e-01 2.8e-01 2.8e-01 2.8e-01 2.8e-01 2.8e-01 Err(off-diag) 1.1e-03 1.1e-03 1.1e-03 1.1e-03 1.1e-03 1.1e-03 1.1e-03 1.1e-03 SgemmEx : R16 x R16 = R16 (math on FP32) Perf [GFLOPS] 9900.2 9855.1 9901.4 9897.4 9901.4 9897.3 9893.2 9899.8 Time [ms] 178.73 179.55 178.71 178.78 178.71 178.78 178.86 178.74 Err(diag) 3.2e-05 3.2e-05 3.2e-05 3.2e-05 3.2e-05 3.2e-05 3.2e-05 3.2e-05 Err(off-diag) 1.9e-05 1.9e-05 1.9e-05 1.9e-05 1.9e-05 1.9e-05 1.9e-05 1.9e-05 SgemmEx : R16 x R16) = R32 (math on FP32) Perf [GFLOPS] 9901.9 9860.0 9898.7 9896.9 9902.8 9895.6 9886.2 9901.5 Time [ms] 178.70 179.46 178.76 178.79 178.68 178.81 178.98 178.71 Err(diag) 3.2e-05 3.2e-05 3.2e-05 3.2e-05 3.2e-05 3.2e-05 3.2e-05 3.2e-05 Err(off-diag) 1.9e-05 1.9e-05 1.9e-05 1.9e-05 1.9e-05 1.9e-05 1.9e-05 1.9e-05 freeing resources.
  • 15. 17
  • 18. 20 NVLink P100 一つあたり、4リンク。 94% のバンド幅効率 対向するGPUに対して、read/writes/atomics をサポート NVLinkをサポートするCPUからのread/write アクセス 複数のリンクを束ねることで、より高いバンド幅 通信レイテンシの削減 NVLink on Tesla P100 40 GB/s 40 GB/s 40 GB/s 40 GB/s
  • 19. 21 DGX-1 ダイアグラム CPU 2x Intel® Xeon® E5-2698 v4, 20-core, 2.2GHz GPU 8x Tesla P100 SXM2 16GB DRAM 512 GB 2133 MHz 32 GB DDR4 LRDIMM Storage (OS) 1x 480 GB, 6 Gb/s, SATA 3.0 SSD (Data) 4x 1.92 TB, 6 Gb/s, SATA 3.0 SSD
  • 21. 23 NCCLの実装 • 例) 1 CPU と 4 GPUs (PCIe) リングアルゴリズム リング上、もしくは、多くのトポロジー上で、有効にバンド幅を活かす コレクティブの実装は、1つ、もしくは、それ以上の個数のリングで、表すことが できる。s [P. Patarasuk and X. Yuan]
  • 24. 26 Broadcast Step 1: Δt = N/B N: bytes to broadcast B: bandwidth of each link 片方向リングを利用した場合 GPU0 GPU1 GPU2 GPU3
  • 25. 27 Broadcast Step 1: Δt = N/B Step 2: Δt = N/B N: bytes to broadcast B: bandwidth of each link 片方向リングを利用した場合 GPU0 GPU1 GPU2 GPU3
  • 26. 28 Broadcast Step 1: Δt = N/B Step 2: Δt = N/B Step 3: Δt = N/B N: bytes to broadcast B: bandwidth of each link 片方向リングを利用した場合 GPU0 GPU1 GPU2 GPU3
  • 27. 29 Broadcast Step 1: Δt = N/B Step 2: Δt = N/B Step 3: Δt = N/B Total time: (K-1)N/B N: bytes to broadcast B: bandwidth of each link K: number of GPUs 片方向リングを利用した場合 GPU0 GPU1 GPU2 GPU3
  • 29. 31 Broadcast データをS個のメッセージに分解 Step 1: Δt = N/BS 片方向リングを利用した場合 GPU0 GPU1 GPU2 GPU3
  • 30. 32 Broadcast データをS個のメッセージに分解 Step 1: Δt = N/BS Step 2: Δt = N/BS 片方向リングを利用した場合 GPU0 GPU1 GPU2 GPU3
  • 31. 33 Broadcast データをS個のメッセージに分解 Step 1: Δt = N/BS Step 2: Δt = N/BS Step 3: Δt = N/BS 片方向リングを利用した場合 GPU0 GPU1 GPU2 GPU3
  • 32. 34 Broadcast データをS個のメッセージに分解 Step 1: Δt = N/BS Step 2: Δt = N/BS Step 3: Δt = N/BS Step 4: Δt = N/BS 片方向リングを利用した場合 GPU0 GPU1 GPU2 GPU3
  • 33. 35 Broadcast データをS個のメッセージに分解 Step 1: Δt = N/BS Step 2: Δt = N/BS Step 3: Δt = N/BS Step 4: Δt = N/BS Step 5: Δt = N/BS 片方向リングを利用した場合 GPU0 GPU1 GPU2 GPU3
  • 34. 36 Broadcast データをS個のメッセージに分解 Step 1: Δt = N/BS Step 2: Δt = N/BS Step 3: Δt = N/BS Step 4: Δt = N/BS Step 4: Δt = N/BS ... Total time: (S+k-2)N/BS  N/B 片方向リングを利用した場合 GPU0 GPU1 GPU2 GPU3
  • 35. 37 Broadcast 性能値 # bytes N type root time algbw busbw delta 10000000 10000000 char 0 0.317 31.52 31.52 0e+00 10000000 10000000 char 1 0.316 31.61 31.61 0e+00 10000000 10000000 char 2 0.300 33.28 33.28 0e+00 10000000 10000000 char 3 0.310 32.22 32.22 0e+00 10000000 10000000 char 4 0.318 31.49 31.49 0e+00 10000000 10000000 char 5 0.325 30.73 30.73 0e+00 10000000 10000000 char 6 0.312 32.04 32.04 0e+00 10000000 10000000 char 7 0.318 31.42 31.42 0e+00 10000000 2500000 int 0 0.309 32.32 32.32 0e+00 10000000 2500000 int 1 0.317 31.54 31.54 0e+00 10000000 2500000 int 2 0.306 32.71 32.71 0e+00 10000000 2500000 int 3 0.320 31.21 31.21 0e+00 10000000 2500000 int 4 0.322 31.05 31.05 0e+00 10000000 2500000 int 5 0.321 31.19 31.19 0e+00 10000000 2500000 int 6 0.311 32.15 32.15 0e+00 10000000 2500000 int 7 0.317 31.59 31.59 0e+00 10000000 5000000 half 0 0.313 31.95 31.95 0e+00 10000000 5000000 half 1 0.312 32.01 32.01 0e+00
  • 37. 39 NVLinkによる、リニアなマルチGPUスケーリング 1.0x 2.0x 3.0x 4.0x 5.0x 6.0x 7.0x 8.0x 1GPU 2GPU 4GPU 8GPU AlexnetOWT DGX-1 P100 PCIE Deepmark test with NVCaffe. AlexnetOWT use batch 128, Incep-v3/ResNet-50 use batch 32, weak scaling, P100 and DGX-1 are measured, FP32 training, software optimization in progress, CUDA8/cuDNN5.1, Ubuntu 14.04 1.0x 2.0x 3.0x 4.0x 5.0x 6.0x 7.0x 8.0x 1GPU 2GPU 4GPU 8GPU Incep-v3 DGX-1 P100 PCIE 1.0x 2.0x 3.0x 4.0x 5.0x 6.0x 7.0x 8.0x 1GPU 2GPU 4GPU 8GPU ResNet-50 DGX-1 P100 PCIE Speedup 2.3x 1.3x 1.5x
  • 38. 40 Multi-GPU performance with NCCL NVIDIA DGX-1, Chainer with NCCL patch 0 2 4 6 8 0 2 4 6 8 Number of GPUs Scalability ResNet (152 layers)VGG-D (16 layers)AlexNet (7 layers) 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 NCCL (DGX-1)NCCL (1-ring)Gather & Bcast [Batch size per GPU] AlexNet:768, VGG-D:32, ResNet:12
  • 39. 41 Multi-GPU performance with NCCL NVIDIA DGX-1, Chainer 1.17.0 with NCCL patch 0 0.5 1 1.5 2 2.5 … G&B NCCL (1-ring) NCCL (DGX-1) G&B NCCL (1-ring) NCCL (DGX-1) G&B NCCL (1-ring) NCCL (DGX-1) 1 GPU 2 GPUs 4 GPUs 8 GPUs Relativetimeto1GPU Time per one batch (VGG-D) Update Allreduce Backward Forward
  • 41. 43 78 5,300 13,000 0 2,000 4,000 6,000 8,000 10,000 12,000 14,000 CPU Server Server with 8x Tesla M40 DGX-1 Microsoft cognitive toolkit 170X Faster on dgx-1 Toolkit Accelerates 170x Faster on DGX-1 images/sec 170x Faster vs CPU server 60x Faster vs CPU server Latest Framework Fully Optimized for NVIDIA DGX-1 AlexNet training batch size 128, CNTK 2.0b2 for CPU. CNTK 2.0b3 (to be released) includes cuDNN 5.1.8, NCCL 1.6.1, NVLink enabled
  • 43. 45 NVIDIA Dockerによる、GPUのアイソレーション $ NV_GPU=0,1 nvidia-docker run -ti --rm compute.nvidia.com/nvidia/cuda nvidia-smi +-----------------------------------------------------------------------------+ | NVIDIA-SMI 361.93.02 Driver Version: 361.93.02 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Tesla P100-SXM2... Off | 0000:06:00.0 Off | 0 | | N/A 36C P0 30W / 300W | 0MiB / 16280MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 1 Tesla P100-SXM2... Off | 0000:07:00.0 Off | 0 | | N/A 33C P0 33W / 300W | 0MiB / 16280MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================|
  • 44. 46NVIDIA CONFIDENTIAL. DO NOT DISTRIBUTE. 複数のフレームワークを、同時に使う チューニングされたDockerコンテナ DGX-1 コンテナ化されたアプリケーション TF Tuned SW NVIDIA Docker CNTK Tuned SW NVIDIA Docker Caffe Tuned SW NVIDIA Docker Torch Tuned SW NVIDIA Docker CUDA RTCUDA RTCUDA RTCUDA RT Linux Kernel + CUDA Driver
  • 45. 47 • すぐに活用できます — plug-and-play, AIフレームワークのサポート • ソフトウエアスタック全域にわたる、 最適化 • フレームワーク混在環境 —コンテナ化 • NVIDIAのエクスパートへの 直接的なアクセス NVIDIA DGX-1 SOFTWARE STACK 完全に統合されたDLプラットフォーム 短い時間で価値を作り上げるために、 NVIDIAのR&Dの成果を活用してください。
  • 46.