Χαροκόπειο Πανεπιστήμιο
Σχολή: Ψηφιακής Τεχνολογίας
Τμήμα: Πληροφορικής και Τηλεματικής
Πρόγραμμα: Προπτυχιακό Πρόγραμμα Σπουδών

Σύγχρονες Παράλληλες Αρχιτεκτονικές και Προγραμματισμός Υψηλής Απόδοσης

Εξάμηνο: 8 ECTS: 5.0 Κατ’ επιλογήν Erasmus

Γενικά

Κωδικός: ΥΠ26

Γλώσσα: Ελληνική με Αγγλική μετάφραση

Τρόπος διδασκαλίας: Δια ζώσης

Προαπαιτούμενα: Προγραμματισμός Ι (ΥΠΟ2)
Προγραμματισμός ΙΙ (ΥΠ05)
Διακριτά Μαθηματικά (ΥΠ09)
Υπολογιστικά Μαθηματικά (ΜΥ01)
Αριθμητική Ανάλυση (ΜΥ03)

Φόρτος εργασίας

  • Διαλέξεις: 39.0 ώρες
  • Εργαστήριο: 0.0 ώρες
  • Μελέτη: 61.0 ώρες
  • Εργασία: 12.5 ώρες

Περιεχόμενο Μαθήματος

Εισαγωγή στην Παράλληλη Υπολογιστική – Μοντέλα και αρχές
Ο νόμος του Amdahl, νόμος του Gustafson
Ταξινόμηση κατά Flynn – SISD, SIMD, MISD, MIMD
Τοπολογίες και Δίκτυα Διασύνδεσης – Mesh, Torus, Fat Tree
Αρχιτεκτονικές κοινής και κατανεμημένης μνήμης
Αρχιτεκτονικές περάσματος μηνυμάτων και ετερογενή συστήματα
Κρυφές μνήμες και μοντέλα συνοχής
Μη ντετερμινισμός, Race Conditions, Critical Sections
Παράλληλος Προγραμματισμός σε:
- MPI (Message Passing Interface)
- OpenMP και POSIX Threads
- CUDA, OpenACC, GPU Kernels
Εισαγωγή στο Roofline Model και benchmarking (π.χ. LINPACK)
Υβριδικά συστήματα (MPI + OpenMP / CUDA)
Παράδειγμα εφαρμογών HPC: Επιστήμη Δεδομένων, Κλιματικά Μοντέλα, Γραφικά

Μαθησιακά Αποτελέσματα

Σκοπός του μαθήματος είναι η εισαγωγή στις σύγχρονες αρχιτεκτονικές παράλληλης επεξεργασίας και στις τεχνικές υψηλής απόδοσης στον παράλληλο προγραμματισμό. Οι φοιτητές/φοιτήτριες μελετούν μοντέλα και αρχές παράλληλης εκτέλεσης, όπως ο νόμος του Amdahl, η κατηγοριοποίηση κατά Flynn και η μοντελοποίηση επιδόσεων (π.χ. Roofline model), ενώ εξετάζουν υπολογιστικές αρχιτεκτονικές όπως πολυπύρηνοι επεξεργαστές, GPUs και ετερογενή συστήματα.

Κατά τη διάρκεια του μαθήματος, οι φοιτητές κατανοούν έννοιες όπως μη ντετερμινισμός, race conditions, κρίσιμα τμήματα, και συγχρονισμός. Παρουσιάζονται και εφαρμόζονται τεχνικές παράλληλου προγραμματισμού σε MPI, OpenMP, POSIX Threads, CUDA και OpenACC, καθώς και υβριδικές τεχνικές (π.χ. MPI+CUDA).

Το εργαστηριακό σκέλος περιλαμβάνει εφαρμογές υψηλής απόδοσης σε πραγματικά σενάρια, όπως η επίλυση γραμμικών συστημάτων, η επεξεργασία μεγάλων δεδομένων και η παραλληλοποίηση αριθμητικών υπολογισμών σε GPU.

Δεξιότητες

Αυτόνομη Εργασία
Ομαδική Εργασία
Αναζήτηση, ανάλυση και σύνθεση δεδομένων και πληροφοριών, με τη χρήση και των απαραίτητων τεχνολογιών
Λήψη αποφάσεων
Προσαρμογή σε νέες καταστάσεις
Αυτόνομη Εργασία