Edited at

NVIDIA Teslaスペック


NVIDIA Tesla

単位はTFLOPS(全て行列積)。メモリ帯域の単位はGB/s。


Turing

CUDA
コア数
Tensor
コア数
MHz
INT8
FP16
FP32
メモリ
帯域
発表年
クラウド

T4
2560
320
1582
130
65
8.1
320
2018/9
Google T4

GeForce
RTX
2080 Ti
4352
544
1350
215
108
11.8
616
2018/8

INT4もINT8の倍の性能で対応。


Volta

コア数
MHz
INT32
FP16
FP32
FP64
メモリ
帯域
発表年
クラウド

V100
(NVLink)
5120
1455
14.90
119.19
14.90
7.45
900
2017/5
EC2 p3
Google V100
Azure NCv3
Alibaba gn6v

V100
(PCIe)
5120
1370
14.02
112.23
14.02
7.01
900
2017/7

Tensor Core を搭載し、入力FP16・出力FP32の4行4列の行列積が出来るようになり、かつ、高速化。INT32対応。


Pascal

コア数
MHz
INT8
FP16
FP32
FP64
メモリ
帯域
発表年
クラウド

P100
(NVLink)
3584
1480
x
21.205
10.609
5.304
720
2016/4

P100
(PCIe)
3584
1300
x
18.636
9.318
4.659
720
2016/4
Google P100
Azure NCv2
Alibaba gn5

P40
3840
1531
47.032
x
11.758
0.367
345.6
2016/9
Azure ND

P4
2560
1063
21.770
x
5.443
0.170
192
2016/9
Google P4
Alibaba gn5i

GeForce
GTX
1080 Ti
3584
1582
x
0.177
11.340
0.354
484
2017/3

一部 INT8 対応。


Maxwell

コア数
MHz
FP16
FP32
FP64
メモリ
帯域
発表年
クラウド

M60
2048 * 2
1180
9.667 * 2
4.833 * 2
0.156 * 2
160 * 2
2015/8
EC2 g3
Azure NV

M40
3072
1114
13.689
6.844
0.219
288
2015/11
Alibaba gn4

M10
640 * 4
1033
2.644 * 4
1.322 * 4
0.041 * 4
83 * 4
2016/5

M6
1536
1051
6.457
3.229
0.100
147.2
2015/8

M4
1024
1072
4.391
2.195
0.069
88
2015/11

GeForce
GTX
980 Ti
2816
1076
x
6.060
0.189
336
2015/6

FP16 対応。


Kepler

コア数
MHz
FP32
FP64
メモリ帯域
発表年
クラウド

K80
2496 * 2
875
4.368 * 2
1.456 * 2
240 * 2
2014/11
EC2 p2
Azure NC
Google K80
Oracle OCSG

K40
2880
875
5.040
1.680
288
2013/10

GRID K520
1536 * 2
800
2.458 * 2
0.096 * 2
160 * 2
2013/7
EC2 g2

GRID K340
384 * 4
950
0.730 * 4

28.8 * 4
2013/7

K20
2496
706
3.524
1.175
208
2012/11

K10
1536 * 2
745
2.289 * 2
0.763 * 2
160 * 2
2012/5


Fermi

コア数
MHz
FP32
FP64
発表年
クラウド

M2090
512
1300
1.331
0.665
2011/5

M2070
448
1150
1.030
0.515
2011/5

M2050
448
1150
1.030
0.515
2011/5
EC2 cg1


FP32 : FP64


  • Volta = 2 : 1

  • Pascal(P100) = 2 : 1

  • Pascal(P100以外) = 16 : 1

  • Maxwell = 32 : 1

  • Kepler = 3 : 1


  • Fermi = 2 : 1


NVIDIA Tegra

コア数
MHz
INT8
FP16
FP32
メモリ帯域
発表年

Jetson Nano
GPU
128
921
x
0.472

2019/3

Jetson Xavier
GPU
DLA2つ
512
?
1377
?
22
5 * 2
11
2.5 * 2
1.5
x
137
2018/6

Jetson TX2
GPU
256
1302
x
1.333
0.666
58.3
2016/8

Jetson TX1
GPU
256
998
x
1.022
0.511
25.6
2015/1

Jetson TK1
GPU
192
950
x
x
0.365
14.9
2014/1

DLA は deep learning accelerator の略。

Jetson Nano は Jetson TX1 と同じ Maxwell 世代。NVIDIA はリアルタイム画像認識が出来る最低ラインだとしている。 https://devblogs.nvidia.com/jetson-nano-ai-computing/

Jetson Xavier は Volta 世代。Tesla V100 の 1/10 サイズの GPU。Tensor Core は FP16 に加えて INT8 も対応。NVDLA を搭載。今までは Tegra は Tesla のムーアの法則7年遅れだったが30Wにして6年遅れにターゲット変更。組み込みレベルからノートパソコンレベルへ変更。ただし10Wや15Wモードも搭載。

