Wintersemester 2020/2021

Aufgrund der Corona Pandemie ist der Veranstaltungsbeginn des Wintersemesters 2020/2021 auf den 01. November 2020 verschoben und wir bieten unsere Veranstaltungen ausschließlich digital an.

Die gesamte Organisation der Lehrveranstaltungen findet über die Lernplattform Moodle statt. Wenn Sie an einer der u.a. Veranstaltungen teilnehmen möchten, melden Sie sich bitte zu den entsprechenden Moodlekursen an, den entprechenden Link finden Sie direkt bei der jeweiligen Veranstaltung.

Weitere Informationen der Uni Kassel zum Umgang mit dem Corona-Virus finden Sie tagesaktuell hier.

 

Die Veranstaltung beginnt mit einer Einführung zu Gegenstand, Anwendungsgebieten und Grundbegriffen des parallelen Rechnens. Wir behandeln Entwurfstechniken für parallele Algorithmen (z.B. paralleles Divide-and-Conquer) sowie allgemeine Anforderungen an den Entwurf effizienter Programme (z.B. Cacheoptimierung).

Anhand von drei exemplarischen Programmiersystemen werden dann im Hauptteil Grundkenntnisse zur parallelen Programmierung vermittelt:

  • OpenMP für Rechner mit gemeinsamem Speicher,
  • APGAS für Java" für Rechner mit verteiltem bzw. hybridem Speicher und
  • CUDA für GPUs.

In die Veranstaltung sind zwei Praktikumsabschnitte integriert, in denen die Teilnehmer in Zweierteams Programmieraufgaben lösen. Die Ergebnisse werden anschließend in Prüfungsgesprächen vorgestellt und bilden die Basis für die Bewertung der Veranstaltung.

Die Veranstaltung ersetzt die bisherigen Veranstaltungen PV1 und PV2.

Studiengang
Bachelor Informatik

Umfang
4 SWS (6 CP)

Für weitere Auskünfte stehen Ihnen Herr M.Sc. Jonas Posner und Herr M.Sc. Lukas Reitz gern zur Verfügung.

Weitere Informationen zur Veranstaltung finden Sie im Vorlesungsverzeichnis (wird am 07.09.2020 aktualisiert) und auf der Lernplattform Moodle.

 

Die traditionellen parallelen Programmiersysteme MPI und OpenMP werden zunehmend wegen ihres hohen Programmentwicklungsaufwandes und einer begrenzten Portabilität kritisiert. Entsprechend wurden in den letzten Jahren und Jahrzehnten verschiedene Alternativen vorgeschlagen. Viele davon verfolgen einen taskbasierten Ansatz, d.h., die Berechnung wird nicht durch Prozesse / Threads, sondern durch Tasks beschrieben. Darunter versteht man weitgehend in sich abgeschlossene Teilprogramme, deren Anzahl anwendungsspezifisch gewählt wird. Die Tasks werden durch ein Laufzeitsystem automatisch auf die Prozesse und Threads abgebildet. Je nach Programmiersystem sind Abhängigkeiten zwischen Tasks, ihre intern parallele Ausführung und weitere Optionen möglich.

Im Seminar stellen die Teilnehmer je ein taskbasiertes paralleles Programmiersystem vor. Die Funktionalität erschließen sie sich dabei aus der Literatur, ggf. ergänzt durch Experimente mit eigenen Programmen. Beispielsysteme sind Cilk, Chapel, StarPU, COMPSs, Charm4py und Intel TBB.

Studiengang
Bachelor und Master Informatik

Umfang
2 SWS (4 CP)

Für weitere Auskünfte stehen Ihnen Herr M.Sc. Jonas Posner und Herr M.Sc. Lukas Reitz gern zur Verfügung.

Weitere Informationen zur Veranstaltung finden Sie im Vorlesungsverzeichnis für Bachelor und Vorlesungsverzeichnis für Master (werden erst am 07.09.2020 aktualisiert) sowie auf der Lernplattform Moodle.

In diesem Projekt implementieren die Studierenden in Zweiergruppen selbstständig ein bis zwei vorgegebene Aufgaben im Umfeld der parallelen Programmierung. Diese Aufgaben sind für alle Gruppen gleich, allerdings verwendet jede Gruppe ein anderes paralleles Programmiersystem. Es werden verschiedene Systeme zur Auswahl gestellt, zum Beispiel Legion, Chapel, Julia und CompsS. Zu den Anforderungen gehören die theoretische Ausarbeitung eines parallelen Algorithmus, die Implementierung sowie das Testen auf dem Cluster der Uni Kassel. Am Ende präsentieren alle Gruppen ihre Ergebnisse und Erfahrungen, über die anschließend diskutiert wird.

Studiengang
Bachelor und Master Informatik

Umfang
Bachelor 8 SWS (12 CP)
Master 2 SWS (4 CP)

Für weitere Auskünfte steht Ihnen Herr M.Sc. Jonas Posner gern zur Verfügung.

Weitere Informationen zur Veranstaltung finden Sie im Vorlesungsverzeichnis für Bachelor und Vorlesungsverzeichnis für Master (werden erst am 07.09.2020 aktualisiert) sowie auf der Lernplattform Moodle.