Nvidia Tesla

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Nvidia Tesla 2075

Tesla ist ein Prozessor mit stark parallelisiertem Design, auch Streamprozessor genannt, der Firma Nvidia. Der auf GPU-Technik basierende Prozessor kann durch die hauseigene CUDA-API und OpenCL angesprochen werden. Das Produkt stand in direkter Konkurrenz zu FireStream bzw. FirePro[1] des Konkurrenten AMD.

Nachdem die ersten Karten Mitte 2007 auf Basis der G80-GPU vorgestellt wurden, folgten ein Jahr später Tesla-Karten mit dem GT200-Grafikchip, der auch für Desktopgrafikkarten der Geforce-200-Serie genutzt wird.

Unter dem Codename „Fermi“ stellte Nvidia am 30. September 2009 auf der hauseigenen „GPU Technology Conference“ den Grafikprozessor der nachfolgenden Generation vor, der in Produkten wie Tesla, Quadrokarten und in abgewandelter Form (z. B. bei Double Precision beschnitten) [2] auch in der Geforce-400-Serie verwendet wird. Teslakarten auf Basis des Fermi-Grafikprozessors kündigte Nvidia auf der Supercomputing-Messe 09 für das zweite und dritte Quartal 2010 an.[3]

Mit aktuelleren Treibern wurden die Möglichkeiten in OpenGL, CUDA und OpenCL zum Teil erheblich erweitert [4] , [5], [6].

Technik[Bearbeiten | Quelltext bearbeiten]

Tesla[Bearbeiten | Quelltext bearbeiten]

G80[Bearbeiten | Quelltext bearbeiten]

Der G80-Grafikprozessor war der erste Prozessor von Nvidia, der auf der neuentwickelten Unified-Shader-Architektur basierte. Nachdem der G80 seit Ende 2006 auf den Geforce-Grafikkarten 8800 GTX und GTS verbaut wurde, stellte Nvidia erste Teslamodelle Mitte 2007 vor. Dabei wird primär der G80 im A3-Stepping verwendet, wie er auf der Geforce 8800 Ultra verbaut wurde.

GT200[Bearbeiten | Quelltext bearbeiten]

Der GT200-Prozessor war der zweite Chip, welchen Nvidia auf der Teslaserie verbaute. Im Gegensatz zum G80 plante Nvidia von Anfang an mit dem Einsatz auf den Teslamodellen (daher das T in der Kennung) und implementierte die Double-Precision-Fähigkeiten über 30 zusätzliche MADD-Einheiten nach der IEEE-754R-Spezifikation, was für die Geforce-Grafikkarten nicht notwendig gewesen wäre.

Fermi[Bearbeiten | Quelltext bearbeiten]

Der Fermikern wird im 40-nm-Fertigungsprozess hergestellt und verfügt über rund drei Milliarden Transistoren. Er ist, im Gegensatz zu seinem Vorgänger, dem GT200, in weiten Teilen eine Neuentwicklung auf Basis der Unified-Shader-Architektur des G80-Grafikprozessors. Fermi ist in 16 Shadercluster unterteilt, wobei jeder Cluster über 32 Streamprozessoren verfügt. Damit sind insgesamt 512 Streamprozessoren vorhanden. Der Fermi-Chip verfügt über 16 „Load/Store“-Einheiten, sowie vier separate „Special Function Units“ zur Sinus- und Kosinus-Berechnung. Des Weiteren sind auf dem Fermikern sechs 64-Bit-Speichercontroller für GDDR5-Speicher vorhanden, woraus ein 384-Bit-Speicherinterface resultiert. Dieses ermöglicht den Ausbau des Speichers auf 1,5 GB, 3 GB und 6 GB. Die Speichercontroller können nun auch mit ECC-Speicher umgehen, der eine eigene Fehlerkorrektur aufweist.

