Hochleistungsrechnen auf dem PC

Größe: px
Ab Seite anzeigen:

Download "Hochleistungsrechnen auf dem PC"

Transkript

1 Hochleistungsrechnen auf dem PC Steffen Börm Christian-Albrechts-Universität zu Kiel Ringvorlesung Informatik, 26. Juni 2014 S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

2 Übersicht 1 Wofür braucht man eine hohe Rechenleistung? 2 Wie arbeiten moderne Prozessoren? 3 Wie können wir Programme verbessern? 4 Zusammenfassung S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

3 Übersicht 1 Wofür braucht man eine hohe Rechenleistung? 2 Wie arbeiten moderne Prozessoren? 3 Wie können wir Programme verbessern? 4 Zusammenfassung S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

4 Computergrafik: Rendering Aufgabe: Möglichst realistische Darstellung eines dreidimensionalen Computermodells in Echtzeit. Quelle: Wikipedia Algorithmus: Gegenstände dargestellt durch viele tausend Dreiecke, die auf eine imaginäre Leinwand projiziert werden müssen. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

5 Computergrafik: Raytracing Aufgabe: Fotorealistische Darstellung eines Computermodells. Quelle: Wikipedia Algorithmus: Von einem imaginären Auge ausgehende Sehstrahlen werden in die Szene entsandt. Bei Kontakt mit Oberflächen entscheiden physikalische Modelle, was diese Strahlen sehen. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

6 Computergrafik: Medizinische Bildgebung Aufgabe: Darstellung einer Tomographie. Quelle: Wikipedia Algorithmus: Tomographie führt zu Voxel-Modell eines Objekts. Zu dessen Darstellung werden die Beiträge einzelner Voxel entlang von Sehstrahlen gesammelt. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

7 Computersimulation: Wellenausbreitung Aufgabe: Simulation der Ausbreitung einer Welle. Algorithmus: Modell: Ersetze kontinuierliche Saite durch mit Federn gekoppelte Punktmassen. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

8 Computersimulation: Wellenausbreitung Aufgabe: Simulation der Ausbreitung einer Welle. Algorithmus: Modell: Ersetze kontinuierliche Saite durch mit Federn gekoppelte Punktmassen. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

9 Computersimulation: Wellenausbreitung Aufgabe: Simulation der Ausbreitung einer Welle. Algorithmus: Modell: Ersetze kontinuierliche Saite durch mit Federn gekoppelte Punktmassen. Physik: Bestimme Kräfte, Geschwindigkeiten und Positionen. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

10 Computersimulation: Wellenausbreitung Aufgabe: Simulation der Ausbreitung einer Welle. Algorithmus: Modell: Ersetze kontinuierliche Saite durch mit Federn gekoppelte Punktmassen. Physik: Bestimme Kräfte, Geschwindigkeiten und Positionen. Zeitschrittverfahren: Setze Kräfte und Geschwindigkeiten als für kurze Zeiten konstant. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

11 Computersimulation: Mehrdimensionale Wellen Aufgabe: Simulation der Ausbreitung einer Welle S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

12 Computersimulation: Mehrdimensionale Wellen Aufgabe: Simulation der Ausbreitung einer Welle im zwei- S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

13 Computersimulation: Mehrdimensionale Wellen Aufgabe: Simulation der Ausbreitung einer Welle im zwei- oder dreidimensionalen Medium. Schwierigkeit: Brauchbare Genauigkeit erfordert sehr viele Punkte. Sehr hoher Rechenaufwand. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

14 Übersicht 1 Wofür braucht man eine hohe Rechenleistung? 2 Wie arbeiten moderne Prozessoren? 3 Wie können wir Programme verbessern? 4 Zusammenfassung S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

15 Prozessor Bestandteile: Steuerwerk regelt Ablauf eines Programms. Rechenwerk führt Berechnungen aus. Speichercontroller regelt Zugriff auf den Speicher. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

16 Implementierung Wellengleichung Beispiel: Leapfrog-Verfahren für die Simulation der Wellenausbreitung. Daten: Auslenkungen in Array x, Geschwindigkeiten in Array v. for(i=1; i<=n; i++) x[i] += xdelta * v[i]; for(i=1; i<=n; i++) v[i] += vdelta * (x[i+1] + x[i-1] - 2*x[i]); S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

17 Einfacher Prozessor im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

18 Einfacher Prozessor im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

19 Einfacher Prozessor im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

20 Einfacher Prozessor im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

21 Einfacher Prozessor im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

22 Einfacher Prozessor im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

23 Einfacher Prozessor im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

24 Einfacher Prozessor im Beispiel Nachteil: In jedem Takt ist neben dem Steuerwerk nur eine Funktionseinheit aktiv. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

25 Superskalarer Prozessor Idee: Führe mehrere Befehle gleichzeitig aus, sofern sie unabhängig voneinander sind. Sortiere eventuell Befehle um, um möglichst gute Auslastung aller Funktionseinheiten zu erreichen CDC 6600 Supercomputer, 1993 Intel Pentium Prozessor. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

26 Superskalarer Prozessor im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

27 Superskalarer Prozessor im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

28 Superskalarer Prozessor im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

29 Superskalarer Prozessor im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

30 Superskalarer Prozessor im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

31 Verbesserter Speicherzugriff Ideen: Burst-Betrieb für aufeinander folgende Adressen. Caches (1968 IBM System/360 Model 85, 1989 Intel 80486). Mehrkanaliger Speicherzugriff (1968 CDC 6600, 2004 AMD Athlon 64). S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

32 Burst-Zugriffe im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

33 Burst-Zugriffe im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

34 Burst-Zugriffe im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

35 Burst-Zugriffe im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

36 Burst-Zugriffe im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

37 Burst-Zugriffe im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

38 Burst-Zugriffe im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

39 Zweidimensionale Wellengleichung Erste Fassung: for(i=1; i<=n; i++) for(j=1; j<=n; j++) x[i][j] += xdelta * v[i][j]; for(i=1; i<=n; i++) for(j=1; j<=n; j++) v[i][j] += vdelta * (...); Zweite Fassung: for(j=1; j<=n; j++) for(i=1; i<=n; i++) x[i][j] += xdelta * v[i][j]; for(j=1; j<=n; j++) for(i=1; i<=n; i++) v[i][j] += vdelta * (...); S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

40 Burst-Zugriffe im zweidimensionalen Beispiel Zweite Fassung: Spaltenweise Verarbeitung. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

41 Burst-Zugriffe im zweidimensionalen Beispiel Zweite Fassung: Spaltenweise Verarbeitung. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

