Υλοποίηση αλγορίθμων αριθμητικών μεθόδων σε σειριακό και παράλληλο περιβάλλον για την επίλυση διαφορικών εξισώσεων 2ης τάξης
Abstract
Η παρούσα διπλωματική εργασία παρουσιάζει μια ολοκληρωμένη διερεύνηση της αλγοριθμικής υλοποίησης αριθμητικών μεθόδων για την επίλυση διαφορικών εξισώσεων δεύτερης τάξης τόσο σε σειριακά όσο και σε παράλληλα υπολογιστικά περιβάλλοντα. Ξεκινάμε διερευνώντας και κατανοώντας τις δυνατότητες του OpenMP για παραλληλισμό, στη συνέχεια αναλύουμε σε βάθος τις σειριακές μεθόδους Jacobi και Gauss-Seidel, αναλύοντας τις ιδιότητες σύγκλισης και την υπολογιστική τους αποτελεσματικότητα. Στη συνέχεια, η μελέτη μετατοπίζεται σε παράλληλες εφαρμογές, όπου παρουσιάζουμε και αξιολογούμε την απόδοση των παράλληλων υλοποιήσεων των μεθόδων Jacobi και Gauss-Seidel μέσα σε μια αρχιτεκτονική κοινής μνήμης. Εισάγουμε το πρόβλημα δύο συνοριακών σημείων και αναλύουμε την ακρίβεια και τη σταθερότητα της μεθόδου των πεπερασμένων διαφορών, καθώς σχετίζεται με την διακριτοποίηση διαφορικών εξισώσεων. Συζητάμε στρατηγικές διαμέρισης χωρίου με εστίαση στη μέθοδο Additive Schwarz ως ζωτικής σημασίας εργαλείο για τη διαμέριση του χωρίου σύνθετων προβλημάτων και τον συντονισμό της παράλληλης εκτέλεσης, ενισχύοντας έτσι την ικανότητά μας να χειριζόμαστε αποτελεσματικά μεγάλης κλίμακας προβλήματα συνοριακών σημείων. Αυτή η διατριβή προσφέρει κρίσιμες γνώσεις σε ακαδημαϊκούς και επαγγελματίες για αποτελεσματικές λύσεις σε προκλητικές διαφορικές εξισώσεις δεύτερης τάξης σε μια ποικιλία επιστημονικών και μηχανικών πεδίων. Προσφέρει διορατικές αναλύσεις στις αλγοριθμικές πολυπλοκότητες των αριθμητικών προσεγγίσεων. This thesis presents a comprehensive investigation into the algorithmic implementation of numerical methods for solving second-order differential equations within both serial and parallel computing environments. We start by exploring and understanding the capabilities of OpenMP for parallelization, then analyze the serial Jacobi and Gauss-Seidel methods in depth, analyzing their convergence properties and computational effectiveness. The study then shifts to parallel applications, where we present and evaluate the performance of parallel implementations of the Jacobi and Gauss-Seidel methods within a shared memory architecture. We introduce the two-point boundary value problem and analyze the accuracy and stability of the finite difference method as it pertains to the discretization of differential equations. We discuss domain decomposition methods with a focus on the Additive Schwarz method as a vital tool for dividing the domain of complex problems and coordinating parallel execution, thereby enhancing our capacity to effectively handle large-scale two-point boundary value problems. This thesis offers critical knowledge to academics and practitioners for effective solutions to challenging second-order differential equations in a variety of scientific and engineering fields. It offers insightful analyses of the algorithmic complexities of numerical approaches.