Algorithmen für moderne Rechnerarchitekturen (ALR)
6/7. Semester
5 ECTS | 4 SWS
Mündliche Prüfung (M)
Rechnen mit modernen Computerarchitekturen: Du bekommst einen Einblick in verschiedene Prozessoren wie CPU und GPU und ihre Einsatzbereiche. Im Fokus stehen paralleles Programmieren, die Zusammenarbeit von Hardware und Software sowie die Optimierung von Programmen. Zusätzlich geht es um virtuelle Maschinen und GPU-Programmierung für rechenintensive Aufgaben.
Inhalte
- Unterschiedlichen Rechnerarchitekturen
- CPU, DSP, GPU
- Speicherhierarchieen
- Kommunikation
- Hardwarenahe Programmierung (Hardware-Software Zusammenspiel)
- Unterstützung für Multiprocessing in Programmiersprachen
- Virtuelle Maschinen
- Optimierung/Profiling
- GPU-Programmierung
- nVIDIA CUDA (Compute Unified Device Architecture)
- OpenCL
Lernziele/Kompetenzen
Die Studierenden sind in der Lage,
- unterschiedliche Prozessortypen zu unterscheiden und einen für eine Aufgabenstellung geeigneten Prozessortyp auszuwählen,
- parallele Programmierkonzepte anwenden,
- die Leistung von Programmen zu bewerten und diese zu optimieren,
- Konzepte virtueller Maschinen zu erklären und
- parallele Programmiertechniken zum Programmieren auf Grafikkarten anzuwenden.
Literatur
- David Kirk, “Programming massively parallel processors”, ELSEVIER Verlag, ISBN-13: 978-0-12-381472-2
- Thomas Rauber, Gundula Rünger, "Parallele Programmierung", 2. Auflage, Springer Verlag, ISBN:978-3-540-46549-2
- T.Ottmann, P.Widmayer, "Algorithmen und Datenstrukturen", 3.Auflage, Spektrum Verlag, ISBN:3-8274-0110-0
- Thomas Beierlein, Olaf Hagenbruch, "TaschenbuchMikroprozessortechnik", 2. Auflage, Fachbuchverlag Leipzig, ISBN:3-446-21686-3
- M.Allen, B.Wilkinson, “Parallel Programming”, Prentice-Hall, ISBN-13:978-0131405639
- Seiler, L. et al: Larrabee: A Many-Core x86 Architecture for Visual Computing. ACM Transactions on Graphics, Vol. 27, No. 3, Article 18, August 2008, 15 pages
- OpenCL - The open standard for parallel programming of heterogeneous systems
- Khronos Group: OpenCL - The open standard for parallel programming of heterogeneous systems
- Parallel Computing Technologies. Proceedings of the 10th International Conference, PaCT 2009, Novosibirsk, Russia, August 31-September 4, 2009
Dozentinnen / Dozenten
Empfohlene Vorkenntnisse
Daten zum Modul
| Semester |
6/7 |
| Unterrichtssprache |
Deutsch |
|
Häufigkeit
|
Unregelmäßig
|
| Kreditpunkte |
5 |
| Modulverantwortlich |
Prof. Dr. Thomas Ihme |
| Dauer |
1 Semester |
| Studienleistung |
Keine |
| Prüfungsvorleistung |
Pflichtübung (PU) |
| Prüfungsleistung |
Mündliche Prüfung (M) |
Semesterwochenstunden
| Vorlesung |
2 SWS |
| Übung |
2 SWS |
| Summe |
4 SWS |
Arbeitsaufwand (work load)
| Vorlesung |
30 h |
| Selbststudium |
90 h |
| Aufgaben |
30 h |
| Summe |
150 h |