~~NOCACHE~~
====== 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 [[:teaching:organisatorische_hinweise:seminar_proseminar#seminare|Hinweise zu Seminaren]].
===== Zielgruppe =====
Das Seminar 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 =====
//Das Seminar findet online statt.
Das Passwort wird am 1.11. über die Mailingliste verschickt.//
|| Zeit || Dienstag, 10--12 Uhr ||
|| Ort || Zoom Meeting-ID 985 2688 8361 ||
|| Mailingliste || [[https://wr.informatik.uni-hamburg.de/listinfo/ep-2021|EP-2021]] ||
===== Dozenten =====
* [[People:Anna Fuchs]] (Ansprechpartner)
* [[People:Hermann Lenhart]]
* [[People:Jannek Squar]]
* [[People:Georgiana Mania]]
* [[alexandru.gherega@desy.de|Dr. Alexandru Gherega (DESY)]]
===== Vorläufige Themen =====
===== Zeitplan =====
* 03.11.
* Einführung und Themenvergabe {{:teaching:wintersemester_2020_2021:ep-2021-Organisation2.pdf|Organisation}}
* 10.11. kein Meeting
* 17.11. kein Meeting
* 24.11. kein Meeting
* 01.12. kein Meeting
* 08.12. kein Meeting
* 15.12. kein Meeting
* 05.01 Meeting 11:00am
* Abgabe bis Do. 17.12.2020 11:59am
* 01. Build-Systeme (CMake + Makefiles + Autotools) ((Jannek Squar)) -- Benedikt Deike {{ :teaching:wintersemester_2020_2021:ep-2021-deike_buildtools.pdf |Folien}}
* 02. Build Systeme - Spack (+ Container?) ((Jannek Squar)) -- Maximilian Bauregger {{ :teaching:wintersemester_2020_2021:ep-2021_bauregger_spack.pdf |Folien}}
* 03. Typisierung in Programmiersprachen ((Hermann Lenhart)) -- Darwin Willers {{ :teaching:wintersemester_2020_2021:ep-2021_willers_typisierung.pdf |Folien}},{{teaching:wintersemester_2020_2021:ep20_21-willers-typisierung_bericht.pdf |Ausarbeitung}}
* 12.01 Meeting 11:00am
* Abgabe bis Do. 07.01.2021 11:59am
* 04. Application profiling - Übersicht ((Anna Fuchs)) -- Chams Alassil Khoury {{ :teaching:wintersemester_2020_2021:ep-2021_Khoury_app_prof.pdf |Folien}}
* 05. Application profiling Tools - Profiling and Tracing ((Anna Fuchs))((Jannek Squar)) -- Rebekka Schnoor
* 06. I/O Zugriffsmuster - Überblick ((Anna Fuchs)) -- Jonas Heiermann
* 19.01 Meeting 11:00am
* Abgabe bis Do. 14.01.2021 11:59am
* 07. MPI Datentypen ((Hermann Lenhart)) -- Michel Böker {{teaching:wintersemester_2020_2021:ep20-21-mpi_datentypen-final-boeker.pdf|Folien}},{{teaching:wintersemester_2020_2021:eo20-21-boeker-mpi_datentypen-ausarbeitung.pdf|Ausarbeitung}}
* 08. MPI Topologien ((Hermann Lenhart)) -- Irina Lindt {{teaching:wintersemester_2020_2021:ep20_21-mpi_topologien_irina_lindt.pdf|Folien}},{{teaching:wintersemester_2020_2021:ep20_21_irina_lindt_ausarbeitung_mpi_topologien.pdf|Ausarbeitung}}
* 09. MPI Einseitige Kommunikation ((Hermann Lenhart)) ((Jannek Squar)) -- Zhuo Chen
* 26.01 Meeting 11:00am
* Abgabe bis Do. 21.01.2021 11:59am
* 10. Vektorisierung ((Jannek Squar)) -- Richard Reiß {{ :teaching:wintersemester_2020_2021:ep-2021_reiss_vektorisierung.pdf |Folien}}
* 11. OpenMP GPU offloading (//English//) ((Georgiana Mania)) -- Yannik Könneker {{ :teaching:wintersemester_2020_2021:ep-2021_koenneker_openmp_gpu_offloading.pdf |Folien}}
* 02.02 Meeting 11:00am
* Abgabe bis Do. 28.01.2021 11:59am
* 12. Speichertypen und deren Effizienz im Linux Kernel ((Anna Fuchs)) -- Dominik Sander {{teaching:wintersemester_2020_2021:ep-2021_sander_speichertypen.pdf |Folien}}
* 13. Linux Kernel Profiling ((Anna Fuchs)) -- Pablo Correa Gomez {{teaching:wintersemester_2020_2021:linux-profiling-pablo-correa-gomez.pdf |Folien}}
* 14. Linux Kernel Debugging ((Anna Fuchs)) -- Leon Fritz {{teaching:wintersemester_2020_2021:fritz-linux_Kernel_Debugging.pdf |Folien}}
* 09.02 Meeting 11:00am
* Abgabe bis Do. 04.02.2021 11:59am
* 15. LLVM ((Jannek Squar)) -- Benjamin Hosseini {{ :teaching:wintersemester_2020_2021:ep-2021_hosseini_llvm.pdf |Folien}}
* 16. Rust ((Jannek Squar)) -- Finn Rodenberg {{ :teaching:wintersemester_2020_2021:ep-2021_rodenberg_rust.pdf |Folien}}
* 17. Rust-Analyse und -Optimierung mittels LLVM ((Jannek Squar)) -- Steffen Schubert {{ :teaching:wintersemester_2020_2021:ep-2021_schubert_rust_llvm.pdf |Folien}}
* 16.02 Meeting 11:00am
* Abgabe bis Do. 11.02.2021 11:59am
* 19. Metaprogramming with Clojure (//English//) ((Alexandru Gherega)) ((Georgiana Mania)) -- Johannes Stammer
* 20. Functional programming languages for AI (Clojure or Haskell) (//English//) ((Alexandru Gherega)) ((Georgiana Mania)) -- Christian Willner [[https://cloud.wr.informatik.uni-hamburg.de/s/ixe2R4xF6w222jn|Video]] {{ :teaching:wintersemester_2020_2021:ep-2021-willner-ai_clojure-presentation.pdf |Folien}}
* 21. Advanced Git ((Jannek Squar)) -- Kevin Kwasny {{ :teaching:wintersemester_2020_2021:ep-2021_kwasny_advanced-git.pdf |Folien}}
===== Literaturhinweise =====