Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig GPU Architectures: GeForce 8, GeForce 9 and Future Leander Sturm Daniel Gran Hardware-Software-Co-Design.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig GPU Architectures: GeForce 8, GeForce 9 and Future Leander Sturm Daniel Gran Hardware-Software-Co-Design."—  Präsentation transkript:

1 1 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig GPU Architectures: GeForce 8, GeForce 9 and Future Leander Sturm Daniel Gran Hardware-Software-Co-Design Universität Erlangen-Nürnberg

2 2 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Übersicht Vorstellung der GeForce-Architektur Einführung: - GeForce, Quadro, Tesla Architektur - Shader, Threads, Speicher - Allgemeines, Leistungsdaten Zukunft Raytracing als alternativer Renderer - Vor- und Nachteile - Intel Larrabee Weiterentwicklung der GeForce-Serie

3 3 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Die verschiedenen GPU-Familien GeForce Grafikkarte für Desktop-PCs Standard-Schnittstellen: Direct3D, OpenGL, CUDA* Quadro Grafikkarte für CAD-Workstations Unterstützung einzelner CAD-Programme, -Features TESLA keine Monitor-/Video-Ausgänge über PCIe an System angebunden ausschliesslich für CUDA

4 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Gemeinsamkeiten der GPU-Familien Geforce 8800GTX Grundstein für alle aktuellen NVIDIA-GPUs Einführung einer komplett neuen Architektur bis heute Grundlage für alle GPUs: -GeForce 8, GeForce 9 -Quadro, Tesla Skalierung der Leistung über: Anzahl und Konfiguration der Funktionseinheiten Lokaler Speicher -Größe -Bit-Breite der Anbindung Taktfrequenzen (Herstellungsprozeß)

5 5 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Der G80 SCX-D4200A G80 GPU in GeForce 8800GTX, Quadro FX4600, TESLA C870 erste und bisher leistungsstärkste GPU Grundlage der nachfolgenden Architektur-Besprechung

6 6 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Shader-Arten Vertex-Shader Operationen auf Vertex-Koordinaten Pixel-Shader Operationen auf Pixel-Werten und neu in Direct3D 10 enthalten und somit auch im G80: Geometrie-Shader Modifikation der Geometrie Vertices hinzufügen/entfernen Tesselation, Subdivision

7 7 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Unified Shader I Shader früher: entwickelt aus der klassischen Rendering Pipeline Vertex- und Pixel-Shader getrennt und hintereinander Shader im G80: ein Rechenwerk für Vertex-, Geometrie- und Pixel- Operationen: Unified Shader bei nVidia: Stream Processor Technologietreiber: Direct3D 10 (Windows Vista) -Geometrie-Shader -Unified Shader-Programmiermodell

8 8 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Unified Shader II

9 9 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Stream Processor Aufbau eines Stream Processor ALU für Standard-Operationen -MAD (Multiplikation + Addition) -Shader-Operationen nachgeschaltete Special Functions Unit -komplexe Befehle (div, sin, rec, pow,...) in 4+ Takten -alternativ ein Mul pro Takt Rechengenauigkeit single precision: 32bit float gemäß IEEE754

10 10 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Shader Cluster - G80 Shader Cluster zwei Multiprozessoren aus je 8 Stream-Prozessoren lokaler Speicher/Cache eigenes Register-File asynchrone Einheiten: -Daten-Port (Speicher lesen/schreiben) -branching-Einheit -vier Textur-Einheiten (Texturdaten laden und filtern)

11 11 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Threads I ein Thread pro Multiprozessor 8 Stream-Prozessoren führen gleichzeitig den gleichen Befehl aus Threads sind einem Shader Cluster zugeordnet OP-Code in FIFO, Operanden in Register-File Thread-Wechsel pro Takt möglich Verdecken von Latenzen bei Speicherzugriffen und branching >100 Threads pro Shader Cluster

12 12 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Threads II im gesamten G80: 8 Shader Cluster => 16 Threads simultan aktiv globaler FIFO-Puffer für Threads globaler Thread Scheduler: verteilt Threads auf die Shader Cluster bis über 1000 Threads idle im G80! Verdecken von Speicher- und anderen Latenzen

13 13 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig G80 - Blockdiagramm

14 14 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Load Balancing globaler Thread Scheduler: Verteilen der Threads auf die Shader Cluster lokal in Shader Clustern: lokale Thread Scheduler in Shader Clustern -FIFO-Buffer und Register File -sofortiger Thread-Wechsel, wenn Daten fehlen Reduktion der Thread-Anzahl, wenn Register File voll G80: Load Balancing in Hardware!

15 15 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Branching G80-Shader ~10-stufige Pipeline aber keine branch prediction! Branching kostet 4 Takte bzw. 32 Operationen entspricht Granularität von 16 Vertex- bzw. 32 Pixel-Objekten Vergleich G70: 880 Objekte! die Vorteile des G80: -asynchrone branching unit -thread-Wechsel pro Takt möglich -getrennte shader cluster

16 16 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Speicher im G80 G80 schneller lokaler Speicher: sechs 64-bit Controller globaler Cache globaler Textur- und Konstanten-Puffer (read only) pro Shader Cluster lokaler Cache lokales Register File Streaming Architektur extrem schnelle Busse und Interfaces weniger Puffer – mehr Rechen-Einheiten => gezielte Programmierung nötig für gute Effizienz!

