Top Banner
Akira Naruse, Developer Technology, 2016/8/31 Pascal世代以降の GPUメモリシステム
48

Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

Jun 25, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

Akira Naruse, Developer Technology, 2016/8/31

Pascal世代以降の GPUメモリシステム

Page 2: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

2

PASCAL

Page 3: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

3

Perf

orm

ance /

W

2012 2014 2008 2010 2016 2018

GPUロードマップ

Tesla Fermi

Kepler

Maxwell

Pascal

Volta

Page 4: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

4

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

TESLA P100 PASCALアーキテクチャ世代の最新GPU

Page 5: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

5

TESLA P100 世界最速の計算ノードを実現する最新GPUアーキテクチャ

Pascalアーキテクチャ NVLink HBM2スタックメモリ Page Migration Engine

PCIe

Switch

PCIe

Switch

CPU CPU

高い演算能力 高速なシステム・インタコネクト 高いメモリバンド幅 シンプルなプログラミング

Unified Memory

CPU

Tesla P100

Page 6: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

6

GP100

56 SMs

3584 CUDA Cores

5.3 TF – fp64

10.6 TF – fp32

21.2 TF – fp16

16 GB HBM2

720 GB/s

SM (Stream Multiprocessor)

Page 7: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

7

GP100 SM

GP100

CUDAコア 64

レジスタ 256 KB

共有メモリ 64 KB

Activeスレッド 2048

Activeワープ 64

Page 8: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

8

GPU SPECS

K40 (Kepler) M40 (Maxwell) P100 (Pascal)

SM数 15 24 56

CUDAコア数 / SM 192 128 64

CUDAコア数 / GPU 2880 3072 3584

ベースクロック 745 MHz 948 MHz 1328 MHz

製造プロセス 28-nm 28-nm 16-nm FinFET

レジスタ容量 / SM 256 KB 256 K 256 KB

レジスタ容量 / GPU 3.75 MB 6.0 MB 14.0 MB

L2キャッシュ容量 1.5 MB 3.0 MB 4.0 MB

Page 9: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

9

HBM2 : 720GB/s メモリ容量: 16GB

Page 10: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

10

HBM2 : 720GB/s ECCはnative実装

Spacer

HBM2 stack (4層)

Bumps

Silicon Interposer

GPU

Substrate

Page 11: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

11

GPU COMPUTING

Page 12: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

12

GPU Computing

Low latency + High throughput

CPU GPU

Page 13: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

13

Pros. and Cons. Latency vs. Throughput

GPU

CPU

Throughput (FLOPS, GB/s)

Higher

Lower

Latency (Sec)

Shorter

Longer

Page 14: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

14

Proc. and Cons. Capacity vs. Throughput

GPU

CPU

Throughput (FLOPS, GB/s)

Higher

Lower

Capacity (Cache, Memory)

Larger

Smaller

Page 15: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

15

GPU Computing

CPU GPU

GPU Memory

CPU Memory

High Capacity + High Throughput

Page 16: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

16

UNIFIED MEMORY

Page 17: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

17

CUDA CODE CPUとGPUで別々のポインター

9/2/20

16

void sortfile(FILE *fp, int N) { char *data; data = (char *)malloc(N); fread(data, 1, N, fp); qsort(data, N, 1, compare); use_data(data); free(data); }

void sortfile(FILE *fp, int N) { char *data char *d_data; data = (char *)malloc(N); cudaMalloc(&d_data, N); fread(data, 1, N, fp); cudaMemcpy(d_data, data, N, ..); qsort<<<...>>>(data,N,1,compare); cudaDeviceSynchronize(); cudaMemcpy(data, d_data, N, ..); use_data(data); cudaFree(data); free(data); }

CPU code GPU code

Page 18: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

18

UNIFIED MEMORY CPUとGPUでポインター共有

9/2/20

16

void sortfile(FILE *fp, int N) { char *data; data = (char *)malloc(N); fread(data, 1, N, fp); qsort(data, N, 1, compare); use_data(data); free(data); }

void sortfile(FILE *fp, int N) { char *data; cudaMallocManaged(&data, N); fread(data, 1, N, fp); qsort<<<...>>>(data,N,1,compare); cudaDeviceSynchronize(); use_data(data); cudaFree(data); }

CPU code GPU code (Unified Memory)

Page 19: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

19

Unified Memory on Kepler/Maxwell CUDA 6.0~

GPUは仮想アドレス対応(カーネル実行中、アドレスを論物変換、ページ単位)

Kepler/Maxwell世代GPUはページフォルト未対応 カーネル起動前に全てのページがGPUメモリ上にないといけない

GPUメモリサイズを超えるデータはallocateできない

カーネル実行中に、on-demandでページをCPUからGPUへ移動できない