42 Burst-Zugriffe im zweidimensionalen Beispiel Zweite Fassung: Spaltenweise Verarbeitung. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

43 Burst-Zugriffe im zweidimensionalen Beispiel Zweite Fassung: Spaltenweise Verarbeitung. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

44 Burst-Zugriffe im zweidimensionalen Beispiel Zweite Fassung: Spaltenweise Verarbeitung. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

45 Burst-Zugriffe im zweidimensionalen Beispiel Zweite Fassung: Spaltenweise Verarbeitung. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

46 Burst-Zugriffe im zweidimensionalen Beispiel Zweite Fassung: Spaltenweise Verarbeitung. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

47 Burst-Zugriffe im zweidimensionalen Beispiel Zweite Fassung: Spaltenweise Verarbeitung. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

48 Burst-Zugriffe im zweidimensionalen Beispiel Zweite Fassung: Spaltenweise Verarbeitung. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

49 Burst-Zugriffe im zweidimensionalen Beispiel Zweite Fassung: Spaltenweise Verarbeitung. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

50 Burst-Zugriffe im zweidimensionalen Beispiel Zweite Fassung: Spaltenweise Verarbeitung. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

51 Übersicht 1 Wofür braucht man eine hohe Rechenleistung? 2 Wie arbeiten moderne Prozessoren? 3 Wie können wir Programme verbessern? 4 Zusammenfassung S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

52 Vektorisierung Idee: Mehrere parallel geschaltete Rechenwerke ILLIAC IV, 1997 Intel Pentium (MMX), 1999 Motorola PowerPC 7400 (AltiVec), 1999 Intel Pentium III (SSE) S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

53 Vektorisierte Wellengleichung Original: for(i=1; i<=n; i++) x[i] += xdelta * v[i]; for(i=1; i<=n; i++) v[i] += vdelta * (x[i+1] + x[i-1] - 2*x[i]); Vektorrechner: x4 = (float4 *) (x+1); v4 = (float4 *) (v+1); x4l = (float4 *) x; x4r = (float4 *) (x+2); for(i=0; i<n/4; i++) x4[i] += xdelta * v4[i]; for(i=0; i<n/4; i++) v4[i] += vdelta * (x4r[i] + x4l[i] - 2*x4[i]); S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

54 Vektorisierung im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

55 Vektorisierung im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

56 Vektorisierung im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

57 Vektorisierung im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

58 Vektorisierung im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

59 Vektorisierung im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

60 Vor- und Nachteile + Bei geeigneten Aufgaben einfach anwendbar. + Hoher Geschwindigkeitsgewinn (SSE 4, AVX 8, AVX ). + Manche Compiler vektorisieren automatisch. - Nur benutzbar, falls identische Folgen von Operationen auf große Datenmengen angewendet werden müssen. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

61 Parallelisierung I/O I/O Idee: Verteile Arbeit auf mehrere Computer, die über ein Netzwerk miteinander Daten austauschen. Im Kontext der Informatik angeblich schon 1842 von F. L. Menabrea in Verbindung mit der Analytical Engine erwähnt. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

62 Mehrkernprozessor Idee: Mehrere Prozessorkerne teilen eine Verbindung zur Außenwelt AMD Athlon X2, 2006 Intel Core Duo S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

63 OpenMP Original: for(i=1; i<=n; i++) x[i] += xdelta * v[i]; for(i=1; i<=n; i++) v[i] += vdelta * (x[i+1] + x[i-1] - 2*x[i]); Mit OpenMP für Mehrkernprozessoren: #pragma omp parallel for for(i=1; i<=n; i++) x[i] += xdelta * v[i]; #pragma omp parallel for for(i=1; i<=n; i++) v[i] += vdelta * (x[i+1] + x[i-1] - 2*x[i]); S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

64 Mehrkernprozessor im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

65 Mehrkernprozessor im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

66 Mehrkernprozessor im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

67 Mehrkernprozessor im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

68 Mehrkernprozessor im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

69 Mehrkernprozessor im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

70 Mehrkernprozessor im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

71 Mehrkernprozessor im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

72 Mehrkernprozessor im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

73 Mehrkernprozessor im Beispiel Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

74 Vor- und Nachteile + Sehr flexibel. + Häufig leicht anwendbar. + Gute Beschleunigung bei rechenintensiven Anwendungen. - Bei speicherintensiven Anwendungen kaum Vorteile. - Synchronisation potentiell schwierig. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

75 Grafikkarten V I/O I/O Idee: Nutze hohe Rechenleistung moderner Grafikkarten für ernsthafte Anwendungen. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

76 OpenCL kernel void update_x( global float *x, global const float *v) { int i = get_global_id(0) + 1; x[i] += xdelta * v[i]; } kernel void update_v( global const float *x, global float *v) { int i = get_global_id(0) + 1; v[i] += vdelta * (x[i+1] + x[i-1] - 2*x[i]); } clenqueuendrangekernel(queue, update_x, 1, 0, &n, &blksize, 0, 0, 0); clenqueuendrangekernel(queue, update_v, 1, 0, &n, &blksize, 0, 0, 0); S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

77 Grafikkarte im Beispiel V I/O I/O Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

78 Grafikkarte im Beispiel V I/O I/O Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

79 Grafikkarte im Beispiel V I/O I/O Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

80 Grafikkarte im Beispiel V I/O I/O Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

81 Grafikkarte im Beispiel V I/O I/O Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

82 Grafikkarte im Beispiel V I/O I/O Anwendung auf Wellengleichung: S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

83 Vor- und Nachteile + Sehr hohe Rechenleistung. + Sehr schneller Speicherzugriff. - Speicherzugriff trotzdem oft nicht schnell genug. - Transfer zwischen Grafikkarte und Prozessor langsam. - Konkurrierende Standards für die Programmierung. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

84 Zusammenfassung Bei geschickter Programmierung bietet ein moderner PC eine Rechenleistung, die noch vor wenigen Jahren Supercomputern vorbehalten war. Nutzbar wird sie durch Vermeidung von Datenabhängigkeiten und Sprüngen (superskalare Prozessoren), Geeignete Organisation von Speicherzugriffen (Caches), Einsatz von Vektor-Rechenwerken, Parallelisierung (Mehrkernprozessoren), Einsatz von Grafikkarten. S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni / 33

OpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer

OpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer OpenCL Programmiersprachen im Multicore-Zeitalter Tim Wiersdörfer Inhaltsverzeichnis 1. Was ist OpenCL 2. Entwicklung von OpenCL 3. OpenCL Modelle 1. Plattform-Modell 2. Ausführungs-Modell 3. Speicher-Modell