Nvidia misst dem GPU-Computing inzwischen eine immer größere Bedeutung zu, weshalb viele Architekturänderungen des Fermikerns zur Leistungsverbesserung in diesem Bereich durchgeführt worden sind. So verfügt Fermi als erster Grafikprozessor überhaupt über eine komplette Unterstützung von C++ und ist mit dem IEEE-754-2008-Standard vollständig kompatibel (vorher noch IEEE-754-1985). Letzteres wurde notwendig, um zur Verbesserung der Double-Precision-Fähigkeiten (Rechnen mit doppelter Genauigkeit) das gegenüber MAD genauere FMA (Fused Multiply-Add) verwenden zu können. Dadurch kann jeder Shadercluster des Fermikerns 16 Operationen mit doppelter Genauigkeit pro Taktzyklus ausführen. Damit kann Fermi insgesamt 256 Berechnungen mit doppelter Genauigkeit pro Takt ausführen, wohingegen auf dem GT200 nur 30 möglich waren. Ebenfalls zur Verbesserung der GPU-Computing-Fähigkeiten weist der Fermi-Grafikprozessor neben dem Shared Memory auch einen L1- und L2-Cache auf.

Kepler[Bearbeiten | Quelltext bearbeiten]

GK104[Bearbeiten | Quelltext bearbeiten]

Am 22. März 2012 präsentierte Nvidia mit der Geforce GTX 680 die erste Grafikkarte der Geforce-600-Serie, mit welcher die neue Kepler-Architektur eingeführt wurde. Die Geforce GTX 680 basiert auf dem GK104-Grafikprozessor, der aus 3,54 Mrd. Transistoren besteht, sowie 1536 Streamprozessoren und 128 Textureinheiten, die in acht Shader-Clustern organisiert sind. Die GK104-GPU wird im 28-nm-Fertigungsprozess bei TSMC hergestellt und kommt auf eine Die-Fläche von 294 mm². Ursprünglich war der GK104 als Grafikchip für den Performance-Sektor geplant gewesen, was sich u.a. an der reduzierten „Double-Precision“-Leistung erkennen lässt. Nachdem Nvidia den GK100-Grafikprozessor zu Gunsten des GK110 strich, musste der GK104 auch für den High-End-Sektor verwendet werden, da der GK110 erst für die Kepler-Refresh-Generation zur Verfügung stehen sollte.

GK110[Bearbeiten | Quelltext bearbeiten]

Die GK110-GPU ist mit 7,1 Mrd. Transistoren auf rund 561 mm² (533 mm² im produktionsoptimierten B1-Stepping) der größte und komplexeste Grafikprozessor der Keplergeneration. Er besteht aus 2880 Shader- und 240 Textureinheiten, die auf 15 SMX-Blöcken (Shader-Cluster) verteilt sind. Diese wiederum sind auf fünf Graphics Processing Clusters verteilt, wodurch der GK110 ein Verhältnis von 3:1 aufweist (im Gegensatz zu den restlichen Grafikprozessoren der Keplergeneration, die ein Verhältnis von 2:1 verwenden). Eine weitere Besonderheit des GK110 stellen die zusätzlichen 64 separate ALUs pro SMX-Block dar, die aber nicht für die Single-Precision- (FP32), sondern für die Double-Precision-Operation (FP64) zuständig sind. Ebenfalls für die professionellen Bereich gedacht und nur auf der GK110-GPU vorhanden sind die Features „Dynamic Parallelism“, „Hyper-Q“ und „GPUDirect“.

GK210[Bearbeiten | Quelltext bearbeiten]

Für die Tesla-Serie wurde wegen der Limitierung der Maxwell-Architektur eine verbesserte Version des GK110 entworfen, den GK210-Grafikprozessor.[7]

Maxwell[Bearbeiten | Quelltext bearbeiten]

GM200[Bearbeiten | Quelltext bearbeiten]

