NVIDIA Tesla

出典: フリー百科事典『ウィキペディア(Wikipedia)』
Nvidia Tesla GPU

NVIDIA Tesla(エヌビディア テスラ)は、NVIDIAデータセンター用のGPU製品シリーズ。GeForceQuadroをベースとしており、NVIDIA初のGPGPU専用製品である。2017年のVoltaマイクロアーキテクチャ以降は Tesla という名称が消え、単に頭に NVIDIA が付くだけになった。

概要[編集]

汎用CPUに比べて浮動小数点演算性能が高く、高性能計算市場での使用を意図した製品であり、TOP500スーパーコンピュータでも多数採用されている。主な用途は機械学習ディープラーニングシミュレーション、大規模な計算(特に浮動小数点演算)、高品質の画像生成などで、APIとしてCUDAOpenCLDirectComputeを使用する。

なお同社製グラフィックス製品であるGeForceやQuadroとは異なり、TeslaシリーズはC2050/C2070などの一部を除いてディスプレイ出力を持たず、完全に演算用途に特化している。

競合となるのはAMDAMD FireStreamAMD 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/

パッシブ

Voltaマイクロアーキテクチャ[37][編集]

最初の製品である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

脚注[編集]

  1. ^ 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
  2. ^ NVIDIA、G80ベースのHPC向けGPU「Tesla」
  3. ^ Tesla Technical Brief (PDF)
  4. ^ NVIDIA Tesla C1060コンピューティングプロセッサ―ワークステーション向けメニーコアスーパーコンピューティング
  5. ^ NVIDIA Tesla S1070 1Uコンピューティングシステム― データーセンター向けの測定可能なメニーコアスーパーコンピューティング
  6. ^ NVIDIA Tesla S1070 - 株式会社 エルザ ジャパン
  7. ^ NVIDIA、Fermi採用の並列プロセッサ「NVIDIA Tesla 20シリーズ」発表 - ITmedia エンタープライズ
  8. ^ Tesla C2050 / C2070 GPUコンピューティングプロセッサ
  9. ^ NVIDIA Tesla C2075 | 株式会社 エルザ ジャパン
  10. ^ NVIDIA Tesla K10 GPU、石油・ガスの探査や防衛産業向け信号処理・画像処理を高速化 | NVIDIA
  11. ^ 4Gamer.net ― 「GeForce GTX TITAN」登場。500円玉より大きなモンスターGPUの“性能以外”を徹底解説
  12. ^ 4Gamer.net ― NVIDIA,Keplerベースの新世代Teslaを発表。「GK110」コア採用の「Tesla K20」が年内に登場予定
  13. ^ AnandTech | NVIDIA Launches Tesla K80, GK210 GPU
  14. ^ NVIDIA,新型GPUコア「GK210」搭載のHPC向けデュアルGPUカード「Tesla K80」を発表 - 4Gamer.net
  15. ^ NVIDIA® Tesla® GPU Accelerators Datasheet - nvidia-tesla-kepler-family-datasheet.pdf
  16. ^ Tesla-K8-Board-Spec-BD-07228-001-v03.pdf
  17. ^ NVIDIA Tesla K8 | 株式会社 エルザ ジャパン
  18. ^ 【後藤弘茂のWeekly海外ニュース】 NVIDIAが次世代GPUアーキテクチャ「Kepler」のベールを剥いだ
  19. ^ ホワイトペーパー NVIDIAの次世代型CUDA コンピュート・アーキテクチャ Kepler GK110
  20. ^ Whitepaper; NVIDIA’s Next Generation CUDA™ Compute Architecture: Kepler™ GK110/210
  21. ^ Kepler Tuning Guide :: CUDA Toolkit Documentation
  22. ^ NVIDIA,Maxwellベースの数値演算アクセラレータ「Tesla M40」「Tesla M4」を発表 - 4Gamer.net
  23. ^ NVIDIA、Maxwellベースで7TFLOPSを実現する機械学習向け「Tesla M40」 ~Low Profileの1スロットの「Tesla M4」も - PC Watch
  24. ^ NVIDIA Tesla M60 and Tesla M6 Accelerators To Power Grid 2.0 - M60 Featuring Dual-GM204 GPUs
  25. ^ NVIDIA Announces Tesla M40 & M4 Server Cards - Data Center Machine Learning
  26. ^ Tesla M6 Product Brief
  27. ^ Tesla M60 Product Brief
  28. ^ Data Sheet: Tesla M4
  29. ^ NVIDIA Tesla M40 | 株式会社 エルザ ジャパン
  30. ^ [GTC 2016]西川善司の3DGE:Teslaとして登場した新世代GPU「Pascal」,その詳細に迫る - 4Gamer.net
  31. ^ NVIDIA,ディープラーニング向け数値演算アクセラレータ「Tesla P40」「Tesla P4」を発表 - 4Gamer.net
  32. ^ PASCAL: 最新GPUアーキテクチャ
  33. ^ NVIDIA Tesla P4 GPU Datasheet
  34. ^ Data Sheet: Tesla P40
  35. ^ Data Sheet: Tesla P100
  36. ^ Data Sheet: Tesla P100
  37. ^ NVIDIA TESLA V100 GPU ACCELERATOR
  38. ^ [GTC 2017]西川善司の3DGE:Volta世代のGPU「GV100」は,これまでと大きく異なるプロセッサだ――いったい何が? - 4Gamer.net

関連項目[編集]

外部リンク[編集]