Το μάθημα του Παράλληλου Προγραμματισμού
Εργαστηριακό μάθημα, όπου γίνεται πρακτική εξάσκηση σε τεχνικές προγραμματισμού υψηλής απόδοσης και παράλληλου προγραμματισμού:
- Η επίδραση της ιεραρχίας μνήμης στην απόδοση
- SSE instructions
- Προγραμματισμός Threads
- OpenMP
- Intel Threading Building Blocks (TBB)
- Παράλληλες υλοποιήσεις της βιβλιοθήκης C++ STL
- Προγραμματισμός CUDA
Λειτουργικό σύστημα: Linux. Γλώσσες προγραμματισμού: C και C++. Περιστασιακά θα χρησιμοποιηθούν ειδικές γλώσσες για προγραμματισμό σε GPU όπως CUDA C (ή OpenCL).
Το εργαστήριο του μαθήματος χρησιμοποιεί υπολογιστικούς πόρους AWS Cloud χρηματοδοτούμενους από το ΕΔΥΤΕ.
Υλικό μαθήματος-εργαστηρίου
Δείτε το υλικό για το μάθημα και το εργαστήριο.
Ώρες μαθήματος-εργαστηρίου
Κάθε Δευτέρα και Τετάρτη 15:00-17:00 στο Εργαστήριο «Αρεταίος».
Βαθμολογία
Ο «Παράλληλος Προγραμματισμός» είναι ένα μάθημα επιλογής με εργαστηριακό προσανατολισμό: θα πρέπει να ολοκληρώσετε ένα σετ προγραμματιστικών ασκήσεων κατά τη διάρκεια του εξαμήνου (όχι κατ'ανάγκη με τον ίδιο βαθμό δυσκολίας), από τον βαθμό των οποίων θα υπολογιστεί η συνολική βαθμολογία – υπό την προϋπόθεση της επιτυχίας (βαθμός ≥ 5) σε κάθε άσκηση.
Προσοχή: οι εργασίες είναι απαλλακτικές μόνο για το εξάμηνο κατά το οποίο παραδόθηκαν και εφόσον έχουν κατατεθεί εμπρόθεσμα. Σε όλες τις άλλες περιπτώσεις η εξέταση του μαθήματος γίνεται γραπτά-εργαστηριακά.
Προτεινόμενα βιβλία για το μάθημα
- Peter S. Pacheco, Εισαγωγή στον Παράλληλο Προγραμματισμό, ΚΛΕΙΔΑΡΙΘΜΟΣ, 2015.
- Γραμματή Πάντζιου, Βασίλειος Μάμαλης, Αλέξανδρος Τομαράς, Εισαγωγή στον Παράλληλο Υπολογισμό, ΕΚΔΟΣΕΙΣ ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ, 2013.