Τμήμα Πληροφορικής - Ιόνιο Πανεπιστήμιο

Παράλληλος Προγραμματισμός

Εαρινό εξάμηνο 2023-24

Διδάσκων: Μ.Στεφανιδάκης

Εξέταση Ιουνίου 2024

Ποιοι απαλλάσσονται

Το εργαστήριο του μαθήματος χρησιμοποιεί υπολογιστικούς πόρους AWS Cloud χρηματοδοτούμενους από το ΕΔΥΤΕ.

Ενότητα #1

Εισαγωγή: Βασικές έννοιες παράλληλου υπολογισμού.

Ενδεικτική θεωρία: Ενότητες 2.3 - 2.6 και 2.10.1 - 2.10.2 από το βιβλίο "Εισαγωγή στον Παράλληλο Προγραμματισμό" του Peter S. Pacheco.

Υλικό ενότητας #1

Ενότητα #2

Η ιεραρχία μνήμης (κύρια και κρυφές μνήμες), η επίδρασή της στην απόδοση και τα εμπόδια που θέτει στις προσπάθειες παραλληλισμού.

Ενδεικτική θεωρία: Ενότητες 2.2.1 - 2.2.4 από το βιβλίο "Εισαγωγή στον Παράλληλο Προγραμματισμό" του Peter S. Pacheco.

Υλικό εργαστηρίων ενότητας #2

Ενότητα #3

Προγραμματισμός με εντολές SSE/AVX. Από τους υπερυπολογιστές (vector processors) στους εμπορικούς επεξεργαστές.

Ενδεικτική θεωρία: Ενότητα 2.3.1 από το βιβλίο "Εισαγωγή στον Παράλληλο Προγραμματισμό" του Peter S. Pacheco.
Δείτε επίσης: Intel Intrinsics Guide.

Υλικό εργαστηρίων ενότητας #3

Εργασία #1

Ενότητα #4

Παραλληλισμός σε επίπεδο threads (TLP). Προγραμματισμός με POSIX Threads (pthreads).

Ενδεικτική θεωρία: Ενότητες 4.1 - 4.2 από το βιβλίο "Εισαγωγή στον Παράλληλο Προγραμματισμό" του Peter S. Pacheco.

Υλικό εργαστηρίων ενότητας #4

Ενότητα #5

Προγραμματισμός threads με το OpenMP.

Ενδεικτική θεωρία: Ενότητες 5.1 - 5.5 από το βιβλίο "Εισαγωγή στον Παράλληλο Προγραμματισμό" του Peter S. Pacheco.

Υλικό εργαστηρίων ενότητας #5

Εργασία #2

Ενότητα #6

Εισαγωγή στον προγραμματισμό CUDA.

Υλικό εργαστηρίων ενότητας #6