Der GM200-Grafikprozessor fungiert auch als High-End-Chip der Geforce-900-Serie und löste in dieser Funktion die GK110-GPU der Geforce-700-Serie ab. Der GM200 besitzt 8 Milliarden Transistoren auf einer Chipfläche von 601 mm², womit er der bis dahin größte und komplexeste Grafikprozessor am Markt war. Aus technischer Sicht stellt der GM200 mit 96 Raster-, 3072 Shader- und 192 Textureinheiten eine um 50 % vergrößerte Variante des GM204 dar.[8] Damit unterscheidet er sich aber auch maßgeblich von seinen Vorgängern: Die GF100-, GF110- oder GK110-GPUs verfügten noch über erweiterte Double-Precision-Fähigkeiten (FP64) und wurde auch auf den Profiserien Quadro und Tesla eingesetzt. Dafür waren auf dem GK110 z. B. in jedem SMX-Block zusätzlich 64 separate ALUs verbaut, wodurch dieser eine DP-Rate von 1/3 erreicht hatte. Da auf den GM200 diese separaten ALUs fehlen (sie sind vermutlich aus Platzgründen gestrichen worden, da die Produktion von Grafikprozessoren mit einer Größe von über 600 mm² aus technischen und wirtschaftlichen Gründen kaum möglich ist)[8] verfügt dieser nur über eine DP-Rate von 1/32. Da Double-Precision-Operationen für 3D-Anwendungen nicht benötigt werden, spielte dieser Aspekt im Gamingsektor keine Rolle, machte den GM200 aber wenig geeignet für die Profiserien Quadro und Tesla.

Deshalb wandte sich Nvidia von seiner bisherigen Strategie, einen High-End-/Enthusiasten-Chip für alle drei Serien zu entwickeln, ab, und setzte den GM200 nur für die Tesla M40 ein. Für die Tesla K 80 wurde stattdessen eine verbesserte Version des Kepler GK110 entworfen, den GK210-Grafikprozessor.

GM204[Bearbeiten | Quelltext bearbeiten]

Der GM204-Grafikprozessor war die erste GPU der Geforce-900-Serie und verwendet die „Maxwell-Architektur der zweiten Generation“. Wie bereits bei der ersten Kepler-Generation, der Geforce-600-Serie, schickt Nvidia den Performance-Chip (GM204) vor dem High-End-Chip (GM200) auf den Markt. Nachdem Nvidia genau wie AMD auf die 20-nm-Fertigung bei TSMC verzichtet hat, wird der GM204 entgegen ursprünglicher Planungen weiterhin in 28-nm-Fertigung hergestellt. Er besitzt 5,2 Milliarden Transistoren auf einer Chipfläche von 398 mm². Der grundsätzliche Aufbau ist mit dem der GM107-GPU der ersten Maxwell-Generation identisch: Die Shader-Cluster (SMM) enthalten weiterhin 128 Shader- und 8 Textureneinheiten, allerdings wurde der Level-1-Cache von 64 kByte auf 96 kByte und der Texturen-Cache von 24 kByte auf 48 kByte pro Cluster erhöht. Insgesamt besteht der GM204 aus 16 Shader-Clustern, wobei je vier Cluster an einer Raster-Engines hängen, womit der GM204 über 2048 Streamprozessoren, 128 Textureinheiten, 64 ROPs und einen 2 MB großen Level-2-Cache verfügt.[9] Um das, im Verhältnis zu anderen GPUs dieser Klasse, kleine Speicherinterface von 256 Bit auszugleichen, führte Nvidia das Feature „Third Generation Delta Color Compression“ ein, wobei es sich um einen Bandbreitenschoner handelt, der die Speicherbelastung um rund 25 % senken soll.

Wegen der Limitierungen in der Double Precision-Leistung auf 1/32 von Single Precision werden die Tesla-K-Karten mit Kepler-Architektur mit ihrer dort höheren Leistung weiterhin angeboten.

Pascal[Bearbeiten | Quelltext bearbeiten]

GP100[Bearbeiten | Quelltext bearbeiten]

Pascal-Chips laufen unter der Bezeichnung "GP100" und sollen sich dank ihrer hohen Rechenleistung und Effizienz besonders gut fürs High Performance Computing und Deep Learning eignen. Nvidia stellte mit dem Tesla P100 den ersten Rechenbeschleuniger mit GP100-Chip im Frühjahr 2016 auf der GPC 2016 vor. Pascal soll mittelfristig Kepler- und Maxwell-Grafikchips im Profi-Bereich ablösen. GPU100 besteht aus 15 Milliarden Transistoren und enthält bis zu 3840 Shader-Rechenkerne. Nvidia fertigt die GP100-GPU bei TSMC im 16-nm-FinFET-Verfahren, welches im Vergleich zur bisherigen 28-nm-Technik für eine wesentlich höhere Energieeffizienz sorgt. Beim Speicher setzt Nvidia – zumindest beim Tesla P100 – auf HBM 2 (High Bandwidth Memory 2). Im Vergleich zu HBM 1, den derzeit nur AMD bei Grafikkarten mit Fiji-GPUs verwendet, ermöglicht HBM 2 höhere Transferraten und mehr Speicher pro GPU.

