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に対応しているが、それ以前のG80からFermiまではOpenCL 1.1までの対応となる。
仕様と構成.
表中の性能欄は、単精度／倍精度浮動小数点の理論演算性能（ピーク時）である。
Teslaマイクロアーキテクチャ.
2007年6月20日発表。G80ベースのx870シリーズは単精度浮動小数点演算のみの対応であり、倍精度浮動小数点演算は実行できない。
注釈
Fermiマイクロアーキテクチャ.
2009年11月6日発表。ハーフレートの倍精度演算性能を実現している（倍精度の理論演算性能は単精度の場合の1/2になっている）。
注釈
Keplerマイクロアーキテクチャ.
最初の製品であるTesla K10は2012年5月16日に発表された。GK104ベースのK10は単精度の理論演算性能は高いものの、倍精度の理論演算性能が極端に低く（単精度の場合の1/24）、科学技術計算向けではなく信号処理・画像処理向けのソリューションという位置付けになっている。なおGK110ベースとなるK20およびK40、そしてGK210ベースとなるK80における倍精度の理論演算性能は単精度の場合の1/3となっている 。2014年に発表されたTesla K8もGK104ベースだが、K8はTeslaシリーズ初の1スロット省スペース製品となる。
Fermiマイクロアーキテクチャでは SM（ストリーミング・マルチプロセッサー）と呼ばれていた概念が、KeplerマイクロアーキテクチャではSMXという名称になった。GK104/GK110の各SMXが搭載する代表的なユニットは下記である 。
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となるが、CC 3.5以上ではDynamic ParallelismやHyper-Qといった機能を備えている。
フルスペックGK104では512KB、またフルスペックGK110/GK210では 1536KB (1.5MB) の L2 キャッシュを全 SMX で共有し、このキャッシュを経由して DRAM にアクセスする。。
注釈
Maxwellマイクロアーキテクチャ.
MaxwellではKeplerよりもさらに倍精度サポートが削られている（単精度の場合の1/32）。M4/M40は主に機械学習・ディープラーニング向けのソリューションとして提供されている 。
Pascalマイクロアーキテクチャ.
最初の製品であるTesla P100は2016年4月に発表された。16nmプロセスルールを採用。GP100ベースのP100では、Fermi世代のようなハーフレートの倍精度対応のほか、ダブルレートの半精度対応も実現されている（半精度の理論演算性能は単精度の場合の2倍になっている）。メモリに第2世代のHigh Bandwidth Memory (HBM2) を採用する。NVIDIA独自のインターコネクト規格であるNVLinkにも対応し、これまでプロセッサ間の通信ボトルネックとなっていたPCI Expressを大幅に超える伝送帯域幅を実現できる。
GP102ベースのP40およびGP104ベースのP4では、倍精度の理論演算性能は単精度の場合の1/32になっている。また、SMあたりのCUDAコア数は128、共有メモリも96KBとなっており、Maxwellアーキテクチャに近い。
Voltaマイクロアーキテクチャ.
最初の製品であるTesla V100は2017年5月に発表された。12nmプロセスルールを採用。行列演算を実行するための専用プロセッサ「Tensor Core」を搭載する。
Turingマイクロアーキテクチャ.
Tesla T4が2018年9月に発売された。
Ampereマイクロアーキテクチャ.
最初の製品であるTesla A100は2020年5月に発売された。
Hopperマイクロアーキテクチャ.
最初の製品であるTesla H100は2022年3月に発売された。