Mehr

Eine Welt aus Zahlen. Wie funktionieren Computersimulationen?

Eine Welt aus Zahlen. Wie funktionieren Computersimulationen? Eine Welt aus Zahlen. Wie funktionieren Computersimulationen? Steffen Börm Christian-Albrechts-Universität zu Kiel Night of the Profs 2016 S. Börm (CAU Kiel) Computersimulationen 18. November 2016 1 /

Mehr

Computergrundlagen Moderne Rechnerarchitekturen

Computergrundlagen Moderne Rechnerarchitekturen Computergrundlagen Moderne Rechnerarchitekturen Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 Aufbau eines modernen Computers DDR3- Speicher Prozessor Prozessor PEG

Mehr

Mikroprozessoren. Aufbau und Funktionsweise. Christian Richter. Ausgewählte Themen der Multimediakommunikation SS 2005

Mikroprozessoren. Aufbau und Funktionsweise. Christian Richter. Ausgewählte Themen der Multimediakommunikation SS 2005 Mikroprozessoren Aufbau und Funktionsweise Christian Richter Ausgewählte Themen der Multimediakommunikation SS 2005 Christian Richter (TU-Berlin) Mikroprozessoren AT MMK 2005 1 / 22 Gliederung Was ist

Mehr

Hochleistungsrechnen. Stand 9. Dezember Alle Rechte beim Autor.

Hochleistungsrechnen. Stand 9. Dezember Alle Rechte beim Autor. Hochleistungsrechnen Steffen Börm Stand 9. Dezember 2018 Alle Rechte beim Autor. Inhaltsverzeichnis 1 Einleitung 5 2 Anwendungsbeispiel: Wellenausbreitung 9 2.1 Wellengleichung...............................

Mehr

2. Der ParaNut-Prozessor "Parallel and more than just another CPU core"

2. Der ParaNut-Prozessor Parallel and more than just another CPU core 2. Der ParaNut-Prozessor "Parallel and more than just another CPU core" Neuer, konfigurierbarer Prozessor Parallelität auf Daten- (SIMD) und Thread-Ebene Hohe Skalierbarkeit mit einer Architektur neues

Mehr

Computergrundlagen Moderne Rechnerarchitekturen

Computergrundlagen Moderne Rechnerarchitekturen Aufbau eines modernen Computers Computergrundlagen Moderne Rechnerarchitekturen Axel Arnold Institut für Computerphysik Universität Stuttgart DDR3- Speicher Prozessor Prozessor PEG Graphikkarte(n) weitere

Mehr

Eine kurze Einführung in Rechnerarchitektur und Programmierung von Hochleistungsrechnern als zentrales Werkzeug in der Simulation

Eine kurze Einführung in Rechnerarchitektur und Programmierung von Hochleistungsrechnern als zentrales Werkzeug in der Simulation Eine kurze Einführung in Rechnerarchitektur und Programmierung von Hochleistungsrechnern als zentrales Werkzeug in der Simulation Dr. Jan Eitzinger Regionales Rechenzentrum (RRZE) der Universität Erlangen-Nürnberg

Mehr

Wie passen große Aufgaben in kleine Rechner?

Wie passen große Aufgaben in kleine Rechner? Wie passen große Aufgaben in kleine Rechner? Steffen Börm Christian-Albrechts-Universität zu Kiel Night of the Profs, 16. November 2012 S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012

Mehr

Inhalt. Prozessoren. Curriculum Manfred Wilfling. 28. November HTBLA Kaindorf. M. Wilfling (HTBLA Kaindorf) CPUs 28. November / 9

Inhalt. Prozessoren. Curriculum Manfred Wilfling. 28. November HTBLA Kaindorf. M. Wilfling (HTBLA Kaindorf) CPUs 28. November / 9 Inhalt Curriculum 1.4.2 Manfred Wilfling HTBLA Kaindorf 28. November 2011 M. Wilfling (HTBLA Kaindorf) CPUs 28. November 2011 1 / 9 Begriffe CPU Zentraleinheit (Central Processing Unit) bestehend aus Rechenwerk,

Mehr

Cell and Larrabee Microarchitecture

Cell and Larrabee Microarchitecture Cell and Larrabee Microarchitecture Benjamin Grund Dominik Wolfert Universität Erlangen-Nürnberg 1 Übersicht Einleitung Herkömmliche Prozessorarchitekturen Motivation für Entwicklung neuer Architekturen

Mehr

Compute Unified Device Architecture CUDA

Compute Unified Device Architecture CUDA Compute Unified Device Architecture 06. Februar 2012 1 / 13 Gliederung 2 / 13 : Compute Unified Device Architecture entwickelt von Nvidia Corporation spezifiziert Software- und Hardwareeigenschaften Ziel:

Mehr

Rheinisch-Westfälische Technische Hochschule Aachen. Seminararbeit

Rheinisch-Westfälische Technische Hochschule Aachen. Seminararbeit Rheinisch-Westfälische Technische Hochschule Aachen Seminararbeit Analyse von General Purpose Computation on Graphics Processing Units Bibliotheken in Bezug auf GPU-Hersteller. Gregori Kerber Matrikelnummer

Mehr

Parallel Computing in der industriellen Bildverarbeitung

Parallel Computing in der industriellen Bildverarbeitung SOLUTIONS FOR MACHINE VISION Parallel Computing in der industriellen Bildverarbeitung Dipl.-Inform. Alexander Piaseczki Research and Development Sirius Advanced Cybernetics GmbH Tools & Solutions für die

Mehr

technische universität dortmund Lehrstuhl für Hochfrequenztechnik Übertragungssysteme

technische universität dortmund Lehrstuhl für Hochfrequenztechnik Übertragungssysteme Lehrstuhl für Hochfrequenztechnik GPU-beschleunigte numerische Simulation faseroptischer Übertragungssysteme, Marius Helf, Peter Krummrich Übersicht Motivation Split-Step p Fourier Methode Ansätze für

Mehr

Hardware-unabhängige Beschleunigung von Medizinischer Bildverarbeitung mit OpenCL

Hardware-unabhängige Beschleunigung von Medizinischer Bildverarbeitung mit OpenCL Hardware-unabhängige Beschleunigung von Medizinischer Bildverarbeitung mit OpenCL Christian Siegl 1, Hannes G. Hofmann 1, Benjamin Keck 1, Marcus Prümmer 1, Joachim Hornegger 1,2 1 Lehrstuhl für Mustererkennung,

