Υπολογιστική Μηχανική – Παράλληλα Υπολογιστικά Συστήματα

ΠΕΡΙΕΧΟΜΕΝΟ ΜΑΘΗΜΑΤΟΣ

Εισαγωγή στα παράλληλα υπολογιστικά συστήματα και στο παράλληλο λογισμικό (θεμελιώδεις έννοιες, αρχιτεκτονικές,
αποτελεσματικότητα παράλληλου λογισμικού.) Τεχνικές παράλληλου προγραμματισμού συστημάτων συγκεντρωμένης
μνήμης με την χρήση του OPENMP. Αποσφαλμάτωση παράλληλων προγραμμάτων σε συστήματα συγκεντρωμένης
μνήμης. Παραδείγματα παράλληλων προγραμμάτων αριθμητικών μεθόδων. Ανάπτυξη αλγορίθμων και τεχνικών
προγραμματισμού λογισμικού για συστήματα κατανεμημένης μνήμης με την χρήση του MPI. Σφάλματα και
επεκτασιμότητα. Παράλληλος προγραμματισμός για κάρτες γραφικών με την χρήση των CUDA και OPENCL. Υβριδικές
τεχνικές παραλληλοποίησης. Εφαρμογές των τεχνικών παράλληλου προγραμματισμού στην ανάπτυξη μεθόδων
Πεπερασμένων Στοιχείων για την ανάλυση κατασκευών.

ΜΑΘΗΣΙΑΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ

Το μάθημα έχει σκοπό την εισαγωγή στις παράλληλες αρχιτεκτονικές και στον παράλληλο προγραμματισμό. Ειδικότερα,
στα πλαίσια του μαθήματος, οι φοιτητές και φοιτήτριες μαθαίνουν την οργάνωση υλικού των παράλληλων συστημάτων
καθώς και τις κατάλληλες διεπαφές προγραμματισμού εφαρμογών (OPENMP, MPI, CUDA, OPENCL) που μπορούν να
χρησιμοποιηθούν για την ανάπτυξη παράλληλου λογισμικού χρησιμοποιώντας την γλώσσα C++. Ταυτόχρονα μαθαίνουν
τα πλεονεκτήματα και τα μειονεκτήματα που έχουν τα διάφορα είδη παραλληλοποίησης, καθώς και εφαρμογές αυτών
στα πλαίσια της ανάπτυξης μεθόδων Πεπερασμένων Στοιχείων και άλλων μεθόδων υπολογιστικής μηχανικής για την
ανάλυση κατασκευών. Επιπλέον, μαθαίνουν να σχεδιάζουν και να υλοποιούν παράλληλους αλγορίθμους, να εξηγούν
και να επιλύουν προβλήματα ορθότητας που σχετίζονται με την παράλληλη επεξεργασία, να χρησιμοποιούν τους
μηχανισμούς συγχρονισμού λαμβάνοντας υπόψη τον αντίκτυπο στην επίδοση παράλληλων εφαρμογών καθώς και να
χρησιμοποιούν τρόπους για την μέτρηση των επιδόσεων παράλληλων εφαρμογών.