| Καθηγητής: | Νεκτάριος Κοζύρης ( nkoziris@cslab.ece.ntua.gr ) |
|---|---|
| Επικοινωνία: | Γιώργος Γκούμας (goumas@cslab.ece.ntua.gr), Νίκος Αναστόπουλος (anastop@cslab.ece.ntua.gr) |
| Άτομα: | 1 |
Οι αλγεβρικές πράξεις με αραιούς (sparse) πίνακες (π.χ. πολλαπλασιασμός αραιού πίνακα με διάνυσμα) βρίσκονται στην καρδιά των πλέον υπολογιστικά απαιτητικών εφαρμογών που εκτελούνται αυτή τη στιγμή στα υπερυπολογιστικά συστήματα παγκοσμίως. Για το λόγο αυτό η βελτιστοποίηση της εκτέλεσης των αλγεβρικών πράξεων που περιλαμβάνουν αραιούς πίνακες είναι ζωτικής σημασίας και αποτελεί ιδιαίτερα ενεργό πεδίο στην έρευνα των εφαρμογών που απαιτούν υψηλές επιδόσεις. Καθώς οι αραιοί πίνακες περιλαμβάνουν αριθμό μη μηδενικών στοιχείων σημαντικά μικρότερο από το μέγεθός τους, έχουν προταθεί διάφορες μορφές αποθήκευσης των αραιών πινάκων (π.χ. Compressed Row Storage - CRS, Block Compressed Row Storage - BCRS, Compressed Diagonal Storage - CDS, Jagged Diagonal Storage - JDS, κ.ά.).
Στο πλαίσιο της προτεινόμενης διπλωματικής εργασίας θα πραγματοποιηθεί υλοποίηση και εκτέλεση αλγεβρικών πράξεων με αραιούς πίνακες σε αρχιτεκτονικές υψηλών επιδόσεων με πολλαπλές ροές εκτέλεσης (multicores, SMTs, SMPs,PC Clusters). Θα αξιολογηθεί η επίδραση της μορφής αποθήκευσης του αραιού πίνακα στην επίδοση των προγραμμάτων, χρησιμοποιώντας μια σειρά από μετρικές απόδοσης, όπως ο χρόνος εκτέλεσης, τα cache misses, TLB misses, branch mispredictions κ.λπ., που είναι δυνατόν να συλλεχθούν από μηχανισμούς μέτρησης συμβάντων που ενσωματώνουν οι σύγχρονοι επεξεργαστές (performance counters). Θα αναζητηθούν τεχνικές βελτιστοποίησης των εφαρμογών μέσω εναλλακτικών τρόπων αποθήκευσης, μετασχηματισμού του κώδικα εκτέλεσης και χρήσης τεχνικών που αξιοποιούν τα χαρακτηριστικά της πλατφόρμας εκτέλεσης (π.χ. communication overlapping, software prefetching κ.λπ.).
Προγραμματισμός σε γλώσσα C, βασικές γνώσεις σε παράλληλη επεξεργασία και αρχιτεκτονική υπολογιστών