Mehr

Architektur von Parallelrechnern 50

Architektur von Parallelrechnern 50 Architektur von Parallelrechnern 50 Rechenintensive parallele Anwendungen können nicht sinnvoll ohne Kenntnis der zugrundeliegenden Architektur erstellt werden. Deswegen ist die Wahl einer geeigneten Architektur

Mehr

Optimierungen der Lattice Boltzmann Methode auf x86-64 basierten Architekturen

Optimierungen der Lattice Boltzmann Methode auf x86-64 basierten Architekturen Optimierungen der Lattice Boltzmann Methode auf x86-64 basierten Architekturen J. Treibig, S. Hausmann, U. Ruede 15.09.05 / ASIM 2005 - Erlangen Gliederung 1 Einleitung Motivation Grundlagen 2 Optimierungen

Mehr

Multi- und Many-Core

Multi- und Many-Core Multi- und Many-Core Benjamin Warnke Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 2016-12-15 Benjamin

Mehr

Physikalische Berechnungen mit General Purpose Graphics Processing Units (GPGPUs)

Physikalische Berechnungen mit General Purpose Graphics Processing Units (GPGPUs) Fakultätsname XYZ Fachrichtung XYZ Institutsname XYZ, Professur XYZ Physikalische Berechnungen mit General Purpose Graphics Processing Units (GPGPUs) im Rahmen des Proseminars Technische Informatik Juni

Mehr

Hardware-unabhängige Beschleunigung von Medizinischer Bildverarbeitung mit OpenCL

Hardware-unabhängige Beschleunigung von Medizinischer Bildverarbeitung mit OpenCL Hardware-unabhängige Beschleunigung von Medizinischer Bildverarbeitung mit OpenCL Christian Siegl 1, Hannes G. Hofmann 1, Benjamin Keck 1, Marcus Prümmer 1, Joachim Hornegger 1,2 1 Lehrstuhl für Mustererkennung,

Mehr

CUDA. Jürgen Pröll. Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg Jürgen Pröll 1

CUDA. Jürgen Pröll. Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg Jürgen Pröll 1 CUDA Jürgen Pröll Multi-Core Architectures and Programming Jürgen Pröll 1 Image-Resize: sequentiell resize() mit bilinearer Interpolation leicht zu parallelisieren, da einzelne Punkte voneinander unabhängig

Mehr

Computergrafik Universität Osnabrück, Henning Wenke,

Computergrafik Universität Osnabrück, Henning Wenke, Computergrafik Universität Osnabrück, Henning Wenke, 2012-05-14 Kapitel V: Modeling Transformation & Vertex Shader 5.1 Vertex Definitionen: Vertex Vertex Computergrafik Mathematischer Punkt auf einer Oberfläche

Mehr

Aufbau und Funktionsweise eines Computers

Aufbau und Funktionsweise eines Computers Aufbau und Funktionsweise eines Computers Thomas Röfer Hardware und Software von Neumann Architektur Schichtenmodell der Software Zahlsysteme Repräsentation von Daten im Computer Praktische Informatik

Mehr

Praktische Übungen zu Computertechnik 2. Versuchsprotokoll

Praktische Übungen zu Computertechnik 2. Versuchsprotokoll Praktische Übungen zu Computertechnik 2 Versuchsprotokoll Versuch: C2 Parallelrechner Versuchsdatum und -zeit: Donnerstag, 03. Juni 2010, 10-13 Uhr Betreuer: Adrian Knoth Name, Studiengang, Mat.-Nr.: Ralf

Mehr

RST-Labor WS06/07 GPGPU. General Purpose Computation On Graphics Processing Units. (Grafikkarten-Programmierung) Von: Marc Blunck

RST-Labor WS06/07 GPGPU. General Purpose Computation On Graphics Processing Units. (Grafikkarten-Programmierung) Von: Marc Blunck RST-Labor WS06/07 GPGPU General Purpose Computation On Graphics Processing Units (Grafikkarten-Programmierung) Von: Marc Blunck Ablauf Einführung GPGPU Die GPU GPU Architektur Die Programmierung Programme

Mehr

Computergrafik Universität Osnabrück, Henning Wenke,

Computergrafik Universität Osnabrück, Henning Wenke, Computergrafik Universität Osnabrück, Henning Wenke, 2012-06-25 Kapitel XV: Parallele Algorithmen mit OpenCL 15.1 Parallele Programmierung Quellen: V.a. Wikipedia. Leistungsdaten unter Vorbehalt. Bitte

Mehr

Interaktive Globale Beleuchtung nach dem Antiradiance-Verfahren mittels der Open Computing Language (OpenCL)

Interaktive Globale Beleuchtung nach dem Antiradiance-Verfahren mittels der Open Computing Language (OpenCL) Interaktive Globale Beleuchtung nach dem Antiradiance-Verfahren mittels der Open Computing Language (OpenCL) Verteidigung der Belegarbeit Andreas Stahl Zielstellung Globales Beleuchtungsverfahren für die

Mehr

Wichtige Rechnerarchitekturen

Wichtige Rechnerarchitekturen Wichtige Rechnerarchitekturen Teil 1 Überblick 1 Rechnergeschichte: Mechanische Rechenmaschinen Mechanische Rechenmaschinen (17.Jahrhundert) Rechenuhr von Schickard (1623) Pascaline von Blaise Pascal (1642)

Mehr

Konzepte der parallelen Programmierung

Konzepte der parallelen Programmierung Fakultät Informatik, Institut für Technische Informatik, Professur Rechnerarchitektur Konzepte der parallelen Programmierung Parallele Programmiermodelle Nöthnitzer Straße 46 Raum 1029 Tel. +49 351-463

Mehr

Wellen machen Unsichtbares sichtbar

Wellen machen Unsichtbares sichtbar Wellen machen Unsichtbares sichtbar Prof. Dr. Marcus Grote Departement Mathematik und Informatik Mathematisches Institut Universität Basel Übersicht - Was ist eine Welle? Echoortung in der Natur und Technik

Mehr

Spielst du noch oder rechnest du schon?

Spielst du noch oder rechnest du schon? Spielst du noch oder rechnest du schon? Mit Spielkonsole und Co. zum Supercomputer der Zukunft Fachbereich Elektrotechnik und Informationstechnik Fachhochschule Bielefeld University of Applied Sciences

Mehr

Multicore-Architekturen

Multicore-Architekturen Universität Erlangen- Nürnberg Technische Universität München Universität Stuttgart Multicore-Architekturen Vortrag im Rahmen der Ferienakademie 2009 Kurs 1: Programmierkonzepte für Multi-Core Rechner

