Τριδιαγώνιοι επιλυτές για συνεπεξεργαστές : προσαρμόζοντας τον g-spike από CUDA για GPU σε OpenMP για τον πολυπύρηνο Intel Xeon Phi

Στην εργασία μελετάται η αποδοτική υλοποίηση αλγορίθμου για την επίλυση γενικών τριδιαγώνιων γραμμικών συστημάτων σε συνεπεξεργαστή Intel Xeon Phi. Το ενδιαφέρον για το ζήτημα αυτό οφείλεται στο ότι πολλές επιστημονικές εφαρμογές, καθώς και σύνθετοι υπολογιστικοί πυρήνες όπως ο υπολογισμός ιδιοτ...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριος συγγραφέας: Νάκος, Αλέξανδρος
Άλλοι συγγραφείς: Γαλλόπουλος, Ευστράτιος
Μορφή: Thesis
Γλώσσα:Greek
Έκδοση: 2016
Θέματα:
Διαθέσιμο Online:http://hdl.handle.net/10889/9717
id nemertes-10889-9717
record_format dspace
institution UPatras
collection Nemertes
language Greek
topic Προγραμματισμός
Τριδιαγώνιο
Συνεπεξεργαστές
Γραμμικά συστήματα
Επιλυτές
Προσαρμογή
Πολυπύρηνο
Programming
Tridiagonal
Coprocessors
Spike
Linear systems
Xeon
GPU
CUDA
Phi
Solvers
Porting
Manycore
004.35
spellingShingle Προγραμματισμός
Τριδιαγώνιο
Συνεπεξεργαστές
Γραμμικά συστήματα
Επιλυτές
Προσαρμογή
Πολυπύρηνο
Programming
Tridiagonal
Coprocessors
Spike
Linear systems
Xeon
GPU
CUDA
Phi
Solvers
Porting
Manycore
004.35
Νάκος, Αλέξανδρος
Τριδιαγώνιοι επιλυτές για συνεπεξεργαστές : προσαρμόζοντας τον g-spike από CUDA για GPU σε OpenMP για τον πολυπύρηνο Intel Xeon Phi
description Στην εργασία μελετάται η αποδοτική υλοποίηση αλγορίθμου για την επίλυση γενικών τριδιαγώνιων γραμμικών συστημάτων σε συνεπεξεργαστή 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, καθώς και συγκρίσεις των υλοποιήσεων αυτών με υπάρχοντες επιλυτές.
author2 Γαλλόπουλος, Ευστράτιος
author_facet Γαλλόπουλος, Ευστράτιος
Νάκος, Αλέξανδρος
format Thesis
author Νάκος, Αλέξανδρος
author_sort Νάκος, Αλέξανδρος
title Τριδιαγώνιοι επιλυτές για συνεπεξεργαστές : προσαρμόζοντας τον g-spike από CUDA για GPU σε OpenMP για τον πολυπύρηνο Intel Xeon Phi
title_short Τριδιαγώνιοι επιλυτές για συνεπεξεργαστές : προσαρμόζοντας τον g-spike από CUDA για GPU σε OpenMP για τον πολυπύρηνο Intel Xeon Phi
title_full Τριδιαγώνιοι επιλυτές για συνεπεξεργαστές : προσαρμόζοντας τον g-spike από CUDA για GPU σε OpenMP για τον πολυπύρηνο Intel Xeon Phi
title_fullStr Τριδιαγώνιοι επιλυτές για συνεπεξεργαστές : προσαρμόζοντας τον g-spike από CUDA για GPU σε OpenMP για τον πολυπύρηνο Intel Xeon Phi
title_full_unstemmed Τριδιαγώνιοι επιλυτές για συνεπεξεργαστές : προσαρμόζοντας τον g-spike από CUDA για GPU σε OpenMP για τον πολυπύρηνο Intel Xeon Phi
title_sort τριδιαγώνιοι επιλυτές για συνεπεξεργαστές : προσαρμόζοντας τον g-spike από cuda για gpu σε openmp για τον πολυπύρηνο intel xeon phi
publishDate 2016
url http://hdl.handle.net/10889/9717
work_keys_str_mv AT nakosalexandros tridiagōnioiepilytesgiasynepexergastesprosarmozontastongspikeapocudagiagpuseopenmpgiatonpolypyrēnointelxeonphi
AT nakosalexandros tridiagonalsolversforcoprocessorsportinggspikefromcudaforgpustoopenmpforthemanycoreintelxeonphi
_version_ 1771297361773985792
spelling nemertes-10889-97172022-09-06T05:13:46Z Τριδιαγώνιοι επιλυτές για συνεπεξεργαστές : προσαρμόζοντας τον g-spike από CUDA για GPU σε OpenMP για τον πολυπύρηνο Intel Xeon Phi Tridiagonal solvers for coprocessors : porting g-spike from CUDA for GPUs to OpenMP for the many-core Intel Xeon Phi Νάκος, Αλέξανδρος Γαλλόπουλος, Ευστράτιος Βενέτης, Ιωάννης Γαλλόπουλος, Ευστράτιος Κακλαμάνης, Χρήστος Nakos, Alexandros Προγραμματισμός Τριδιαγώνιο Συνεπεξεργαστές Γραμμικά συστήματα Επιλυτές Προσαρμογή Πολυπύρηνο Programming Tridiagonal Coprocessors Spike Linear systems Xeon GPU CUDA Phi Solvers Porting Manycore 004.35 Στην εργασία μελετάται η αποδοτική υλοποίηση αλγορίθμου για την επίλυση γενικών τριδιαγώνιων γραμμικών συστημάτων σε συνεπεξεργαστή 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, καθώς και συγκρίσεις των υλοποιήσεων αυτών με υπάρχοντες επιλυτές. In this paper we present the efficient implementation of an algorithm for solving general tridiagonal linear systems using an Intel Xeon Phi co-processor. The interesting thing about this subject is that many scientific software applications, as well as many complex computational tasks such as the computation of eigenvalues, require the use of tridiagonal solvers which must provide trustworthy results as well as make efficient use of the underlying systems parallel architecture. The use of co-processors in High Performance Computing (HPC) has been established and almost every new super-computing system is supported by their high computing power as well as their power consumption efficiency compared to standard CPUs. It is expected that co-processors will play an even bigger role in super-computing systems for the years to come, therefore developing software that efficiently uses them constitutes perhaps one of the most important challenges in HPC. Intel Xeon Phi as well as Graphics Processing Units (GPUs) belong in the “many-core” architectures, which provide a large number of hardware computational threads. To achieve high performance on these architectures careful choosing of an appropriate algorithm as well as software development that takes into account each architectures capabilities and restrictions are required. We will present the g-spike algorithm in detail, which is an algorithm for solving general tridiagonal systems. As well as a description of its implementation for the Intel Xeon Phi system, in order to study how to efficiently use the capabilities of this new computational system for this important linear algebra computation, which could be used in many other software applications. Since this paper regards the porting of an existing implementation of g-spike using CUDA for GPUs to an implementation for the Intel Xeon Phi system using OpenMP, NVIDIAs CUDA programming model as well as similarities and differences between the two implementations will be presented. Finally we will present evaluations of the experimental data for different approaches of the implementation for the Intel Xeon Phi system, as well as a comparison of these implementations with existing solvers. 2016-10-17T09:31:08Z 2016-10-17T09:31:08Z 2016-07-29 Thesis http://hdl.handle.net/10889/9717 gr 0 application/pdf