Περίληψη: | Στην εργασία μελετάται η αποδοτική υλοποίηση αλγορίθμου για την επίλυση γενικών τριδιαγώνιων γραμμικών συστημάτων σε συνεπεξεργαστή Intel Xeon Phi.
Το ενδιαφέρον για το ζήτημα αυτό οφείλεται στο ότι πολλές επιστημονικές εφαρμογές, καθώς και σύνθετοι υπολογιστικοί πυρήνες όπως ο υπολογισμός ιδιοτιμών, απαιτούν χρήση τριδιαγώνιων επιλυτών οι οποίοι θα πρέπει να παρέχουν αξιόπιστα αποτελέσματα και να εκμεταλλεύονται αποδοτικά την αρχιτεκτονική του εκάστοτε παράλληλου συστήματος.
Η χρήση συνεπεξεργαστών στο High Performance Computing (HPC) έχει πλέον εδραιωθεί και σχεδόν κάθε νέο υπερυπολογιστικό σύστημα στηρίζεται στην μεγάλη επεξεργαστική τους ισχύ καθώς και στα ενεργειακά τους πλεονεκτήματα σε σύγκριση με τις κλασικές κεντρικές μονάδες επεξεργασίας. Οι συνεπεξεργαστές αναμένεται να αποτελέσουν τον «ακρογωνιαίο λίθο» των υπερυπολογιστικών συστημάτων για τα επόμενα χρόνια και συνεπώς η ανάπτυξη λογισμικού για την αποδοτική χρήση τους αποτελεί ίσως μια από τις πιο σημαντικές προκλήσεις στον χώρο του HPC.
Τόσο ο Intel Xeon Phi όσο και οι Μονάδες Επεξεργασίας Γραφικών (Graphics Processing Units ή GPUs) ανήκουν στις “many-core” αρχιτεκτονικές, οι οποίες παρέχουν μεγάλο πλήθος υπολογιστικών νημάτων στο επίπεδο υλικού. Για την επίτευξη υψηλής επίδοσης σε αυτές τις αρχιτεκτονικές απαιτείται προσεκτική επιλογή αλγορίθμου και ανάπτυξη λογισμικού, που να λαμβάνει υπόψη όλες τις δυνατότητες αλλά και τους περιορισμούς τις εκάστοτε αρχιτεκτονικής.
Στην εργασία παρουσιάζεται λεπτομερώς ο αλγόριθμος g-spike για την επίλυση γενικών τριδιαγώνιων γραμμικών συστημάτων, καθώς επίσης και περιγραφή της υλοποίησης του αλγορίθμου για τον Intel Xeon Phi με στόχο την εξαγωγή συμπερασμάτων σχετικά με τις δυνατότητες αποδοτικής αξιοποίησης του νέου αυτού υπολογιστικού συστήματος για ένα σημαντικό γραμμοαλγεβρικό υπολογισμό που μπορεί να αποτελέσει πυρήνα πολλών εφαρμογών.
Καθότι η εργασία αφορά αναπροσαρμογή υλοποίησης του g-spike σε CUDA για GPUs σε υλοποίηση για τον Intel Xeon Phi με χρήση OpenMP, θα παρουσιαστεί ακόμα το προγραμματιστικό μοντέλο CUDA της NVIDIA καθώς και οι ομοιότητες και διαφορές στις προσεγγίσεις των αντίστοιχων υλοποιήσεων του αλγορίθμου.
Τέλος θα παρουσιαστούν αξιολογήσεις των πειραματικών δεδομένων για παραλλαγές της υλοποίησης για τον Intel Xeon Phi, καθώς και συγκρίσεις των υλοποιήσεων αυτών με υπάρχοντες επιλυτές.
|