Mehr

Kapitel 5. Parallelverarbeitung. Formen der Parallelität

Kapitel 5. Parallelverarbeitung. Formen der Parallelität Kapitel 5 Parallelverarbeitung é Formen der Parallelität é Klassifikation von parallelen Rechnerarchitekturen é Exkurs über Verbindungsstrukturen Bernd Becker Technische Informatik I Formen der Parallelität

Mehr

GPU-Programmierung: OpenCL

GPU-Programmierung: OpenCL Seminar: Multicore Programmierung Sommerstemester 2009 04.06.2009 Inhaltsverzeichnis 1 GPU-Programmierung von Grafikkarten von GPU-Computing 2 Architektur Spracheigenschaften Vergleich mit CUDA Beispiel

Mehr

Untersuchung und Vorstellung moderner Grafikchiparchitekturen

Untersuchung und Vorstellung moderner Grafikchiparchitekturen Fakultät Informatik, Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Untersuchung und Vorstellung moderner Grafikchiparchitekturen Hauptseminar Technische

Mehr

Architektur paralleler Plattformen

Architektur paralleler Plattformen Architektur paralleler Plattformen Freie Universität Berlin Fachbereich Informatik Wintersemester 2012/2013 Proseminar Parallele Programmierung Mirco Semper, Marco Gester Datum: 31.10.12 Inhalt I. Überblick

Mehr

PG 471: Beyond Graphics. Strömungssimulation in der GPU

PG 471: Beyond Graphics. Strömungssimulation in der GPU Strömungssimulation in der GPU Betreuer: Claus-Peter Alberts, LS VII Dominik Göddeke, LS III (Mathematik) Normale Nutzung von Grafikkarten Normale Nutzung von Grafikkarten STATTDESSEN: GPGPU! Anwendungsfall:

Mehr

Seminar Parallele Rechnerarchitekturen SS04 \ SIMD Implementierung aktueller Prozessoren 2 (Dominik Tamm) \ Inhalt. Seite 1

Seminar Parallele Rechnerarchitekturen SS04 \ SIMD Implementierung aktueller Prozessoren 2 (Dominik Tamm) \ Inhalt. Seite 1 \ Inhalt Seite 1 \ Inhalt SIMD Kurze Rekapitulation 3Dnow! (AMD) AltiVec (PowerPC) Quellen Seite 2 \ Wir erinnern uns: Nach Flynn s Taxonomie kann man jeden Computer In eine von vier Kategorien einteilen:

Mehr

Rechnerorganisation. (10,11) Informationskodierung (12,13,14) TECHNISCHE UNIVERSITÄT ILMENAU. IHS, H.- D. Wuttke `09

Rechnerorganisation. (10,11) Informationskodierung (12,13,14) TECHNISCHE UNIVERSITÄT ILMENAU. IHS, H.- D. Wuttke `09 Rechnerorganisation Mathematische Grundlagen (1) Boolesche Algebren: : BMA, BAA (2,3) Kombinatorische Schaltungen (4,5) Automaten (6,7) Sequentielle Schaltungen (8) Programmierbare Strukturen (9) Rechneraufbau

Mehr

Universität Karlsruhe (TH)

Universität Karlsruhe (TH) Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Programmtransformationen: Vom PRAM Algorithmus zum MPI Programm Prof. Dr. Walter F. Tichy Dr. Victor Pankratius Ali Jannesari Modell und

Mehr

OpenCL (Cell B. E., PS3) Multicore Architectures and Programming

OpenCL (Cell B. E., PS3) Multicore Architectures and Programming OpenCL (Cell B. E., PS3) Multicore Architectures and Programming Apelt, Nicolas Zoellner, Christian Hardware-Software-Co-Design Universität Erlangen-Nürnberg Apelt, Nicolas Zoellner, Christian 1 Übersicht

Mehr

Computer - Aufbau u. Funktionsweise

Computer - Aufbau u. Funktionsweise Teil 3 Folie: 1 Ein Computerarbeitsplatz Teil 3 Folie: 2 Was ist in der Box? Hauptplatine, Motherboard Das Bussystem Teil 3 Folie: 3 Unter einem Bussystem (oder kurz einem Bus) versteht man bei einem PC

Mehr

Evaluation. Einleitung. Implementierung Integration. Zusammenfassung Ausblick

Evaluation. Einleitung. Implementierung Integration. Zusammenfassung Ausblick Christopher Schleiden Bachelor Kolloquium 15.09.2009 Einleitung Evaluation Implementierung Integration Zusammenfassung Ausblick Einleitung laperf Lineare Algebra Bibliothek für C++ Möglichkeit zur Integration

Mehr

Partielle Differentialgleichungen

Partielle Differentialgleichungen http://www.free background wallpaper.com/background wallpaper water.php Partielle Differentialgleichungen 1 E Partielle Differentialgleichungen Eine partielle Differentialgleichung (Abkürzung PDGL) ist

Mehr

moderne Prozessoren Jan Krüger jkrueger@techfak.uni-bielefeld.de

moderne Prozessoren Jan Krüger jkrueger@techfak.uni-bielefeld.de moderne Prozessoren Jan Krüger jkrueger@techfak.uni-bielefeld.de Übersicht FachChinesisch SPARC - UltraSparc III/IV PowerPC - PowerPC 970(G5) X86 - Pentium4(Xeon), Itanium, (Pentium M) X86 - AthlonXP/MP,

Mehr

Seminar: Multi-Core Architectures and Programming

Seminar: Multi-Core Architectures and Programming Seminar: Multi-Core Architectures and Programming Parallelisierung des Viola-Jones Algorithmus auf Tilera Hardware-Software-Co-Design Universität Erlangen-Nürnberg 1 Übersicht Einleitung Erste Versuche

Mehr

Vorlesung Hochleistungsrechnen SS 2010 (c) Thomas Ludwig 16

Vorlesung Hochleistungsrechnen SS 2010 (c) Thomas Ludwig 16 Vorlesung Hochleistungsrechnen SS 2010 (c) Thomas Ludwig 16 Vorlesung Hochleistungsrechnen SS 2010 (c) Thomas Ludwig 17 Die beiden Zitate sind dem Buch von Bauke/Mertens über Cluster Computing entnommen.

Mehr

Mehrprozessorarchitekturen