17 17 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig G80: Leistungsdaten Rechenleistung 128 Streamprozessoren * 3 Operationen * 1,35 GHz = 518 GFlops 2x Cell/PS3 (256 GFlops in 8 SPEs) in realen Applikationen >300 GFlops erreichbar! Speicherbandbreite 384 bit * 1,8 GHz = 86,4 GByte/s 3x Cell/PS3 (25,6 Gbyte/sec.)

18 18 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Grafik-spezifische Funktionen I 24 ROPs Render Output Unit Lesen und Schreiben in Bild-Puffern Pixel Blending zwischen allen Int- und float-Formaten Anti-Aliasing (8x Multisampling auf 4bit Subpixel-Gitter) depth check: ignoriert verdeckte Pixel jeweils fest an einen der Speicher-Controllern gebunden

19 19 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Grafik-spezifische Funktionen II Texture Units an Shader-Cluster gebunden Textur-Adressierung Textur-Filterung: bilinear, trilinear, anisotrop NVIO separater Chip beim G80, später integriert enthält -RAMDAC: Bildwandler -DVI, Video-I/O -Video-Engine: Decoder, Skalierung, Filterung -SLI-Koppelung zu weiteren GPUs

20 20 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig G80: Blockdiagramm

21 21 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig G80: Rasterizer Rendering in einem Rasterizer: Dreieck als Grundelement zeichnet Dreieck für Dreieck Farbwert-Berechnungen für jeden Pixel im Dreieck

22 22 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Raytracing I Raytracing als Renderer ray: Lichtstrahl, tracing: Verfolgung -> Lichstrahlverfolgung Lichtstrahl vom Bildschirmpixel ins Auge des Betrachters Rückwärtsverfolgung in zu zeichnende 3D-Szenerie Reflektion – Weiterverfolgung Refraktion zu Lichtquellen – globale Beleuchtung

23 23 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Raytracing II Einschränkungen und Nachteile 3D-Geometriedaten für Pixelberechnung nötig schlechte Partitionierbarkeit der Szene (Lichtstrahl kann überallhin reflektiert werden) erzeugt globale Beleuchtung, aber: -nur theoretisch optimal -praktisch nahezu optimal, aber nur mit sehr hohem Aufwand es existiert derzeit kein sinnvoller Ansatz für realtime- taugliche globale Beleuchtung! selbst Pixar verwendet nur partiell Raytracing

24 24 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Raytracing III Raytracing für Echtzeit-3D nach Aussagen vieler Fachleute als alleiniger Renderer ungeeignet Probleme mit bewegten/interagierenden Objekten Probleme mit Anti-Aliasing mögliche Entwicklung: Mischform mit Rasterizern verwendet z.B. von Pixar (Toy Story) hier sind laut Fachleuten tatsächliche Vorteile zu erwarten

25 25 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Intel Larrabee I Larrabee: Codename der derzeit entwickelten Intel-GPU erscheint 2009 einzige zukünftige GPU, deren Daten ein bißchen bekannt sind Eigenschaften: 16 oder mehr Kerne mit IA-Befehlssatz (ähnlich x86) -in-order -4 Threads 256bit AVX-Vektoreinheiten -Nachfolger des SSE-Befehlssatzes: auch in zukünftigen Intel-CPUs -drei-Operanden-Synthax -vier double-Operationen pro Takt -maskierter/geordneter Speicherzugriff

26 26 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Intel Larrabee II

27 27 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Intel Larrabee III besser geeignet für Raytracing mehr gleichzeitige Threads besser bei skalarem Code: -Raytracing: je nur 1 Strahl -G80: 8 parallele Befehle pro Thread wären nötig für gute Auslastung besser geeignet für: Misch-Renderer Physik-Berechnung grafischer Objekte GPGPU

28 28 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Zukunft der GeForce-Architektur I GT200 im Juni gleicher Architektur-Ansatz wie G80: -16 Streamprozessoren pro Shader Cluster -16 Shader Cluster leistungsgesteigerte Shader > 2x Leistung der G80: Teraflop! double precision: 64bit float

29 29 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig Zukunft der GeForce-Architektur II längerfristig: leider nichts bekannt! nVidia allgemein: schon immer möglichst direkte Direct3D-Implementierungen Direct3D 11: compute shader CUDA-artige herstellerunabhängige Schnittstelle? vorstellbare Entwicklungsrichtung: leistungsfähiger bei skalarem Code besseres branching mit prediction -> Physik, Raytracing, flexibleres GPGPU allgemein weiter gesteigerte Programmierbarkeit Flexibilität, Zukunfts- und Investitionssicherheit Unsicherheit bezüglich kommender Rendering-Verfahren

30 30 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig The End Wir sagen Danke fürs Zuhören und Eure Geduld! Fragen offen? Jetzt fragen! Referenzen -beyond3d.com -Wikipedia -3dcenter.de


Herunterladen ppt "1 Friedrich-Alexander-Universität Erlangen-Nürnberg Frank Hannig GPU Architectures: GeForce 8, GeForce 9 and Future Leander Sturm Daniel Gran Hardware-Software-Co-Design."

Ähnliche Präsentationen


Google-Anzeigen