Tesla (Mikroarchitektur) - Tesla (microarchitecture)

Nvidia Tesla
Nvidia Tesla-GPU
Veröffentlichungsdatum November 2006
Herstellungsprozess 90 nm, 80 nm, 65 nm, 55 nm und 40 nm
Geschichte
Vorgänger Curie
Nachfolger Fermi

Tesla ist der Codename für eine GPU- Mikroarchitektur, die von Nvidia entwickelt und 2006 als Nachfolger der Curie- Mikroarchitektur veröffentlicht wurde. Es wurde nach dem bahnbrechenden Elektroingenieur Nikola Tesla benannt . Als erste Mikroarchitektur von Nvidia, die Unified Shader implementierte, wurde sie mit GPUs der GeForce 8-Serie , GeForce 9-Serie , GeForce 100-Serie , GeForce 200-Serie und GeForce 300-Serie von GPUs verwendet, die zusammen in 90 nm, 80 nm, 65 nm, 55 nm hergestellt werden. und 40 nm. Es war auch in der GeForce 405 und in den Computermodulen Quadro FX, Quadro x000, Quadro NVS und Nvidia Tesla enthalten .

Tesla ersetzte die alten Fixed-Pipeline- Mikroarchitekturen, die zum Zeitpunkt der Einführung durch die GeForce-7-Serie repräsentiert wurden . Es konkurrierte direkt mit AMDs erster vereinheitlichter Shader-Mikroarchitektur namens TeraScale , einer Weiterentwicklung von ATIs Arbeit an der Xbox 360, die ein ähnliches Design verwendet. Auf Tesla folgte Fermi .

Überblick

Tesla ist die erste Mikroarchitektur von Nvidia, die das Unified-Shader-Modell implementiert . Der Treiber unterstützt die Direct3D 10 Shader Model 4.0 / OpenGL 2.1 (spätere Treiber unterstützen OpenGL 3.3) Architektur. Das Design stellt für NVIDIA eine große Veränderung in Bezug auf GPU-Funktionalität und -Fähigkeit dar. Die offensichtlichste Änderung ist der Wechsel von den separaten Funktionseinheiten (Pixel-Shader, Vertex-Shader) innerhalb früherer GPUs zu einer homogenen Sammlung universeller Gleitkommaprozessoren (sogenannte "Stream-Prozessoren") "), die universellere Aufgaben ausführen können.

GPU NVIDIA G80
Die Aufnahme der GT200-GPU in NVIDIA GeForce GTX 280-Karten, basierend auf der Tesla-Mikroarchitektur

Die Unified-Shader-Architektur von GeForce 8 besteht aus einer Reihe von Stream-Prozessoren (SPs). Im Gegensatz zum Vektorverarbeitungsansatz , der bei älteren Shader-Einheiten verwendet wird, ist jeder SP skalar und kann daher nur an einer Komponente gleichzeitig arbeiten. Dies macht sie weniger komplex zu bauen und dennoch sehr flexibel und universell. Skalare Shader-Einheiten haben auch den Vorteil, dass sie in einer Reihe von Fällen im Vergleich zu Vektor- Shader-Einheiten der vorherigen Generation effizienter sind , die auf einer idealen Befehlsmischung und -reihenfolge beruhen, um den Spitzendurchsatz zu erreichen. Der geringere maximale Durchsatz dieser skalaren Prozessoren wird durch Effizienz und hohe Taktgeschwindigkeit (möglich durch ihre Einfachheit) ausgeglichen. GeForce 8 betreibt die verschiedenen Teile seines Kerns mit unterschiedlichen Taktraten (Taktdomänen), ähnlich wie bei den vorherigen GPUs der GeForce 7-Serie . So arbeiten beispielsweise die Stream-Prozessoren der GeForce 8800 GTX mit einer Taktrate von 1,35 GHz, während der Rest des Chips mit 575 MHz arbeitet.

GeForce 8 bietet eine deutlich bessere Texturfilterung als seine Vorgänger, die verschiedene Optimierungen und visuelle Tricks verwendet haben, um das Rendering zu beschleunigen, ohne die Filterqualität zu beeinträchtigen. Die GeForce 8-Reihe rendert korrekt einen winkelunabhängigen anisotropen Filteralgorithmus zusammen mit einer vollständigen trilinearen Texturfilterung . G80, obwohl nicht seine kleineren Brüder, ist mit viel mehr arithmetischen Fähigkeiten zur Texturfilterung ausgestattet als die GeForce 7-Serie. Dies ermöglicht eine qualitativ hochwertige Filterung mit einem viel geringeren Leistungseinbruch als bisher.

