Seminar Effiziente Programmierung und Ein-/Ausgabe
Die optimale Nutzung moderner Rechnerarchitekturen ist keine einfache Aufgabe, weshalb Wissenschaftlerinnen und Wissenschaftler bei der Entwicklung effizienter Anwendungen vor immer neue Herausforderungen gestellt werden. Insbesondere die Ein-/Ausgabe stellt dabei häufig einen Flaschenhals dar. Für die effiziente Programmierung ist daher ein tiefgehendes Verständnis der Hard- und Softwareumgebung sowie möglicher Ursachen für Leistungsprobleme unabdingbar.
Im Seminar geht es um die effiziente Programmierung und Ein-/Ausgabe im weiteren Sinne. Dazu gehören sowohl die eigentliche Entwicklung effizienter Anwendungen als auch deren Debugging und Leistungsanalyse. Dabei sollen Informationen zu verschiedenen Themen recherchiert und anhand von konkreten Beispielen präsentiert werden. Es können beispielsweise Compileroptimierungen, Werkzeuge für das Debugging und die Leistungsanalyse, Ansätze zur Datenreduktion sowie wissenschaftliche Publikationen zu aktuellen Forschungsfragen vorgestellt werden.
Veranstaltungsdaten
- Seminar: Montag 13:15-14:45 Uhr (G29-K059)
- Kontakt: Michael Kuhn, Michael Blesel und Johannes Wünsche
Lernziel
Die Teilnehmenden lernen, ein gegebenes Thema selbstständig zu erarbeiten und den anderen Teilnehmenden in verständlicher Weise zu präsentieren.
Voraussetzungen
Empfohlene Vorkenntnisse:
- Grundlegende Programmierkenntnisse
- Kenntnis der Grundmechanismen von Betriebssystemen (z. B. Technische Informatik)
- Grundkenntnisse in Rechnerarchitekturen sowie Algorithmen und Datenstrukturen
Zeitplan
- 09.10.2023: Einführung
- 16.10.2023: Entfällt
- 23.10.2023: Entfällt
- 30.10.2023: Entfällt
- 06.11.2023
- Dateisysteme - Yannes Börstler (Betreuer: Johannes Wünsche)
- Programmiersprachen - Christopher Liebsch (Betreuer: Michael Kuhn)
- 13.11.2023
- Aktuelle Speichertechnologien - Felix Kühne (Betreuer: Johannes Wünsche)
- E/A-Schnittstellen - Theodor Strauch (Betreuer: Johannes Wünsche)
- 20.11.2023
- Tests - Daniel Ladwig (Betreuer: Michael Blesel)
- Technische Hintergründe zu CI/CD - Marlon Hörner (Betreuer: Michael Kuhn)
- 27.11.2023
- Parallelisierung in C++ - Ha Trung Nguyen (Betreuer: Michael Kuhn)
- Parallelisierung in Rust - Denny Königsmann (Betreuer: Michael Kuhn)
- 04.12.2023
- PonyLang - Pascal Zittlau (Betreuer: Johannes Wünsche)
- Netzwerktopologien - Lucas Philipp (Betreuer: Michael Kuhn)
- 11.12.2023
- Energieeffizienz - Josefine Becker (Betreuer: Michael Kuhn)
- Energieeffizientes Scheduling - Pascal Horn (Betreuer: Johannes Wünsche)
- 18.12.2023
- Compiler-Optimierungen - Emanuel Thon (Betreuer: Michael Blesel)
- Statische Analyse - Marvin Zein (Betreuer: Michael Blesel)
- 08.01.2024
- Fortran - Benjamin Schmidt (Betreuer: Michael Blesel)
- Julia - Eric Neumann (Betreuer: Michael Blesel)
- 15.01.2024
- Leistungsanalyse mit perf - Dario Müller (Betreuer: Michael Blesel)
- Programmiermodelle für GPUs - Jacob Schnell (Betreuer: Michael Blesel)
- 22.01.2024
- Kompression in der Wissenschaft - Konrad Heidemann (Betreuer: Johannes Wünsche)
- Twelve Ways to Fool the Masses - Leon Schaper (Betreuer: Michael Kuhn)