cudaMallocManaged(&ptr, ...); *ptr = 1; qsort<<<...>>>(ptr);

CPUページフォルト: データはCPUへ移動

GPU上に必要ページを確保

カーネル起動: データはGPUへ移動

Page 20: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

20

Unified Memory on Pascal GPUページフォルトをサポート

First touchされたところで、ページは確保される

ページフォルトをきっかけに、データはCPU・GPU間を移動

9/2/2

016

cudaMallocManaged(&ptr, ...); *ptr = 1; qsort<<<...>>>(ptr);

CPUページフォルト: CPU上にページが確保

物理ページは確保されない (mallocの様に)

GPUページフォルト: データをGPUに移動

Page 21: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

21

Unified Memory on Pascal Keperl/Maxwell世代GPUからの改善ポイント

On-demand Page Migration

GPUメモリ容量を超えるデータ (oversubscription, out-of-core) (*)

CPUとGPUからの同時アクセス (coherencyはページ単位)

(*) Pascal以前のGPUでも、mapped memoryでoversubscriptionは可能だったが、データは常にHostメモリ上にあった

9/2/2

016

Page 22: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

22

SIMPLE EXAMPLE

9/2/20

16

float *array; cudaMallocManaged(&array, N*sizeof(float)); cudaMemset(array, 0, N*sizeof(float)) for (i=0; i<N; i++) { array[i] += ..; } Reduce_sum<<<.., ..>>>(sum, array, N);

Malloc

Init

Sum

Update

Page 23: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

23

Kepler (TESLA K40)

Malloc Update

(on-demand D2H) Init

Sum

(H2D then kernel)

Page 24: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

24

Pascal (TITAN X)

Malloc Init Update

(on-demand D2H)

Sum

(on-demand H2D)

Page 25: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

25

UM Performance Tuning

ページフォールトオーバーヘッドの削減:

遅延は10 us以上(データがくるまで実行はストール)

Localityの向上

Localityが良いほど、高bandwidth、低latency

スラッシングの回避

データマイグレーション回数を減らす

9/2/2

016

Page 26: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

26

UM Performance Tuning New Hint API in CUDA 8

cudaMemPrefetchAsync(ptr, length, destDevice, stream)

cudaMemcpyAsync()のUnified Memory版

CUDAストリーム対応 (非同期転送可能)

cudaMemAdvise(ptr, length, advice, device)

ページ確保方針、データ使用方針の指示

プログラム実行中に、設定、解除、変更が可能

9/2/20

16

Page 27: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

27

PREFETCHING

9/2/20

16

void foo(cudaStream_t s) { char *data; cudaMallocManaged(&data, N); init_data(data, N); cudaMemPrefetchAsync(data, N, myGpuId, s); mykernel<<<..., s>>>(data, N, 1, compare); cudaMemPrefetchAsync(data, N, cudaCpuDeviceId, s); cudaStreamSynchronize(s); use_data(data, N); cudaFree(data); }

GPUからCPUにデータプリフェッチ CPUページフォルト回数の削減

CPUからGPUにデータプリフェッチ GPUページフォルト回数の削減

cudaMemPrefetchAsync()

Page 28: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

28

init_data(data, N);

cudaMemAdvise(data, N, cudaMemAdviseSetReadMostly, myGpuId);

mykernel<<<...>>>(data, N);

use_data(data, N);

READ DUPLICATION cudaMemAdvise()

Advice: cudaMemAdviseSetReadMostly

データはRead主体、時々Writeされる

9/2/2

016

GPUページフォールトで、Read-onlyページが確保される

(CPUページはそのまま)

CPU readsではページフォールトが発生しない

Page 29: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

29

READ DUPLICATION cudaMemAdvise() and cudaMemPrefetchAsync()

Prefetchで、GPU上にread-only copyが作られ、GPUページフォルトを回避

(注) この領域にwriteすると、ページフォルトが発生する

9/2/2

016

init_data(data, N);

cudaMemAdvise(data, N, cudaMemAdviseSetReadMostly, myGpuId);

cudaMemPrefetchAsync(data, N, myGpuId, s);

mykernel<<<..., s>>>(data, N);

use_data(data, N);

PrefetchでRead-only copy が生成される

GPUでも、CPUでも、page faultは発生しない

Page 30: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

30

DIRECT MAPPING Preferred location and direct access

Advice: cudaMemAdviseSetPreferredLocation

指定プロセッサ(のメモリ)にデータを固定する (マイグレーション抑止)

First accessでpage faultが発生し、page mappingされる。

Advice: cudaMemAdviseSetAccessedBy

First accessの前に、page mappingされる (page fault抑止)

データの場所は任意

9/2/2

016

Page 31: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

31

OUT-OF-CORE APPLICATION

Page 32: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

32

