nvidia 更新情報: tesla p100 pcie/cudnn 5.1

22
NVIDIA更新情報: TESLA P100 PCIE/CUDNN 5.1 ディープラーニング部 井﨑 武士

Upload: nvidia-japan

Post on 21-Apr-2017

43.218 views

Category:

Devices & Hardware


8 download

TRANSCRIPT

Page 1: NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1

NVIDIA更新情報: TESLA P100 PCIE/CUDNN 5.1ディープラーニング部井﨑 武士

Page 2: NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1

2

NVIDIA Deep Learning プラットフォーム

COMPUTER VISION SPEECH AND AUDIO BEHAVIORObject Detection Voice Recognition Translation

Recommendation Engines Sentiment Analysis

DEEP LEARNING

cuDNN

MATH LIBRARIES

cuBLAS cuSPARSE

MULTI-GPU

NCCL

cuFFT

Mocha.jl

Image Classification

DEEP LEARNING SDK

FRAMEWORKS

APPLICATIONS

GPU PLATFORM

CLOUD GPU

Tesla P100

TeslaM40/K80/M4 Jetson TX1

SERVER

DGX-1

GIE

DRIVEPX2

Page 3: NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1

3

倍精度 5.3TF | 単精度 10.6TF | 半精度 21.2TF

TESLA P100ハイパースケールデータセンターのための世界で最も先進的な GPU

Page 4: NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1

4

Tesla P100 の先進テクノロジー

16nm FinFETPascal アーキテクチャ HBM2 積層メモリ NVLink システムインターコネクト

Page 5: NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1

5

Tesla P100 SXM2 board and HBM2

Page 6: NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1

6

Tesla P100 SXM2 board and NVLINK

Page 7: NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1

7

あらゆる面で大きな飛躍

3倍のメモリバンド幅3倍の演算性能 5倍のGPU間通信速度

Tera

flop

s (F

P32/

FP16

)

5

10

15

20

K40

P100 (FP32)

P100 (FP16)

M40

K40

Band

wid

th (

GB/

Sec)

40

80

120

160 P100

M40

K40

Band

wid

th

1x

2x

3x P100

M40

Page 8: NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1

8

Pascal GP100 Block diagram

Page 9: NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1

9

Tesla P100 Whitepaper

http://www.nvidia.com/object/pascal-architecture-whitepaper.html

Page 10: NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1

10

Tesla p100Most Advanced data center gpu for

mixed-app hpcCoWoS with HBM2

PAGE MIGRATION ENGINE

18.7 TF HP ∙ 9.3 TF SP ∙ 4.7 TF DPNew Deep Learning InstructionsMore Registers & Cache per SM

Tesla P100 for PCIe-based Servers

PASCAL

Up to 720 GB/Sec BandwidthUp to 16 GB Memory CapacityECC with Full Performance & Capacity

Simpler Parallel ProgrammingVirtually Unlimited Data Size Performance w/ data locality

Page 11: NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1

11

Tesla p100 accelerators

Tesla P100 for NVLink-enabled Servers

Tesla P100 for PCIe-Based Servers

5.3 TF DP ∙ 10.6 TF SP ∙ 21 TF HP720 GB/sec Memory Bandwidth, 16 GB

4.7 TF DP ∙ 9.3 TF SP ∙ 18.7 TF HPConfig 1: 16 GB, 720 GB/secConfig 2: 12 GB, 540 GB/sec

Page 12: NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1

12

Tesla p100 specificationsTesla Products Tesla K40 Tesla M40 Tesla P100 (NVLink) Tesla P100 (PCIe)GPU / Form Factor Kepler GK110 / PCIe Maxwell GM200 / PCIe Pascal GP100 / SXM2 Pascal GP100 / PCIeSMs 15 24 56 56TPCs 15 24 28 28FP32 CUDA Cores / SM 192 128 64 64FP32 CUDA Cores / GPU 2880 3072 3584 3584FP64 CUDA Cores / SM 64 4 32 32FP64 CUDA Cores / GPU 960 96 1792 1792Base Clock 745 MHz 948 MHz 1328 MHz 1126 MHzGPU Boost Clock 810/875 MHz 1114 MHz 1480 MHz 1303 MHzFP64 GFLOPs 1680 213 5304 4670Texture Units 240 192 224 224

Memory Interface 384-bit GDDR5 384-bit GDDR5 4096-bit HBM2 3072-bit HBM2 (12GB)4096-bit HBM2 (16GB)

Memory Bandwidth 288 GB/s 288 GB/s 720 GB/s 540 GB/s (12GB)720 GB/s (16GB)

Memory Size Up to 12 GB Up to 24 GB 16 GB 12 GB or 16 GBL2 Cache Size 1536 KB 3072 KB 4096 KB 4096 KBRegister File Size / SM 256 KB 256 KB 256 KB 256 KBRegister File Size / GPU 3840 KB 6144 KB 14336 KB 14336 KBTDP 235 Watts 250 Watts 300 Watts 250 WattsTransistors 7.1 billion 8 billion 15.3 billion 15.3 billionGPU Die Size 551 mm² 601 mm² 610 mm² 610 mm²

Manufacturing Process 28-nm 28-nm 16-nm 16-nm

Page 13: NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1

13

NVIDIA cuDNN

最新はバージョン5.1RC

GPU上でディープニューラルネットワークの計算を高速に行う為のプリミティブ群

ディープニューラルネットワークの学習の高いパフォーマンスを発揮Caffe、 CNTK、 Tensorflow、 Theano、Torch、Chainerなどディープラーニングフレームワークを高速化バージョンアップ毎にパフォーマンスが向上