Mehrprozessorarchitekturen Mehrprozessorarchitekturen (SMP, UMA/NUMA, Cluster) Arian Bär 12.07.2004 12.07.2004 Arian Bär 1 Gliederung 1. Einleitung 2. Symmetrische Multiprozessoren (SMP) Allgemeines Architektur 3. Speicherarchitekturen

Mehr

Hochschule Düsseldorf University of Applied Sciences HSD RISC &CISC

Hochschule Düsseldorf University of Applied Sciences HSD RISC &CISC HSD RISC &CISC CISC - Complex Instruction Set Computer - Annahme: größerer Befehlssatz und komplexere Befehlen höhere Leistungsfähigkeit - Möglichst wenige Zeilen verwendet, um Aufgaben auszuführen - Großer

Mehr

Automatische Parallelisierung

Automatische Parallelisierung MPI und OpenMP in HPC Anwendungen findet man immer häufiger auch den gemeinsamen Einsatz von MPI und OpenMP: OpenMP wird zur thread-parallelen Implementierung des Codes auf einem einzelnen Rechenknoten

Mehr

Beispielvortrag: HPCG auf Intel Haswell-EP

Beispielvortrag: HPCG auf Intel Haswell-EP Beispielvortrag: HPCG auf Intel Haswell-EP Johannes Hofmann 1 Seminarvortrag Architekturen von Multi- und Vielkern-Prozessoren Erlangen, 19.4.2016 1 Computer Architecture, University Erlangen-Nuremberg

Mehr

Wissenschaftliches Rechnen in den Naturwissenschaften

Wissenschaftliches Rechnen in den Naturwissenschaften Wissenschaftliches Rechnen in den Naturwissenschaften Steffen Börm Christian-Albrechts-Universität zu Kiel Ringvorlesung Numerische Simulation, 29. Oktober 2015 S. Börm (CAU Kiel) Wissenschaftliches Rechnen

Mehr

Intel P6 (Intel Pentium Pro) - Besonderheiten, Techniken und Architektur

Intel P6 (Intel Pentium Pro) - Besonderheiten, Techniken und Architektur Intel P6 (Intel Pentium Pro) - Besonderheiten, Techniken und Architektur P R O Z E S S O R - U N D R E C H N E R A R C H I T E K T U R P R Ä S E N T A T I O N 1 1. 0 7. 2 0 1 8 B E R N H A R D S A N G

Mehr

Philipp Grasl PROZESSOREN

Philipp Grasl PROZESSOREN 1 PROZESSOREN INHALTSVERZEICHNIS Definition/Verwendung Prozessor Historische Entwicklung Prozessor Aufbau Prozessor Funktionsweise Prozessor Steuerung/Maschinenbefehle Prozessorkern Prozessortakt 2 DEFINITION

Mehr

One of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed. Bin Hu

One of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed. Bin Hu Bin Hu Algorithmen und Datenstrukturen 2 Arbeitsbereich fr Algorithmen und Datenstrukturen Institut fr Computergraphik und Algorithmen Technische Universität Wien One of the few resources increasing faster

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien 3D-Animation Als 3D-Animation bezeichnet man die Animation von dreidimensionalen Objekten. Diese können wie echte Objekte gedreht und bewegt werden. Die 3D-Animationen erinnern an die sogenannten Puppentrickfilme.

Mehr

Technische Informatik 2

Technische Informatik 2 W. Schiffmann R. Schmitz Technische Informatik 2 Grundlagen der Computertechnik 3., überarbeitete Auflage mit 146 Abbildungen Ä} Springer Inhaltsverzeichnis 1. Komplexe Schaltwerke 1 1.1 Aufbau eines Schaltwerks

Mehr

Vertiefungsrichtung Rechnerarchitektur

Vertiefungsrichtung Rechnerarchitektur srichtung () ( für ) Prof. Dietmar Fey Ziele der srichtung RA Vertiefen des Verständnis vom Aufbau, Funktionsweise von Rechnern und Prozessoren Modellierung und Entwurf von Rechnern und Prozessoren ()

Mehr

Implementierung zweier Algorithmen mittels OpenCL auf Grafikkarten

Implementierung zweier Algorithmen mittels OpenCL auf Grafikkarten Implementierung zweier Algorithmen mittels OpenCL auf Grafikkarten Tobias Schwarzer, Michael Theil Hardware-Software-Co-Design Universität Erlangen-Nürnberg Tobias.Schwarzer@e-technik.uni-erlangen.de,

Mehr

Technische Grundlagen der Informatik 2 SS Einleitung. R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt E-1

Technische Grundlagen der Informatik 2 SS Einleitung. R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt E-1 E-1 Technische Grundlagen der Informatik 2 SS 2009 Einleitung R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt Lernziel E-2 Verstehen lernen, wie ein Rechner auf der Mikroarchitektur-Ebene

Mehr

Struktur und Operationsprinzip von Prozessoren

Struktur und Operationsprinzip von Prozessoren Zentrum für Informationsdienste und Hochleistungsrechnen (ZIH) Struktur und Operationsprinzip von Prozessoren Sommersemester 2008 Zellescher Weg 14 Treffz-Bau (HRSK-Anbau) - HRSK 151 Tel. +49 351-463 -

Mehr

Games with Cellular Automata auf Parallelen Rechnerarchitekturen

Games with Cellular Automata auf Parallelen Rechnerarchitekturen Bachelor Games with Cellular Automata auf Parallelen en ( ) Dipl.-Inf. Marc Reichenbach Prof. Dietmar Fey Ziel des s Paralleles Rechnen Keine akademische Nische mehr Vielmehr Allgemeingut für den Beruf

Mehr

Einführung in C++ Oliver Rheinbach. Büro T03 R03 D53 Tel

Einführung in C++ Oliver Rheinbach. Büro T03 R03 D53 Tel Einführung in C++ Oliver Rheinbach Büro T03 R03 D53 Tel. 0201 183 2504 oliver.rheinbach@uni-duisburg-essen.de Universität Duisburg-Essen Fachbereich Mathematik O. Rheinbach 2 Einführung in C++ Dienstag,

Mehr

Arbeitsfolien - Teil 4 CISC und RISC

Arbeitsfolien - Teil 4 CISC und RISC Vorlesung Informationstechnische Systeme zur Signal- und Wissensverarbeitung PD Dr.-Ing. Gerhard Staude Arbeitsfolien - Teil 4 CISC und RISC Institut für Informationstechnik Fakultät für Elektrotechnik

Mehr

Im Bereich der Entwicklung und Herstellung von Prozessoren spielen

