Seminar „Effiziente Programmierung“

Beschreibung

In diesem Seminar geht es um die effiziente Programmierung im weiteren Sinne. Dazu gehören sowohl die eigentliche Entwicklung und das Debugging aber auch der Energieverbrauch und die Laufzeit des Programms. Dabei sollen Informationen zu den verschiedenen Themen recherchiert werden und anhand von konkreten Beispielen dargestellt werden. Es können auch die Ergebnisse kleiner vergleichender Untersuchungen zur Auswirkung verschiedener Konstrukte und Methoden gezeigt werden.

Beachten Sie auch unsere allgemeinen organisatorischen Hinweise zu Seminaren.

Zielgruppe

Das Projekt eignet sich für Studierende der Informatik in den Diplom- und Bachelorstudiengängen. Studierende anderer Studiengänge müssen die Anrechnung mit dem jeweiligen Prüfungsausschuss klären.

Interessierte Zuhörer sind auch herzlich willkommen.

Daten der Veranstaltung

Zeit Donnerstag, 10–12 Uhr
Ort DKRZ, Raum 034
Mailingliste EP-1718

Dozenten

Themen

  • Modularisierung z. B. mit Shared Libraries 1)
  • Optimizing nested loops for optimal vectorization 2)
  • Optimal parallelization strategies of nested loops (OpenACC) 3)
  • Netzwerkkommunikation 4)

Zeitplan

Bei einem allgemeinen Einführungstermin werden Grundlagen vermittelt und die Themen zugewiesen. Nach der Festlegung der Themen soll der Inhalt mit dem jeweiligen Betreuer diskutiert werden.

  • 19.10. Einführung Folien
  • 26.10. Fällt aus
  • 02.11. Fällt aus
  • 09.11.
    • OpenMP – Niklas Wittmer 5)
    • Buildsysteme – Yannic Köster 6)
  • 16.11. (Raum 023)
    • Fällt aus
  • 23.11. (09:45–12:00)
    • Energy efficiency – Willy Kah 7)
    • Profiling (C, Python) – Jan Pohlmann 8)
    • Statische Analyse – Hung Quan Vu 9)
  • 30.11. (Raum 023)
    • Machine Learning – Kevin Malinowski 10)
    • Kompression – Tim Kilian 11)
  • 07.12.
    • Code Review – Jan Ole Wellnitz 12)
    • Test-Driven Development – Maik Dachs 13)
  • 14.12.
    • Debugging im Linux-Kernel – Marc David 14)
    • Effiziente Synchronisations- und Sperrverfahren – Harry Flohr 15)
  • 21.12.
    • Optimizing caching on GPUs – Sumeyra Al Haj Yasin 16)
    • Memory management and optimizations – Tim Wischhof 17)
  • 11.01.
    • Statische Code-Optimierung mit LLVM und Polly – Kim Wittenburg 18)
    • Abstract cost functions 19)
  • 18.01.
    • TBD Master
  • 25.01.
    • TBD Master
  • 01.02.
    • TBD Master

Literaturhinweise

1) , 13)
Jakob Lüttgau
2) , 3) , 16)
Nabeeh Jumah
4) , 5) , 6) , 8) , 9)
Michael Kuhn
7)
Yevhen Alforov
10) , 11)
Anastasiia Novikova
12) , 14) , 15)
Anna Fuchs
17)
Kira Duwe
18) , 19)
Jannek Squar