“NVIDIAはcuDNNのリリースの度により多くの操作ができるような機能拡張をおこなっており、同時に計算速度も向上させている”

—UC バークレー、 Caffe リードデベロッパー、Evan Shelhamer

developer.nvidia.com/cudnn

Page 14: NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1

14

NVIDIA cuDNN

• 畳込み以外にもプーリング、ソフトマックス、活性化、batch normalization、テンソルのトランスポーズなどディープラーニングの順伝播・逆伝播でよく使われるレイヤータイプ、計算手法をサポート

• リカレント・ニューラルネットワーク(LSTM/GRU/RNN)をサポート。

• マルチスレッド化が容易なコンテクストベースのAPI

• 以下のOSとGPUの組み合わせで仕様が可能

• Windows(7/10),Linux(x64,power8/ARM),MacOS

• Pascal/Maxwell/Kepler世代のGPU, Tegra K1およびTegra X1

ディープラーニング計算の為の高速なプリミティブ群

Page 15: NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1

15

cuDNN 5 のアップデート

Torch上でLSTM リカレントニューラルネットワークの計算を6倍高速化パフォーマンスの向上:

• VGG、GoogleNet、ResNetsのような3x3 畳み込み層を持つネットワークの高速化

• 3次元畳み込み• Pascal世代のGPUの為のFP16ルーティンの追加• Bilinear Spatial Transformer /ドロップアウト追加

Pascal世代GPU, リカレントニューラルネットワーク, パフォーマンスの向上

Performance relative to torch-rnn(https://github.com/jcjohnson/torch-rnn)

DeepSpeech2: http://arxiv.org/abs/1512.02595Char-rnn: https://github.com/karpathy/char-rnn

5.9xchar-rnn

RNN レイヤーの速度向上

2.8xDeepSpeech 2

RNNレイヤーの速度向上

Page 16: NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1

16

最適なコンボリューションアルゴリズムは、コンボリューションレイヤの次元に依存する。

0.73

1.84 1.832.03 2.07

2.26

1.92 1.98

1.25

conv 1.1 conv 1.2 conv 2.1 conv 2.2 conv 3.1 conv 3.2 conv 4.1 conv 4.2 conv 5.0

Winogradによる実行性能向上 (GEMMを用いたコンボリューションと比較 VGG-E layers, N=1)

Winograd:3x3の畳み込みの高速化小さいバッチで、コンボリューションを高効率で演算する

Page 17: NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1

17

cuDNN 5.1

• 3x3と5x5の畳込みの順伝播・および逆伝播計算の為の新しいWinogradアルゴリズムが追加。

• CUDNN_CONVOLUTION_FWD_ALGO_WINOGRAD_NONFUSED

• CUDNN_CONVOLUTION_FWD_ALGO_WINOGRAD_NONFUSED

• FP16の順伝播、逆伝播計算のパフォーマンスの向上

• CUDA8.0のサポート

ディープラーニング計算の為の高速なプリミティブ群

Page 18: NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1

18

cuDNN 5.1パフォーマンス

3x3のコンボリューション層をもつネットワークの学習が2.7倍高速に

Spee

d-up

of

trai

ning

vs.

cuD

NN

v4

cuDNN 4 + K40 vs. cuDNN 5.1 RC + M40 on Torch and Intel Xeon HaswellSingle-socket 16-core E5-2698 v3 @2.3GHz 3.6GHz Turbo

この3年間で60倍学習が高速に

Spee

d-up

of

imag

es/S

ec v

s K4

0 in

201

3

Alexnet training throughput on:

CPU: 1xE5-2680v3 12 Co 2.5GHz 128GB System Memory, Ubuntu 14.04M40 bar: 8xM40 GPUs in a node. P100: 8xP100 NVLink-enabled

Page 19: NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1

19

cuDNN アルゴリズム

• 多種多様なアルゴリズムを提供。• CUDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_GEMM

• CUDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_PRECOMP_GEMM

• CUDNN_CONVOLUTION_FWD_ALGO_GEMM

• CUDNN_CONVOLUTION_FWD_ALGO_DIRECT

• CUDNN_CONVOLUTION_FWD_ALGO_FFT

• CUDNN_CONVOLUTION_FWD_ALGO_FFT_TILING

• CUDNN_CONVOLUTION_FWD_ALGO_WINOGRAD

• CUDNN_CONVOLUTION_FWD_ALGO_WINOGRAD_NONFUSED

Page 20: NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1

20

簡単に最適なアルゴリズムを決定出来る

cudnnConvolutionFwdAlgo_t algo;

cudnnGetConvolutionForwardAlgorithm(cudnnHandle,

srcTensorDesc,

filterDesc,

convDesc,

dstTensorDesc, CUDNN_CONVOLUTION_FWD_PREFER_FASTEST,

workspaceLimit, &algo );

cout << "Fastest algorithm is " << algo << endl;

cudnnGetConvolutionForwardAlgorithm

指定したワークスペースサイズ内で最速のものが選択される

Page 21: NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1

21

NVIDIA cuDNNバージョンアップ毎に強力な機能を追加

Spee

d-up

of

trai

ning

vs.

cuD

NN

v4

x1

x2

x4

x6

cuDNN 5.1cuDNN 5

cuDNN 6

cuDNN 4

Feb. 2016

May. 2016

June. 2016

Batch Normalization追加FFT Tilingアルゴリズムの追加FP16サポート推論計算速度の向上

Coming soon!

?

RNNのサポート3D convolution対応3x3畳込みの高速化Bilinear Spatial Transformer/ドロップアウト追加

5x5畳込みの高速化FP16ルーチンの高速化CUDA8対応

Page 22: NVIDIA 更新情報: Tesla P100 PCIe/cuDNN 5.1

THANK YOU!