NVIDIA Drive PX 2 AutoCruise には Parker に加えて 1.25 TFLOPS / 2 GB (GDDR5, 80 GB/s) の外部 GPU も2つ搭載。ノートパソコン向け GeForce 10 シリーズのローエンドレベル。


Qualcomm Snapdragon

(2014~2016年の話)ハイエンドの GPU は NVIDIA Tegra とほぼ同じ性能。Snapdragon には Hexagon DSP が搭載されていて、8/16/32bitの固定小数点が扱える。GPU の半分の性能で設計されているが、8bitが扱えることが特徴。


Huawei


Ascend

INT8
FP16
発表年

Ascend 910
512
256
2019/8


Kirin NPU

NPU数
FP16
発表年

Kirin 980
2
2.1? * 2
2018/9

Kirin 970
1
1.92
2017/9

Kirin 980 の NPU の詳細は非公開ですが、NPU が1つから2つに増え、合計して2.2倍高速になったと書いてあったので、そこから逆算して10%高速になったと推測しました。

Kirin 970 の NPU は3行3列の行列積。HiKey 970 などのファンレスシングルボードコンピュータあり。TensorFlow や Caffe が利用可能。


Apple Neural Engine

INT8?
発表年

A12 Bionic
5
2018/9

A11 Bionic
0.6
2017/9

A11 Bionic や A12 Bionic の Neural Engine の詳細は非公開。内蔵アプリのみが利用可能。


PowerVR

INT8
発表年

AX2185
4.1
2018/6

AX2145
1.0
2018/6

AX2185, AX2145 は Android Neural Networks API 経由で利用可能。


Rockchip

INT8
発表年

RK3399Pro
2.4
2018/1


Intel Movidius

コア数
MHz
INT8
FP16
発表年

Myriad X MA2485
16

1

2017/8

Myriad 2 MA2450
12
600
0.2?
0.1?
2014/9

Intel Neural Compute Stick 2 は Myriad X を搭載。

Myriad 2 MA2450 は、おそらく 128bit / 16bit * 2 * 12コア * 0.6GHz / 1000 = 0.1152 TFLOPS (FP16) だと思われます。性能は曖昧な形で発表しています。上記とは別にHoGやガンマ補正など各種画像処理の専用回路も多数搭載。メモリもLPDDR2ですし、速度的にはRaspberry Piレベルのチップと釣り合うレベル。LPDDR4のIntel AtomだとCPUの方が速くてバランスが悪いです。


MobileEye

自動運転用のチップ。Intel の子会社。

情報源

以下、TOPS は INT8 か?


EyeQ5

2020年出荷予定。プロセスルール7nm。24 TOPS。TDP 10W。

種別
コア数

CPU
8

Computer Vision Processors
18


EyeQ4

2018年出荷。下記4種類を1つにまとめた物。TDP 3W。プロセスルールは28nm。

種別
コア数
MHz
MAC/コア
TOPS

CPU
4
1000
32?
0.256?

VMP (Vector Microcode Processors)
6
1000
76
0.912

PMA (Programmable Macro Array)
2
750
372
1.116

MPC (Multithreaded Processing Clusters)
2
1000
32
0.128


EyeQ3

2014年出荷。テスラモーターズ等に採用。TDP 2.5W。プロセスルールは40nm。

コア数
MHz
MAC/コア
TOPS

4
500
64
0.256


EyeQ2

2010年出荷。TDP 2.5W。プロセスルールは90nm。0.026 TOPS。


EyeQ1

2008年出荷。TDP 2.5W。プロセスルールは180nm。4.4 GOPS。


Intel Nervana

コア数
MHz
flex16+5
発表年

NNP-L1000

120
2019

Lake Crest
12

39
2017

Lake Crest の性能は理論性能の96.4%が38TOPSという事から逆算。 https://pc.watch.impress.co.jp/docs/news/1123602.html


Intel Xeon Phi

コア数
MHz
FP32
発表年

7295
72
1500
14
2017/12


Intel Xeon

型番
アーキテクチャ
コア数
GHz
FP32
FP64
メモリ帯域

Xeon Platinum 9282
Cascade Lake
56

262.26
2019

Xeon Platinum 8180
Skylake
28
3.2
5.734
2.867
119.21
2017

E7-8890 v4
Broadwell
24
3.4
2.611
1.306
85
2016

E7-8890 v3
Haswell
18
3.3
1.901
0.950
85
2015

E7-8890 v2
Ivy Bridge
15
3.4
0.816
0.408
85
2014