GP100 sitzt wie AMDs Fiji-Pendant auf einem Interposer (oder auch "Carrier") und ist über insgesamt 4096 Datenleitungen mit dem 16 GByte großen und ECC-geschützten HBM-2-Speicher verbunden. Die vier Speicherstapel befinden sich sehr nah an der GPU, um Signalwege zu reduzieren und folglich die Transferrate zu maximieren. Sie liegt beim Tesla P100 bei 720 GByte pro Sekunde. [10]

Prozessoren[Bearbeiten | Quelltext bearbeiten]

Chip Fertigung Einheiten OpenCL
Version
Schnitt-
stelle
Prozess
in nm
Transistoren
in Mio.
Die-Fläche
in mm²
ROP-
Partitionen
ROPs Unified-Shader
Stream-
prozessoren
Shader-
Cluster
Tesla G80 90 681 484 6 24 128 8 1.1 PCIe
Tesla GT200 / b 65 / 55 1400 576 / 470 8 32 240 10 1.1 PCIe 2.0
Fermi GF100 40 3000 526 6 48 512 16 1.1 PCIe 2.0
Kepler GK104 28 3540 294 4 32 1536 8 1.2 PCIe 3.0
Kepler GK110[11] 28 7100 561 6 48 2880 15 1.2 PCIe 3.0
Kepler GK210[12] 28 ca. 7100 ca. 561 6 48 2880 15 1.2 PCIe 3.0
Maxwell GM200 28 8.000 601 6 96 3072 24 1.2 PCIe 3.0
Maxwell GM204 28 5.200 398 4 64 2048 16 1.2 PCIe 3.0
Maxwell GM206 28 2.940 227 2 32 1024 8 1.2 PCIe 3.0
Pascal GP100 16 15.300 610 3840 60 1.2 NVLink

Modelldaten[Bearbeiten | Quelltext bearbeiten]

Modell Prozessor Speicher
Typ Stream-
prozes-
soren
Chip-
takt in MHz
Shader-
takt in MHz
Rechenleistung [13]
in Floating Point Operations Per Second (GFLOPS)
Größe
in MB
Takt
in MHz
Typ Speicher-
interface
Speicher-
durch-
satz

in GB/s
Single Prec.
(MAD+ MUL)
Single Prec.
(MAD or FMA)
Double Prec.
(FMA)
Tesla C870 G80 128 600 1350 519 1536 800 GDDR3 384 Bit 77
Tesla D870 2× G80 256 600 1350 1037 3072 800 GDDR3 2× 384 Bit 2× 77
Tesla S870 4× G80 512 600 1350 2074 6144 800 GDDR3 4× 384 Bit 4× 77
Tesla C1060 GT200 240 602 1296 933 622 78 4096 800 GDDR3 512 Bit 102
Tesla S1070 4× GT200 960 602 1296 3732 2488 311 16.384 800 GDDR3 4× 512 Bit 4× 102
4× GT200b 1440 4147 2765 345
Tesla C2050 Fermi GF100 448 575 1150 No 1030 515 3072 1500 GDDR5 384 Bit 144
Tesla M2050 GF100 448 575 1150 No 1030 515 3072 1550 GDDR5 384 Bit 148
Tesla C2070 GF100 448 575 1150 No 1030 515 6144 1500 GDDR5 384 Bit 144
Tesla M2070 GF100 448 575 1150 No 1030 515 6144 1550 GDDR5 384 Bit 150
Tesla S2050 4× GF100 1792 575 1150 No 4120 2060 12.288 1500 GDDR5 4× 384 Bit 4× 144
Tesla S2070 4× GF100 1792 575 1150 No 4122 2061 24.576 1500 GDDR5 4× 384 Bit 4× 144
Tesla M2090 [14][15] Fermi GF110 512 650 1300 No 1331 666 6144 1850 GDDR5 384 Bit 177
Tesla K10 [16][17] 2× GK104 3072 745 No 4580 191 8192 2500 GDDR5 2× 256 Bit 2× 160
Tesla K20 GK110 2496 705 No 3524 1175 5120 2600 GDDR5 320 Bit 208
Tesla K20X [18] GK110 2688 735 No 3935 1312 6144 2600 GDDR5 384 Bit 250
Tesla K40 GK110B 2880 745 (Boost: 810/875) No 4290 1430 12.288 3004 GDDR5 384 Bit 288
Tesla K80 [19] 2× GK210 5760 590 No 5591-8736 1864-2912 24.576 3004 GDDR5 2x 384 Bit 2x 288
Tesla M4 GM206 1024 872 (Boost: 1072) No 1786-2195 56-69 4096 2750 GDDR5 128 Bit 88
Tesla M40 GM200 3072 948 (Boost: 1114) No 5825-6844 182-214 12288 3000 GDDR5 384 Bit 288
Tesla M6 GM204 2048  ? No  ?  ? 8192 2750 GDDR5 256 Bit 176
Tesla M60 2x GM204 4096 900 (Boost: 1180) No 7373-9667 230-302 2x8192 2500 GDDR5 2x256 Bit 2x 160
Tesla P100 GP100 3584 1328 (Boost: 1480) No 9519-10609 5300 16384 720 HBM2 4096 Bit 720

