NVIDIA Tesla
NVIDIA Tesla(エヌビディア テスラ)は、NVIDIAのデータセンター用のGPU製品シリーズ。GeForceやQuadroをベースとしており、NVIDIA初のGPGPU専用製品である。2017年のVoltaマイクロアーキテクチャ以降は Tesla という名称が消え、単に頭に NVIDIA が付くだけになった。
概要
[編集]汎用CPUに比べて浮動小数点演算性能が高く、高性能計算市場での使用を意図した製品であり、TOP500のスーパーコンピュータでも多数採用されている。主な用途は機械学習のディープラーニング、シミュレーション、大規模な計算(特に浮動小数点演算)、高品質の画像生成などで、APIとしてCUDAやOpenCL、DirectComputeを使用する。
なお同社製グラフィックス製品であるGeForceやQuadroとは異なり、TeslaシリーズはC2050/C2070などの一部を除いてディスプレイ出力を持たず、完全に演算用途に特化している。
競合となるのはAMDのAMD FireStream(AMD FirePro Sシリーズ)である。
Kepler世代以降のTeslaは353.06ドライバでOpenCL 1.2に対応している[1]が、それ以前のG80からFermiまではOpenCL 1.1までの対応となる。
仕様と構成
[編集]表中の性能欄は、単精度/倍精度浮動小数点の理論演算性能(ピーク時)である。
Teslaマイクロアーキテクチャ
[編集]2007年6月20日発表[2]。G80ベースのx870シリーズは単精度浮動小数点演算のみの対応であり、倍精度浮動小数点演算は実行できない[3]。
構成 | 機種名 | GPU数 | グラフィックスクロック (MHz) | CUDA | メモリ | 性能 単精度 (TFLOPS) |
性能 倍精度 (TFLOPS) |
形状など | |||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CUDAコア数 | CUDAコアクロック (MHz) | 最大帯域幅 (GB/s) | バス規格 | バス幅 (bit) | 総容量 (GiB) | クロック (GHz) | |||||||
GPUコンピューティングプロセッサ1 | C870 | 1 | 600 | 128 | 1350 | 77 | GDDR3 | 384 | 1.5 | 1.6 | 0.519 | N/A | フルハイトビデオカード |
デスクサイト・スーパーコンピュータ1 | D870 | 2 | 600 | 256 | 1350 | 154 | GDDR3 | 384 | 3 | 1.6 | 1.037 | N/A | デスクサイドシステム/ラックマウント装置 |
GPUコンピューティングサーバ1 | S870 | 4 | 600 | 512 | 1350 | 307 | GDDR3 | 384 | 6 | 1.6 | 2.074 | N/A | 1Uラック |
C1060 コンピューティングプロセッサ2 [4] |
C1060 | 1 | 602 | 240 | 1296 | 102 | GDDR3 | 512 | 4 | 0.800 | 0.933 | 0.078 | フルハイトビデオカード IEEE 754r 機能 |
S1070 1U GPUコンピューティングサーバ2 [5] [6] |
S1070 | 4 | 602 | 960 (240×4) |
1296/1440 | 408 (102×4) |
GDDR3 | 512 | 16 (4×4) |
? | 3.73/4.14 | 0.311/0.345 | 1Uラック IEEE 754r 機能 |
注釈
- 1 NVIDIAが明らかにしていない仕様については、GeForce 8800 GTXからの推測。
- 2 NVIDIAが明らかにしていない仕様については、GeForce GTX 280からの推測。
Fermiマイクロアーキテクチャ
[編集]2009年11月6日発表[7]。ハーフレートの倍精度演算性能を実現している(倍精度の理論演算性能は単精度の場合の1/2になっている)。
機種名 | GPU数 | グラフィックスクロック (MHz) | CUDA | メモリ | 性能 単精度 (TFLOPS) |
性能 倍精度 (TFLOPS) |
形状など | |||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
CUDAコア数 | CUDAコアクロック (MHz) | 最大帯域幅 (GB/s) | バス規格 | バス幅 (bit) | 総容量 (GiB) | クロック (GHz) | ||||||
C20503, 5 [8] | 1 | 575 | 448 | 1150 | 144 | GDDR5 | 384 | 3 | 1.5 | 1.03 | 0.515 | フルハイトビデオカード IEEE 754r 機能 画面出力機能付き |
C20703, 5 | 1 | 575 | 448 | 1150 | 144 | GDDR5 | 384 | 6 | 1.5 | 1.03 | 0.515 | |
C20753, 6 [9] | 1 | 575 | 448 | 1150 | 144 | GDDR5 | 384 | 6 | 1.5 | 1.03 | 0.515 | |
M2050 | 1 | 575 | 448 | 1150 | 148 | GDDR5 | 384 | 3 | 1.546 | 1.03 | 0.515 | フルハイト/ パッシブ・ヒートシンク型 |
M2070 | 1 | 575 | 448 | 1150 | 150 | GDDR5 | 384 | 6 | 1.566 | 1.03 | 0.515 | |
M2090 | 1 | 650 | 512 | 1300 | 177 | GDDR5 | 384 | 6 | 1.85 | 1.331 | 0.665 | |
S2050 | 4 | 575 | 1792 | 1150 | 148 | GDDR5 | 384 | 12 | 1.55 | 4.13 | 2.06 | 1Uラック |
注釈
- 3 NVIDIAが明らかにしていない仕様については、Quadro 6000からの推測。
- 5 GF100 (Quadro 6000/GeForce GTX 480) ベース[要出典]
- 6 GF110 (GeForce GTX 580[要出典]) ベース
Keplerマイクロアーキテクチャ
[編集]最初の製品であるTesla K10は2012年5月16日に発表された[10]。GK104ベースのK10は単精度の理論演算性能は高いものの、倍精度の理論演算性能が極端に低く(単精度の場合の1/24[11])、科学技術計算向けではなく信号処理・画像処理向けのソリューションという位置付けになっている[12]。なおGK110ベースとなるK20およびK40、そしてGK210ベースとなるK80における倍精度の理論演算性能は単精度の場合の1/3となっている[13] [14] [15]。2014年に発表されたTesla K8もGK104ベース[16]だが、K8はTeslaシリーズ初の1スロット省スペース製品となる[17]。
Fermiマイクロアーキテクチャでは SM(ストリーミング・マルチプロセッサー)と呼ばれていた概念が、KeplerマイクロアーキテクチャではSMXという名称になった。GK104/GK110の各SMXが搭載する代表的なユニットは下記である[18] [19]。
- 192 CUDAコア。16 CUDAコアを1グループとして、12グループ搭載する。
- 64K個の32ビットレジスタ。合計256KB。
- L1キャッシュ 64KB。このうち 16KB/32KB/48KB を共有メモリとして使用。共有メモリからは1サイクルで最大256B読み出せる。
- 読み取り専用キャッシュ 48KB。
- 特殊関数ユニット (SFU) 32個。三角関数、対数関数などを計算。
Fermi同様、各スレッド(コア)はワープ (warp) 単位で動作させる(1ワープは32スレッド)。ワープ内のスレッドは同期し、それぞれ同じ命令を実行する。16 CUDAコアを1グループとしているので、32スレッドに命令が行き渡るには2サイクル以上必要となる。その他、Kepler世代ではワープ内で共有メモリを介することなくデータ交換を可能にするシャッフル命令が実装されている。なおCompute capability (CC) に関しては、GK104はCC 3.0、GK110はCC 3.5、そしてGK210はCC 3.7[20]となるが、CC 3.5以上ではDynamic ParallelismやHyper-Qといった機能を備えている[21]。
フルスペックGK104では512KB、またフルスペックGK110/GK210では 1536KB (1.5MB) の L2 キャッシュを全 SMX で共有し、このキャッシュを経由して DRAM にアクセスする。なおインテルの第1世代Xeon Phiは30MB前後の L2 キャッシュを搭載しており、この点が設計の違いの一つとなる[独自研究?]。
機種名 | GPU数 | CUDA | メモリ | 性能 単精度 (TFLOPS) |
性能 倍精度 (TFLOPS) |
形状など | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
CUDAコア数 | SMX数 | CUDAコアクロック (MHz) | 最大帯域幅 (GB/s) | バス規格 | バス幅 (bit) | 総容量 (GiB) | クロック (GHz) | |||||
K8 7 | 1 | 1536 | 8 | 693 811 (Boost) |
160 | GDDR5 | 256 | 8 | 2.5 | 2.13 2.49 (Boost) |
0.09 0.10 (Boost) |
フルハイト/1スロット型 |
K10 8 | 2 | 3072 (1536x2) |
8x2 | 745 | 320 (160x2) |
GDDR5 | 256 | 8 (4x2) |
2.5 | 4.577 (2.288x2) |
0.191 (0.095x2) |
フルハイト/ パッシブ・ヒートシンク型 |
K20 | 1 | 2496 | 13 | 706 | 208 | GDDR5 | 320 | 5 | 2.6 | 3.52 | 1.17 | |
K20X | 1 | 2688 | 14 | 732 | 250 | GDDR5 | 384 | 6 | 2.6 | 3.95 | 1.31 | |
K40 | 1 | 2880 | 15 | 745 875 (Boost) |
288 | GDDR5 | 384 | 12 | 3 | 4.29 5 (Boost) |
1.43 | |
K80 | 2 | 4992 (2496x2) |
13x2 | 562 875 (Boost) |
480 (240x2) |
GDDR5 | 384 | 24 | 2.5 | 5.6 8.74 (Boost) |
1.87 |
注釈
- 7 GK104ベース
- 8 GK104 (GeForce GTX 690) ベース
Maxwellマイクロアーキテクチャ
[編集]MaxwellではKeplerよりもさらに倍精度サポートが削られている(単精度の場合の1/32)。M4/M40は主に機械学習・ディープラーニング向けのソリューションとして提供されている[22] [23] [24] [25]。
機種名 | GPU数 | CUDA | メモリ | 性能 単精度 (TFLOPS) |
性能 倍精度 (TFLOPS) |
形状など | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
CUDAコア数 | SM数 | CUDAコアクロック (MHz) | 最大帯域幅 (GB/s) | バス規格 | バス幅 (bit) | 総容量 (GiB) | クロック (GHz) | |||||
M6 [26] | 1 | 1536 | 12 | 950
1051 (Boost) |
147.3 | GDDR5 | 256 | 8 | 2.5 | 3.6 (Boost) | 0.11 (Boost) | MXM |
M60 [27] | 2 | 4096 (2048x2) |
32
(16x2) |
899
1178 (Boost) |
320
(160x2) |
GDDR5 | 256 | 16 (8x2) |
2.5 | 9.65
(4.825x2) |
0.3
(0.15x2) |
フルハイト |
M4 [28] | 1 | 1024 | 8 | 517
1074 (Boost) |
88 | GDDR5 | 128 | 4 | 2.75 | 2.2 (Boost) | 0.07 (Boost) | ロープロファイル/ パッシブ |
M40 [29] | 1 | 3072 | 24 | 948 1114 (Boost) |
288 | GDDR5 | 384 | 12 | 3 | 5.8 6.8 (Boost) |
0.18 0.21 (Boost) |
フルハイト/ パッシブ・ヒートシンク型 |
Pascalマイクロアーキテクチャ
[編集]最初の製品であるTesla P100は2016年4月に発表された[30]。16nmプロセスルールを採用。GP100ベースのP100では、Fermi世代のようなハーフレートの倍精度対応のほか、ダブルレートの半精度対応も実現されている(半精度の理論演算性能は単精度の場合の2倍になっている)。メモリに第2世代のHigh Bandwidth Memory (HBM2) を採用する。NVIDIA独自のインターコネクト規格であるNVLinkにも対応し、これまでプロセッサ間の通信ボトルネックとなっていたPCI Expressを大幅に超える伝送帯域幅を実現できる。
GP102ベースのP40およびGP104ベースのP4では、倍精度の理論演算性能は単精度の場合の1/32になっている[31]。また、SMあたりのCUDAコア数は128、共有メモリも96KBとなっており、Maxwellアーキテクチャに近い[32]。
機種名 | GPU数 | CUDA | メモリ | 性能 単精度 (TFLOPS) |
性能 倍精度 (TFLOPS) |
形状など | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
CUDAコア数 | SM数 | CUDAコアクロック (MHz) | 最大帯域幅 (GB/s) | バス規格 | バス幅 (bit) | 総容量 (GiB) | クロック (GHz) | |||||
P4 [33] | 1 | 2560 | 20 | 810 1063 (Boost) |
192 | GDDR5 | 256 | 8 | 3 | 4.15 5.44 (Boost) |
0.13 0.17 (Boost) |
ロープロファイル |
P40 [34] | 1 | 3840 | 30 | 1303 1531 (Boost) |
346 | GDDR5 | 384 | 24 | 7.25 | 10.01 11.76 (Boost) |
0.31 0.36(Boost) |
フルハイト |
P100 PCIe [35] | 1 | 3584 | 56 | 1189 1328 (Boost) |
540 /
720 |
HBM2 | 4096 | 12 /
16 |
0.715 | 9.5 (Boost) | 4.8 (Boost) | フルハイト/
パッシブ |
P100 SXM2 [36] | 1 | 3583 | 56 | 1328 1480 (Boost) |
720 | HBM2 | 4096 | 16 | 0.715 | 10.6 (Boost) | 5.3 (Boost) | NVLink/
パッシブ |
最初の製品であるTesla V100は2017年5月に発表された[38]。12nmプロセスルールを採用。行列演算を実行するための専用プロセッサ「Tensor Core」を搭載する。
機種名 | GPU数 | CUDA | メモリ | 性能 単精度 (TFLOPS) |
性能 倍精度 (TFLOPS) |
形状など | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
CUDAコア数 | SM数 | CUDAコアクロック (MHz) | 最大帯域幅 (GB/s) | バス規格 | バス幅 (bit) | 総容量 (GiB) | クロック (GHz) | |||||
V100 PCIe | 1 | 5120 | 80 | 1245 1380 (Boost) |
900 | HBM2 | 4096 | 16 | 0.876 | 14 (Boost) | 7 (Boost) | フルハイト/
パッシブ |
V100 SXM2 | 1 | 5120 | 80 | 1312
1530 (Boost) |
900 | HBM2 | 4096 | 16 | 0.876 | 15 (Boost) | 7.5 (Boost) | NVLink/
パッシブ |
Turingマイクロアーキテクチャ
[編集]Tesla T4が2018年9月に発売された。
機種名 | GPU数 | CUDA | メモリ | 性能 単精度 (TFLOPS) |
性能 倍精度 (TFLOPS) |
形状など | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
CUDAコア数 | SM数 | CUDAコアクロック (MHz) | 最大帯域幅 (GB/s) | バス規格 | バス幅 (bit) | 総容量 (GiB) | クロック (GHz) | |||||
T4 | 1 | 2560 | 40 | 585
1590 (Boost) |
320 | GDDR6 | 256 | 16 | 1.25 | 8.1 | 不明 | フルハイト |
Ampereマイクロアーキテクチャ
[編集]最初の製品であるTesla A100は2020年5月に発売された。
機種名 | GPU数 | CUDA | メモリ | 性能 単精度 (TFLOPS) |
性能 倍精度 (TFLOPS) |
形状など | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
CUDAコア数 | SM数 | CUDAコアクロック (MHz) | 最大帯域幅 (GB/s) | バス規格 | バス幅 (bit) | 総容量 (GiB) | クロック (GHz) | |||||
A2 | 1 | 1280 | 不明 | 1440
1770 (Boost) |
200 | GDDR6 | 128 | 16 | 6.25 | 4.531 | 0.14 | ハーフハイト |
A10 | 1 | 9216 | 84 | 885
1695 (Boost) |
600 | GDDR6 | 384 | 24 | 不明 | 31.24 | 0.976 | フルハイト |
A16 | 4 | 5120
(1280x4) |
20 | 885
1695 (Boost) |
800
(200x4) |
GDDR6 | 128x4 | 64
(16x4) |
6.25 | 18.432
(4.608x4) |
1.0848 | フルハイト/
2スロット |
A30 | 1 | 3584 | 128 | 930
1440 (Boost) |
933 | HBM2 | 3072 | 24 | 1.215 | 10.32 | 5.161 | フルハイト/
2スロット |
A40 | 1 | 10752 | 84 | 1305
1740 (Boost) |
696 | GDDR6 | 384 | 48 | 7.251 | 37.42 | 1.168 | フルハイト/
2スロット |
A100 PCIe | 1 | 6912 | 108 | 765
1410 (Boost) |
1555 | HBM2 | 5120 | 40 / 80 | 不明 | 19.5 | 9.7 | フルハイト/
2スロット |
A100 SXM | 1555
2039 |
不明 | SXM |
Hopperマイクロアーキテクチャ
[編集]最初の製品であるTesla H100は2022年3月に発売された。
機種名 | GPU数 | CUDA | メモリ | 性能 単精度 (TFLOPS) |
性能 倍精度 (TFLOPS) |
形状など | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
CUDAコア数 | SM数 | CUDAコアクロック (MHz) | 最大帯域幅 (GB/s) | バス規格 | バス幅 (bit) | 総容量 (GiB) | クロック (GHz) | |||||
H100 PCIe | 1 | 14592 | 114 | 1065
1650 (Boost) |
2000 | HBM2e | 5120 | 80 | 不明 | 48 | 24 | フルハイト/
2スロット |
H100 SXM | 1 | 16896 | 132 | 3350 | HBM3 | 不明 | 60 | 30 | SXM | |||
H200 SXM | 4800 | HBM3e | 141 | 不明 | 67 | 34 | SXM |
脚注
[編集]- ^ Release 352 Quadro, NVS, Tesla, GRID, & Notebook Drivers - Version 353.06; RN-WQ35306-01_v01 | June 1, 2015; Windows 7, Windows 8, & Windows 8.1; Release Notes
- ^ NVIDIA、G80ベースのHPC向けGPU「Tesla」
- ^ Tesla Technical Brief (PDF)
- ^ NVIDIA Tesla C1060コンピューティングプロセッサ―ワークステーション向けメニーコアスーパーコンピューティング
- ^ NVIDIA Tesla S1070 1Uコンピューティングシステム― データーセンター向けの測定可能なメニーコアスーパーコンピューティング
- ^ NVIDIA Tesla S1070 - 株式会社 エルザ ジャパン
- ^ NVIDIA、Fermi採用の並列プロセッサ「NVIDIA Tesla 20シリーズ」発表 - ITmedia エンタープライズ
- ^ Tesla C2050 / C2070 GPUコンピューティングプロセッサ
- ^ NVIDIA Tesla C2075 | 株式会社 エルザ ジャパン
- ^ NVIDIA Tesla K10 GPU、石油・ガスの探査や防衛産業向け信号処理・画像処理を高速化 | NVIDIA
- ^ 4Gamer.net ― 「GeForce GTX TITAN」登場。500円玉より大きなモンスターGPUの“性能以外”を徹底解説
- ^ 4Gamer.net ― NVIDIA,Keplerベースの新世代Teslaを発表。「GK110」コア採用の「Tesla K20」が年内に登場予定
- ^ AnandTech | NVIDIA Launches Tesla K80, GK210 GPU
- ^ NVIDIA,新型GPUコア「GK210」搭載のHPC向けデュアルGPUカード「Tesla K80」を発表 - 4Gamer.net
- ^ NVIDIA® Tesla® GPU Accelerators Datasheet - nvidia-tesla-kepler-family-datasheet.pdf
- ^ Tesla-K8-Board-Spec-BD-07228-001-v03.pdf
- ^ NVIDIA Tesla K8 | 株式会社 エルザ ジャパン
- ^ 【後藤弘茂のWeekly海外ニュース】 NVIDIAが次世代GPUアーキテクチャ「Kepler」のベールを剥いだ
- ^ ホワイトペーパー NVIDIAの次世代型CUDA コンピュート・アーキテクチャ Kepler GK110
- ^ Whitepaper; NVIDIA’s Next Generation CUDA™ Compute Architecture: Kepler™ GK110/210
- ^ Kepler Tuning Guide :: CUDA Toolkit Documentation
- ^ NVIDIA,Maxwellベースの数値演算アクセラレータ「Tesla M40」「Tesla M4」を発表 - 4Gamer.net
- ^ NVIDIA、Maxwellベースで7TFLOPSを実現する機械学習向け「Tesla M40」 ~Low Profileの1スロットの「Tesla M4」も - PC Watch
- ^ NVIDIA Tesla M60 and Tesla M6 Accelerators To Power Grid 2.0 - M60 Featuring Dual-GM204 GPUs
- ^ NVIDIA Announces Tesla M40 & M4 Server Cards - Data Center Machine Learning
- ^ Tesla M6 Product Brief
- ^ Tesla M60 Product Brief
- ^ Data Sheet: Tesla M4
- ^ NVIDIA Tesla M40 | 株式会社 エルザ ジャパン
- ^ [GTC 2016]西川善司の3DGE:Teslaとして登場した新世代GPU「Pascal」,その詳細に迫る - 4Gamer.net
- ^ NVIDIA,ディープラーニング向け数値演算アクセラレータ「Tesla P40」「Tesla P4」を発表 - 4Gamer.net
- ^ PASCAL: 最新GPUアーキテクチャ
- ^ NVIDIA Tesla P4 GPU Datasheet
- ^ Data Sheet: Tesla P40
- ^ Data Sheet: Tesla P100
- ^ Data Sheet: Tesla P100
- ^ NVIDIA TESLA V100 GPU ACCELERATOR
- ^ [GTC 2017]西川善司の3DGE:Volta世代のGPU「GV100」は,これまでと大きく異なるプロセッサだ――いったい何が? - 4Gamer.net