E5-2687W
Sandy Bridge
8
3.8
0.486
0.243
51.2
2012

すいません。クロック周波数は「全てのコアを使用するが AVX を使用しない場合」のクロック周波数で、AVX を使う場合は、もっとクロックが下がるそうです。Xeon Platinum 8180 は 3.2 → 2.3 GHz で、本当は 4.122 TFLOPS。


演算数

1コア・1クロックあたりの演算数(FP32)


  • AVX-512: Skylake = 64

  • AVX2: Haswell, Broadwell = 32

  • AVX1: Sandy Bridge, Ivy Bridge = 16


Google Tensor Processing Unit

MAC数
MHz
INT8
bfloat16
メモリ帯域
開発年

Edge TPU

4

2018

v3

x
105

2018

v2
32768
700
x
45
600
2017

v1
65536
700
92
x

2015

v2は1つのTPU Chipに2コア。1コアにつき128 * 128 = 16384個の積和算回路。TPU Chipに2 * 8 = 16GBのメモリ。上記はTPU Chipの情報。1つのTPUボードに4つのTPU Chip搭載。メモリは合計4 * 16GB/TPUボード。TPU Podは64TPUボード。コア→TPU Chip→TPUボード→TPU Podという階層構造。単にTPUと呼んだ場合は1枚のTPUボードの事をさす。bfloat16を採用。符号部1ビット、指数部8ビット、仮数部7ビット。仮数部以外はfp32と同じ。

v1も発表は2017年。


PFN MN-Core

型番
FP16
FP32
FP64

MN-Core
131
32.75
8.19
2020

1つのパッケージには4つのダイがあり、パッケージの性能で発表しているのですが、上記は4で割ったダイの性能です。報道の感じだと2020年稼働で社内利用専用か?


自動車メーカーのTesla

型番
INT8
FP16
FP32

?
36
0.6
?
2019

NNプロセッサ+GPU+CPUの組合せ。NNプロセッサがINT8、GPUが浮動小数を扱える。


Xilinx Virtex

型番
DSP
INT8
クラウド

UltraScale+ VU9P
6840
21.3
EC2 f1
Alibaba f3

情報源 https://www.xilinx.com/support/documentation/selection-guides/ultrascale-plus-fpga-product-selection-guide.pdf


クラウドのコスト比較

会社
種別
マシン名
CPU
コア数
FP16
FP32
価格
コスパ
FP16
コスパ
FP32

Amazon
CPU
t3.nano
1

0.192
0.0516

3.72

Amazon
CPU
c5.18xlarge
36

6.912
1.1590

5.34

Amazon
GPU
p2.xlarge
2

4.368
0.27

16.18

Amazon
GPU
g3.4xlarge
8
9.667
4.833
0.372
25.99
12.99

Amazon
GPU
p3.2xlarge
4
119.194
14.89
0.918
129.84
16.22

Google
CPU
n1-highcpu-96
48

9.216
0.72

12.80

Google
GPU
n1-highcpu-4
+ K80
2

4.368
0.165

26.47

Google
GPU
n1-highcpu-4
+ T4
2
65
8.1
0.32
203.13
25.31

Google
GPU
n1-highcpu-4
+ P100
2
18.636
9.318
0.46
40.51
20.26

Google
GPU
n1-highcpu-4
+ V100
2
119.194
14.89
0.77
154.80
19.34

Google
TPU
n1-highcpu-4
+ TPU v2
2
180

1.38
130.43

Google
TPU
n1-highcpu-4
+ TPU v3
2
420

2.43
172.84

Azure
CPU
F72 v2
36

6.912
0.612

11.29

Azure
GPU
NC6 v3
6
119.194
14.89
0.612
194.76
24.33

Amazon EC2 はスポットインスタンス、Google Cloud はプリエンプティブインスタンス、Azure は低優先度VM。価格は2018年8月30日の米国インスタンスの価格。価格の単位はドル/時。コスパの単位は TFLOPS・時/ドル 。CPU のクロックは全て 3.0 GHz (ブースト) として計算(やや不正確です)。

t3.nano は t3 unlimited を使う前提です。そして Intel MKL など Hyper-Threading を使わない前提です。t3 unlimited は稼働時しかコストが発生しないので、c5.18xlarge 比だと平均負荷が7割以下、Google n1-highcpu 相手で平均負荷が3割以下で、t3.nano の方がコスパが良くなります。embarrassingly parallel でなく、かつ、複数のマシンに分割可能なタスクに対して効果的です。とは言えども、可能であれば、正攻法の"通信がボトルネックにならない粒度でタスクを細かく分割してキューにつめ、計算ノードの負荷を均一にする"という手法の方が良いと思います。


総括


  • 5年で10倍速くなるムーアの法則は健在

  • Tegra は Tesla の7年遅れ