Weblinks[Bearbeiten | Quelltext bearbeiten]

 Commons: Nvidia Tesla series – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. ATI Stream Technology – Commercial (Memento vom 19. Februar 2010 im Internet Archive)
  2. Tomshardware: DP-Geschwindigkeit der GTX 480 beschnitten, Nachricht vom 6. April 2010
  3. golem: Nvidia nennt erste Leistungswerte zu Fermi, Nachricht vom 16. November 2009
  4. http://de.download.nvidia.com/Windows/Quadro_Certified/341.95/341.95-win8-win7-winvista-quadro-grid-release-notes.pdf
  5. http://de.download.nvidia.com/Windows/Quadro_Certified/348.40/348.40-win8-win7-winvista-quadro-grid-release-notes.pdf
  6. http://de.download.nvidia.com/Windows/Quadro_Certified/368.39/368.39-win10-quadro-grid-release-notes.pdf
  7. Tesla K80 – Dual-Kepler mit bis zu 8,7 TFLOPS für Superrechner. ComputerBase, 17. November 2014, abgerufen am 6. August 2015.
  8. a b Launch-Analyse: nVidia GeForce GTX Titan X. 3DCenter.org, 18. März 2015, abgerufen am 10. Juni 2015.
  9. Launch-Analyse: nVidia GeForce GTX 970 & 980. 3DCenter, 19. September 2014, abgerufen am 3. Februar 2015.
  10. http://www.heise.de/newsticker/meldung/GTC-2016-Nvidia-enthuellt-Monster-Chip-Pascal-mit-16-GByte-HBM2-und-bis-zu-3840-Kernen-3163143.html
  11. Whitepaper Kepler GK110 (PDF; 1,7 MB)
  12. http://international.download.nvidia.com/pdf/kepler/NVIDIA-Kepler-GK110-GK210-Architecture-Whitepaper.pdf (PDF; 2 MB)
  13. Rechnerisch ermittelte, theoretische maximale Rechenleistung, die real mit sinnvollem Programmcode nie erreicht werden kann.
  14. TESLA M2090 DUAL-SLOT COMPUTING PROCESSOR MODULE Board Specification (PDF; 348 kB)
  15. Produktübersicht M2090 (PDF; 423 kB)
  16. TESLA K10 GPU ACCELERATOR Board Specification (PDF; 650 kB)
  17. NVIDIA® TESLA® KEPLER GPU COMPUTING ACCELERATORS (PDF; 296 kB)
  18. TESLA K10 K20 K20X GPU ACCELERATOR Board Specification (PDF; 193 kB)
  19. Hassan Mujtaba: NVIDIA Tesla K80 “GK210-DUO” Graphics Card Heading Out To The Professional Market – Features Over 2 TFlops of Double Precision Compute. WCCFtech.com, abgerufen am 29. November 2014.