Uni Wien:Parallel Architectures and Programming Models VU (Benkner)
Daten
[Bearbeiten | Quelltext bearbeiten]| Vortragende | Siegfried Benkner, Enes Bajrovic, Joao Nuno Estevao Fidalgo Ferreira Alves, Eduard Mehofer, Valon Raca |
|---|---|
| ECTS | 6,00 / 4,00 |
| Aufgezeichnet | Nein |
| Sprache | English |
| Links | ufind:053010 , Homepage |
| Master Informatik | Modul Grundlagen (Pflichtfach) |
Inhalt
[Bearbeiten | Quelltext bearbeiten]- Zuerst gibt es eine allgemeine Einführung in Parallel Computing etc.
- Dann gab es ein Kapitel zu Multithreading am Beispiel von Java (Thread, Runnable, Java Memory Model, Synchronization, Fork-Join-Framework, Computation Graph, Data Races, Executors und Thread Pools, ...).
- Anschließend gab es ein Kapitel zu OpenMP (Programmiersprache C++), wobei hier speziell auf OpenMP tasks und taskloop eingegangen wird.
- Dann gibt es ein Kapitel zu Performance im Allgemeinen und Instruction Level Parallelism (ILP).
- Letztes Kapitel ist OpenCL.
Ablauf
[Bearbeiten | Quelltext bearbeiten]Es gibt einige Vorlesungseinheiten - hier finden nicht alle Termine statt; welche tatsächlich stattfinden, steht auf Moodle - und anschließend 3 Assignments. Allerdings finden nicht zu jedem Teil überhaupt Vorlesungen statt: Zum Performance-Teil zB. gibt es nur das Buch (wird auf Moodle bereitgestellt), aus dem man die entsprechenden Kapiteln lesen soll.
Zu jedem dieser 3 Teile gibt es außerdem einen Test, wobei im Wintersemester 2021 Test 2 und Test 3 zusammengezogen wurden. Die Tests finden vor Ort statt, ansonsten gibt es keine Anwesenheitspflicht.
Benötigte/Empfehlenswerte Vorkenntnisse
[Bearbeiten | Quelltext bearbeiten]Java und C++ muss man bereits beherrschen.
Ansonsten gibt es keine benötigten Vorkenntnisse. Wer Uni_Wien:Parallel Computing VU (Benkner) bereits gemacht hat, tut sich natürlich leichter, weil es ein bisschen Überschneidung gibt.
Vortrag
[Bearbeiten | Quelltext bearbeiten]siehe Ablauf
Übungen
[Bearbeiten | Quelltext bearbeiten]Wintersemester 2021
[Bearbeiten | Quelltext bearbeiten]- Assignment 1 - Parallel Image Filter: Es war ein Paralleler Image Filter mit Java und dem Fork-Join-Framework zu programmieren.
- Assignment 2 - OpenMP Tasking: Mandelbrot-Programm mit C++ und OpenMP, davon je eine Lösung mit OpenMP task und eine mit OpenMP taskloop. Man sollte außerdem verschiedene Parameter testen etc.
- Assignment 3 - Heat Equation: Zu Lösen war eine iterative, mathematische Formel (Heat equation) mit OpenCL und C++.
Prüfung, Benotung
[Bearbeiten | Quelltext bearbeiten]noch offen
Dauer der Zeugnisausstellung
[Bearbeiten | Quelltext bearbeiten]noch offen
Zeitaufwand
[Bearbeiten | Quelltext bearbeiten]noch offen
Unterlagen
[Bearbeiten | Quelltext bearbeiten]noch offen
Tipps
[Bearbeiten | Quelltext bearbeiten]- Möglichst früh das Assignment machen, denn gerade vor der Abgabedeadline ist der ALMA (Server) immer sehr ausgelastet und man muss lange warten, bis man seine Lösung testen/laufen lassen kann.
Verbesserungsvorschläge / Kritik
[Bearbeiten | Quelltext bearbeiten]noch offen