Im Bereich der Entwicklung und Herstellung von Prozessoren spielen Prozessor (CPU) Allgemeines, Begriffe, Entwicklung Der Prozessor ist heutzutage das Herzstück fast eines jeden elektronischen Geräts. Er ist ein hochkomplexer Chip, der mit feinsten Halbleiterstrukturen

Mehr

Neue Prozessor-Architekturen für Desktop-PC

Neue Prozessor-Architekturen für Desktop-PC Neue Prozessor-Architekturen für Desktop-PC Bernd Däne Technische Universität Ilmenau Fakultät I/A - Institut TTI Postfach 100565, D-98684 Ilmenau Tel. 0-3677-69-1433 bdaene@theoinf.tu-ilmenau.de http://www.theoinf.tu-ilmenau.de/ra1/

Mehr

Probestudium. Paralleles Programmieren für moderne Multicore-Prozessoren. Prof. Dr. Hans Jürgen Ohlbach

Probestudium. Paralleles Programmieren für moderne Multicore-Prozessoren. Prof. Dr. Hans Jürgen Ohlbach Paralleles Programmieren für moderne Multicore-Prozessoren Prof. Dr. Hans Jürgen Ohlbach 1 Kurze Geschichte der Computer Erste Versuche Charles Babbage (1792 1871) difference Engine 1832 (zum Berechnen

Mehr

Übung 1. Letzte Änderung: 5. Mai 2017

Übung 1. Letzte Änderung: 5. Mai 2017 Übung 1 Letzte Änderung: 5. Mai 2017 Abhängigkeitsanalyse Synthese Mul prozessor Mul computer Compiler Parallelismustest Vektorrechner Rechenfelder Op mierung Flynns Schema Modelle Theorie Parallele Systeme

Mehr

OpenCL. OpenCL. Boris Totev, Cornelius Knap

OpenCL. OpenCL. Boris Totev, Cornelius Knap OpenCL OpenCL 1 OpenCL Gliederung Entstehungsgeschichte von OpenCL Was, warum und überhaupt wieso OpenCL CUDA, OpenGL und OpenCL GPUs OpenCL Objekte Work-Units OpenCL Adressbereiche OpenCL API Codebeispiel

Mehr

GPGPU-Architekturen CUDA Programmiermodell Beispielprogramm. Einführung CUDA. Ralf Seidler. Friedrich-Alexander-Universität Erlangen-Nürnberg

GPGPU-Architekturen CUDA Programmiermodell Beispielprogramm. Einführung CUDA. Ralf Seidler. Friedrich-Alexander-Universität Erlangen-Nürnberg Einführung CUDA Friedrich-Alexander-Universität Erlangen-Nürnberg PrakParRA, 18.11.2010 Outline 1 GPGPU-Architekturen 2 CUDA Programmiermodell 3 Beispielprogramm Outlook 1 GPGPU-Architekturen 2 CUDA Programmiermodell

Mehr

CUDA. Moritz Wild, Jan-Hugo Lupp. Seminar Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg

CUDA. Moritz Wild, Jan-Hugo Lupp. Seminar Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg CUDA Seminar Multi-Core Architectures and Programming 1 Übersicht Einleitung Architektur Programmierung 2 Einleitung Computations on GPU 2003 Probleme Hohe Kenntnisse der Grafikprogrammierung nötig Unterschiedliche

Mehr

1 Grundlagen. 1.1 Rechnerarchitektur. Mikroprozessortechnik MFB. Einleitung, Systemaufbau

1 Grundlagen. 1.1 Rechnerarchitektur. Mikroprozessortechnik MFB. Einleitung, Systemaufbau 1 Grundlagen... 1 1.1 Rechnerarchitektur... 1 1.2 Takt... 2 1.3 Speicherarchitektur... 2 2 Mikroprozessor... 3 2.1 Begriffsbestimmung... 4 2.2 Geschichte... 4 2.3 Caches... 5 1 Grundlagen 1.1 Rechnerarchitektur

Mehr

Mikroprozessor als universeller digitaler Baustein

Mikroprozessor als universeller digitaler Baustein 2. Mikroprozessor 2.1 Allgemeines Mikroprozessor als universeller digitaler Baustein Die zunehmende Integrationsdichte von elektronischen Schaltkreisen führt zwangsläufige zur Entwicklung eines universellen

Mehr

Einleitung. Dr.-Ing. Volkmar Sieh WS 2005/2006. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg

Einleitung. Dr.-Ing. Volkmar Sieh WS 2005/2006. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg Technologische Trends Historischer Rückblick Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Technologische Trends Historischer Rückblick Übersicht

Mehr

C-to-CUDA-Compiler. Johannes Kölsch. October 29, 2012

C-to-CUDA-Compiler. Johannes Kölsch. October 29, 2012 October 29, 2012 Inhaltsverzeichnis 1 2 3 4 5 6 Motivation Motivation CUDA bietet extreme Leistung für parallelisierbare Programme Kompliziert zu programmieren, da multi-level parallel und explizit verwalteter

Mehr

Die untere Abbildung zeigt eine Szene aus einer 3D-Computeranimation.

Die untere Abbildung zeigt eine Szene aus einer 3D-Computeranimation. 3D-Animation Als 3D-Animation bezeichnet man die Animation von dreidimensionalen Objekten. Diese können wie echte Objekte gedreht und bewegt werden. Die 3D-Animationen erinnern an die sogenannten Puppentrickfilme.

Mehr

Was ist Rechnerleistung

Was ist Rechnerleistung Was ist Rechnerleistung Leistung im engeren Sinne: Leistung gemessen in seltsamen Einheiten, bestimmt vorwiegend von der Zentraleinheit: MIPS (Millionen Instruktionen pro Sekunde) FLOPS (Floating Point

Mehr

Yilmaz, Tolga MatNr: Mesaud, Elias MatNr:

Yilmaz, Tolga MatNr: Mesaud, Elias MatNr: Yilmaz, Tolga MatNr: 157317 Mesaud, Elias MatNr: 151386 1. Aufbau und Funktionsweise einer Grafikkarte 2. CPU vs. GPU 3. Software 4. Beispielprogramme Kompilierung und Vorführung 5. Wo wird Cuda heutzutage

Mehr

Rechnerorganisation. H.-D. Wuttke `

Rechnerorganisation. H.-D. Wuttke ` Rechnerorganisation Mathematische Grundlagen (1) Boolesche Algebren: BMA, BAA (2,3) Kombinatorische Schaltungen (4,5) Automaten (6,7) Sequentielle Schaltungen (8) Programmierbare Strukturen (9) Rechneraufbau

Mehr

Informatik II. Woche 15, Giuseppe Accaputo

Informatik II. Woche 15, Giuseppe Accaputo Informatik II Woche 15, 13.04.2017 Giuseppe Accaputo g@accaputo.ch 1 Themenübersicht Repetition: Pass by Value & Referenzen allgemein Repetition: Asymptotische Komplexität Live-Programmierung Aufgabe 7.1

Mehr

Raytracing in GA mittels OpenACC. Michael Burger, M.Sc. FG Scientific Computing TU Darmstadt

Raytracing in GA mittels OpenACC. Michael Burger, M.Sc. FG Scientific Computing TU Darmstadt Raytracing in GA mittels OpenACC Michael Burger, M.Sc. FG Scientific Computing TU Darmstadt michael.burger@sc.tu-darmstadt.de 05.11.12 FB Computer Science Scientific Computing Michael Burger 1 / 33 Agenda

Mehr

Rechnerarchitektur SS 2013

Rechnerarchitektur SS 2013 Rechnerarchitektur SS 2013 Parallel Random Access Machine (PRAM) Michael Engel TU Dortmund, Fakultät für Informatik Teilweise basierend auf Material von Gernot A. Fink und R. Yahyapour 6. Juni 2013 Parallel

Mehr

Parallele Algorithmen in der Bildverarbeitung

Parallele Algorithmen in der Bildverarbeitung Seminar über Algorithmen - SoSe 2009 Parallele Algorithmen in der Bildverarbeitung von Christopher Keiner 1 Allgemeines 1.1 Einleitung Parallele Algorithmen gewinnen immer stärker an Bedeutung. Es existieren

Mehr

Dr. Georg Hager Regionales Rechenzentrum Erlangen (RRZE) Friedrich-Alexander-Universität Erlangen-Nürnberg. Supercomputer

Dr. Georg Hager Regionales Rechenzentrum Erlangen (RRZE) Friedrich-Alexander-Universität Erlangen-Nürnberg. Supercomputer Dr. Georg Hager Regionales Rechenzentrum Erlangen (RRZE) Friedrich-Alexander-Universität Erlangen-Nürnberg Supercomputer MÄCHTIGES WERKZEUG UND FORSCHUNGSOBJEKT Fragen Was ist ein Computer und was kann

Mehr

2 Rechnerarchitekturen

2 Rechnerarchitekturen 2 Rechnerarchitekturen Rechnerarchitekturen Flynns Klassifikation Flynnsche Klassifikation (Flynn sche Taxonomie) 1966 entwickelt, einfaches Modell, bis heute genutzt Beschränkung der Beschreibung auf

Mehr

Softwaretechnik 1 Übung 5

Softwaretechnik 1 Übung 5 Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Softwaretechnik 1 Übung 5 2.7.29 Aufgabe 1a) Zeichnen Sie die komplette Vererbungshierarchie der Klasse BufferedOutputStream als UML- Klassendiagramm.

Mehr

Georg Hager Regionales Rechenzentrum Erlangen (RRZE)

Georg Hager Regionales Rechenzentrum Erlangen (RRZE) Erfahrungen und Benchmarks mit Dual- -Prozessoren Georg Hager Regionales Rechenzentrum Erlangen (RRZE) ZKI AK Supercomputing Karlsruhe, 22./23.09.2005 Dual : Anbieter heute IBM Power4/Power5 (Power5 mit

Mehr

Vorlesung Rechnerarchitektur. Mehrkernarchitekturen

Vorlesung Rechnerarchitektur. Mehrkernarchitekturen Mehrkernarchitekturen Einführung Die Entwicklung von Mikroprozessoren war viele Jahre vom Prinzip des minimalen Hardwareaufwandes geprägt. (Intel 4004 mit 1000 Transistoren...) Die Entwicklung der Halbleitertechnik

Mehr

Systeme 1: Architektur

Systeme 1: Architektur slide 1 Vorlesung Systeme 1: Architektur Prof. Dr. Ulrich Ultes-Nitsche Forschungsgruppe Departement für Informatik Universität Freiburg slide 2 Prüfung 18. Februar 2004 8h00-11h40 13h00-18h20 20 Minuten

Mehr

SIMD-Accelerated Regular Expression Matching

SIMD-Accelerated Regular Expression Matching SIMD-Accelerated Regular Expression Matching Seminar - Implementierungstechniken für MMDBS Stefan Lachnit 29. Oktober 2018 Einleitung Reguläre Ausdrücke ermöglichen komplexe Abfragen bei Strings RE muss

Mehr

x Inhaltsverzeichnis 2. von NEUMANN-Rechner Grundkonzept Interne und externe Busse Prozessorregister Stackpointer

x Inhaltsverzeichnis 2. von NEUMANN-Rechner Grundkonzept Interne und externe Busse Prozessorregister Stackpointer Inhaltsverzeichnis 1. Komplexe Schaltwerke 1 1.1 Zeitverhalten von Schaltwerken 2 1.1.1 Wirk- und Kippintervalle 3 1.1.2 Rückkopplungsbedingungen 6 1.2 Entwurf von Schaltwerken 9 1.3 Kooperierende Schaltwerke

Mehr

Multi-threaded Programming with Cilk

Multi-threaded Programming with Cilk Multi-threaded Programming with Cilk Hobli Taffame Institut für Informatik Ruprecht-Karls Universität Heidelberg 3. Juli 2013 1 / 27 Inhaltsverzeichnis 1 Einleitung Warum Multithreading? Ziele 2 Was ist

Mehr

Master-Thread führt Programm aus, bis durch die Direktive

Master-Thread führt Programm aus, bis durch die Direktive OpenMP seit 1998 Standard (www.openmp.org) für die Shared-Memory Programmierung; (Prä-)Compiler für viele Systeme kommerziell oder frei (z.b. Omni von phase.hpcc.jp/omni) verfügbar Idee: automatische Generierung

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Steffen Börm Christian-Albrechts-Universität zu Kiel Sommersemester 2013 S. Börm (CAU Kiel) Algorithmen und Datenstrukturen Sommersemester 2013 1 / 9 Ansprechpartner Hauptverantwortlicher:

Mehr

3D-Rekonstruktion medizinischer Daten

3D-Rekonstruktion medizinischer Daten 3D-Rekonstruktion medizinischer Daten Bericht aus der Fraunhofer Charité Kooperation Berlin das F&E Zentrum für neue Interventionstechnologien Direktor: Prof. Dr.-Ing. Erwin Keeve Wissenschaftlicher Mitarbeiter

Mehr