Τριδιαγώνιοι επιλυτές για συνεπεξεργαστές : προσαρμόζοντας τον 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 |