Deep Learning Anywhere

インターネットとクラウド

画像分類 音声認識 言語翻訳 言語処理 感情分析 推薦

メディアとエンターテイメント

字幕 ビデオ検索

リアルタイム翻訳

機械の自動化

歩行者検出 白線のトラッキング 信号機の認識

セキュリティと防衛

顔検出 ビデオ監視 衛星画像

医学と生物学

癌細胞の検出 糖尿病のランク付け

創薬

Page 33: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

33

DNN: DEEPER AND LARGER

30000 100%

24000 80%

18000 60%

12000 40%

6000 20%

0 0%

30000 100%

24000 80%

18000 60%

12000 40%

6000 20%

0 0%

(*) Minsoo et al., “vDNN: Virtualized Deep Neural Networks for Scalable, Memory-Efficient Neural Network Design”

ResNet: 152 layers

Page 34: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

34

NETWORK WIDE MEMORY ALLOCATION In Memory: 全データをGPU上

(*) Minsoo Rhu et al., “vDNN: Virtualized Deep Neural Networks for Scalable, Memory-Efficient Neural Network Design”

Page 35: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

35

LAYER WISE MEMORY ALLOCATION Swap-in/out: データをホストメモリから転送

(*) Minsoo Rhu et al., “vDNN: Virtualized Deep Neural Networks for Scalable, Memory-Efficient Neural Network Design”

Page 36: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

36

LAYER WISE MEMORY ALLOCATION Swap-in/out: データをホストメモリから転送

(*) Minsoo Rhu et al., “vDNN: Virtualized Deep Neural Networks for Scalable, Memory-Efficient Neural Network Design”

Page 37: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

37

Chainer

Deep Learning framework developed by PFN

GPU対応 (CuPy: GPU用numpy互換の数値計算ライブラリ)

Out-of-core対応版を試験実装

Layer毎に、データをswap in/out (naïve実装: 冗長なデータ転送)

計算とデータ転送のオーバーラップ

Github

Powerful, Flexible, Intuitive

Page 38: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

38

VGG-16 (Batch:32) Chainer, CUDA 8.0RC, CUDNN 5.1

1785

654

348

0

500

1000

1500

2000

2500

K40 (Kepler) M6000 (Maxwell) TitanX (Pascal)

Tim

e (

ms)

In Memory

Page 39: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

39

VGG-16 (Batch:32, In memory) Quadro M6000, Chainer, CUDA 8.0RC, CUDNN 5.1

654 ms

Page 40: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

40

VGG-16 (Batch:32) Chainer, CUDA 8.0RC, CUDNN 5.1

1785

654

348

2112

1062

836

0

500

1000

1500

2000

2500

K40 (Kepler) M6000 (Maxwell) TitanX (Pascal)

Tim

e (

ms)

In Memory Swap In/Out

Page 41: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

41

VGG-16 (Batch:32, Swap in/out) Quadro M6000, Chainer, CUDA 8.0RC, CUDNN 5.1

1,062 ms

Page 42: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

42

GPU SPEC

Tesla K40 Quadro M6000 TitanX

TFLOPS (単精度) 4.29 6.06 10.2

メモリバンド幅 [GB/s] 288 317 480

DL training (VGG-16)

[imgs/s] 17.9 48.9 92.0

CPU・GPU I/F [GB/s] 16 16 16

問題: CPU・GPUバンド幅が速くならない

Page 43: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

43

NVLINK

Page 44: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

44

NVLINK

単方向:20GB/s、双方向:40GB/s (リンクあたり)

Tesla P100: 4リンク

実効バンド幅: ~94%

GPU間接続、GPU・CPU間接続

複数リンクを束ねることも可能(gang)

NVLink on Tesla P100

20+20 GB/s

20+20 GB/s

20+20 GB/s

20+20 GB/s

Page 45: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

45

NVLINK: GPU間接続 (NVIDIA DGX-1)

全結合4GPUクラスタ x 2

接続GPUのメモリへのload/store

接続GPUへのatomics操作

高速コピーエンジン (バルクデータコピー)

CPU・GPUはPCIe接続

Page 46: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

46

NVLINK: CPU接続の例

全結合4GPUクラスタ

各GPUが、CPUとNVLink接続

GPUから、直接CPUメモリをload/store

高速コピーエンジンで、CPU・GPU間データ転送

Page 47: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]

47 (*) http://on-demand.gputechconf.com/gtc/2016/presentation/s6825-sumit-gupta-revolutionizing-data-centric-transformation.pdf

Page 48: Pascal世代以降の GPUメモリシステムTesla K40 Quadro M6000 TitanX TFLOPS (単精度) 4.29 6.06 10.2 メモリバンド幅 [GB/s] 288 317 480 DL training (VGG-16) [imgs/s]