NVIDIA hat auch neue Polygon-Edge- Anti-Aliasing- Methoden eingeführt, einschließlich der Fähigkeit der ROPs der GPU , sowohl Multisample-Anti-Aliasing (MSAA) als auch HDR-Beleuchtung gleichzeitig auszuführen, wodurch verschiedene Einschränkungen früherer Generationen korrigiert werden. GeForce 8 kann MSAA mit den Texturformaten FP16 und FP32 ausführen. GeForce 8 unterstützt 128-Bit- HDR-Rendering , eine Steigerung gegenüber der 64-Bit-Unterstützung früherer Karten. Die neue Anti-Aliasing-Technologie des Chips, Coverage Sampling AA (CSAA) genannt, verwendet Z-, Farb- und Abdeckungsinformationen, um die endgültige Pixelfarbe zu bestimmen. Diese Technik der Farboptimierung ermöglicht, dass 16X CSAA gestochen scharf und scharf aussieht.

Leistung

Die in FLOPS angegebene theoretische Rechenleistung mit einfacher Genauigkeit für Tesla-basierte Karten kann in realen Arbeitslasten schwer zu erreichen sein.

In G80/G90/GT200 enthält jeder Streaming-Multiprozessor (SM) 8 Shader-Prozessoren (SP oder Unified Shader oder CUDA Core) und 2 Special Function Units (SFU). Jeder SP kann bis zu zwei Operationen mit einfacher Genauigkeit pro Takt ausführen: 1 Multiplizieren und 1 Addieren unter Verwendung eines einzigen MAD- Befehls. Jede SFU kann bis zu vier Operationen pro Takt ausführen: vier MUL (Multiply)-Befehle. Ein SM als Ganzes kann also 8 MADs (16 Operationen) und 8 MULs (8 Operationen) pro Takt oder 24 Operationen pro Takt ausführen, was (relativ gesprochen) das Dreifache der Anzahl von SPs ist. Um die theoretische MAD+MUL-Leistung mit zwei Problemen bei Gleitkommaoperationen pro Sekunde [ FLOPS sp+sfu , GFLOPS ] einer Grafikkarte mit SP-Anzahl [ n ] und Shader-Frequenz [ f , GHz] zu berechnen, lautet die Formel daher: FLOPS sp+sfu = 3 × n × f .

Die Nutzung von Dual-Issue-Performance wie MAD+MUL ist jedoch problematisch:

  • Dual-Issuing des MUL ist im Grafikmodus auf G80/G90 nicht verfügbar, obwohl es in GT200 stark verbessert wurde.
  • Nicht alle Befehlskombinationen wie MAD+MUL können auf SP und SFU parallel ausgeführt werden, da die SFU eher spezialisiert ist, da sie nur eine bestimmte Teilmenge von Befehlen verarbeiten kann: 32-Bit-Gleitkommamultiplikation, transzendente Funktionen, Interpolation für Parameter Blending, reziproke, reziproke Quadratwurzel, Sinus, Cosinus usw.
  • Die SFU könnte beim Ausführen dieser Befehle viele Zyklen lang beschäftigt sein, wobei sie in diesem Fall für doppelt ausgebende MUL-Befehle nicht verfügbar ist.

Aus diesen Gründen kann es hilfreicher sein, die SFU zu ignorieren und nur 1 MAD (2 Operationen) pro SP pro Zyklus anzunehmen, um die Leistung realer Arbeitslasten abzuschätzen. In diesem Fall lautet die Formel zur Berechnung der theoretischen Leistung bei Gleitkommaoperationen pro Sekunde: FLOPS sp = 2 × n × f .

Die theoretische Verarbeitungsleistung mit doppelter Präzision einer Tesla-GPU beträgt 1/8 der Leistung mit einfacher Präzision auf dem GT200; Bei G8x und G9x gibt es keine Unterstützung für doppelte Präzision.

Videodekomprimierung/-komprimierung

NVDEC

NVENC

NVENC wurde erst in späteren Chips eingeführt.

Chips

Tesla 1.0

• 8800 GT

• 8800 GTS

• 8800 GTX

• 8800 Ultra

Tesla 2.0

  • GT200
  • GT215
  • GT216
  • GT218

Siehe auch

Verweise

Externe Links