• Keine Ergebnisse gefunden

Architektur und Programmierung von Grafik- und Koprozessoren

N/A
N/A
Protected

Academic year: 2022

Aktie "Architektur und Programmierung von Grafik- und Koprozessoren"

Copied!
9
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Architektur und Programmierung von Grafik- und Koprozessoren

Motivation und ¨Ubersicht

Stefan Zellmann

Lehrstuhl f¨ur Informatik, Universit¨at zu K¨oln

SS2019

(2)

Motivation: High-Level Grafik Pipeline moderner GPUs

Vertex Phase

Hochparallele Verarbeitung von Millionen von Vertices.

(3)

Motivation: High-Level Grafik Pipeline moderner GPUs

Rasterisierung und Fragment Phase

Hochparallele Verarbeitung von Fragmenten und Pixeln.

(4)

Motivation: General Purpose GPUs

I Anfangs separate Cores f¨ur Vertex und Fragment Phase.

Problem: Lastimbalanzen.

I Daher haben die Hersteller schnell sog. “Unified Shader Cores” entwickelt, die beide Aufgaben durchf¨uhren k¨onnen.

I Problem: Generalit¨at - Vertex und Fragment Operationen haben unterschiedliche Charakteristiken ⇒Unified Shader Cores daher genereller als “Special Purpose Cores”.

I Resultat: Chip mit hunderten, massiv parallelen, generellen, aber sehr leichtgewichtigen Cores. Andere

Anwendungsdom¨anen haben das schnell erkannt und f¨ur ihre Zwecke ausgenutzt ⇒ “General Purpose GPU Programming”

(GPGPU).

(5)

Motivation: Koprozessoren

I Orthogonale Entwicklungen: Intels “Larrabee” als Konkurrenz zu Nvidia und ATI GPUs.

I Many-Core im High-Performance Computing, Intel Xeon PHI Koprozessor Karten.

I Intel: Koprozessoren auf dem R¨uckzug, aber Charakteristiken halten in die Hauptprozessorlinien Einzug.

I FPGAs als PCIe Einschubkarten.

(6)

Ubersicht ¨

1. Performanz von Computerprogrammen 2. Rendering Algorithmen

3. Die Grafik Pipeline

4. Programmieren mit dem Vulkan API

5. General Purpose Programmierung f¨ur Grafikprozessoren 6. Anwendungen

Eventuell:

7. Multi-GPU Systeme 8. Intel Koprozessoren

9. Field Programmable Gate Arrays 10. Ray Tracing Hardware

(7)

Termine

1. Do 04.04. & Fr 05.04.

2. Do 11.04. & Fr 12.04.

3. nur Do 18.04. (Ostern) 4. Woche 25.-26.04.:

Keine Vorlesung, nur Ubung!¨

5. Do 02.05. & Fr 03.05.

6. Do 09.05. & Fr 10.05.

7. Do 16.05. & Fr 17.05.

8. Do 23.05. & Fr 24.05.

9. nur Fr. 31.05.

(Christi Himmelfahrt)

10. Do 06.06. & Fr 07.06.

11. Pfingstferien 12. nur Fr. 21.06.

(Fronleichnam) 13. Do 27.06. & Fr 28.06.

14. Do 04.07. & Fr 05.07.

15. Do 11.07. & Fr 12.07.

16. Klausur: Mo 24.07.

17. Nachklausur: Fr 25.09.

Probeklausur:

I Entweder in Woche

04.-05.07. oder 11.07.-12.07.

(8)

Organisatorisches

I Unterlagen online unter

https://vis.uni-koeln.de/apgk2019.html sowie in Ilias.

I Ilias Passwort: apgk2019 I Sprechstunde: nach Vereinbarung

I Bitte nutzen Sie die Mailingliste: apgk-vorlesung@uni-koeln.de I Anmeldung erforderlich.

I Technische Fragen k¨onnen an Mailingliste gerichtet werden.

(9)

Organisatorisches (¨ Ubungen)

I Erste ¨Ubung (04.04., heute) entf¨allt.

I Zweite ¨Ubung (11.04.) Sonder¨ubung zu C++

I Besprechung des ersten ¨Ubungsblatts am 18.04.

I Keine Zulassungsbeschr¨ankung auf Grund von ¨Ubungspunkten I Ubungsbl¨¨ atter ca. eine Woche vor Besprechung online

I Ilias (Achtung: separate Kurse f¨ur ¨Ubung und Vorlesung, Passwort f¨ur Kurs zu ¨Ubungen ebenfalls apgk2019) I https://vis.uni-koeln.de/apgk2019.html

Referenzen

ÄHNLICHE DOKUMENTE

“Sampling” bestimmt. Dies ist eine in den Prozessor eingebaute Funktionalit¨ at, die, falls aktiviert, die Instruktionspipeline zu definierten Zeitpunkten anh¨ alt und

C++ spezifiziert keine Garbage Collection (der Standard schließt sie nicht explizit aus, aber es gibt keine Implementierungen, die mir bekannt sind). Daher m¨ ussen alle Ressourcen,

I Vulkan / Modernes OpenGL: minimaler Vertex Shader verpflichtend (außer Compute). Ohne minimalen Fragment Shader kein Bild (manchmal Ergebnis

I Vor und nach Skalarprodukt m¨ ussen Threads synchronisiert werden, damit nicht schon andere Threads aus Warp anderen Block in Shared Memory laden... I Seit Nvidia Kepler

Die Template Klasse sync queue in der beigef¨ ugten Datei queue.cpp wird von mehreren Threads gleichzeitig als Schlange zum Austauschen von Nachrichten genutzt. Intern verwaltet

(2) Die Bin¨ arrepr¨ asentation der sich ergebenden nat¨ urlichen Zahl k setzt sich immer abwechselnd aus den Bin¨ arziffern der Zahlpaare (i, j) zusammen. Tragen Sie das Ergebnis

Trifft man die vereinfachende Annahme, dass geometrische, aus Dreiecken zusammengesetzte Objekte geschlossen sind und immer nur von außen betrachtet werden, kann man vor dem

Der Ray Tracer geht im Weiteren davon aus, dass totale interne Reflektion aufgetreten ist, wenn refract() einen 0-Vektor zurückgegeben hat und ruft in dem Fall die Funktion