Τα τελευταία τέσσερα έτη, η Μονάδα Παράλληλης Υπολογιστικής Ρευστοδυναμικής & Βελτιστοποίησης του Εργαστηρίου Θερμικών Στροβιλομηχανών (ΕΘΣ) του ΕΜΠ δραστηριοποιείται ερευνητικά στην εκμετάλλευση των δυνατοτήτων των καρτών γραφικών σε κώδικες και εφαρμογές υπολογιστικής ρευστοδυναμικής και βελτιστοποίησης. Σχετικά με τους επιλύτες των εξισώσεων ροής (εξισώσεις Euler, Navier-Stokes), το λογισμικό που ήδη έχει αναπτυχθεί σε CUDA C δίνει, σε κάρτες γραφικών τελευταίας τεχνολογίας της NVIDIA, επιταχύνσεις έως x100, ανάλογα με το πλέγμα, την εφαρμογή κτλ. Οι επιλύτες που αναπτύχθηκαν χειρίζονται μη-δομημένα αλλά και δομημένα πλέγματα με μεθόδους πεπερασμένων όγκων κεντροκομβικής διατύπωσης των εξισώσεων. Σκοπός της παρούσας διπλωματικής εργασίας είναι η ανάπτυξη/προγραμματισμός (με CUDA C και POSIX threads) ενός παράλληλου επιλύτη εξισώσεων Euler εκτελούμενου σε συστοιχία καρτών γραφικών και η μέτρηση της επιτάχυνσης ως προς την αντίστοιχη υλοποίηση για μία κάρτα γραφικών. Βασίστηκε στον υπάρχοντα επιλύτη για μία κάρτα γραφικών, ο οποίος επιλύει 3Δ εξισώσεις Euler για συμπιεστή ροή σε δομημένα πλέγματα, με διακριτοποίηση πεπερασμένων όγκων κεντροκομβικής διατύπωσης και μέθοδο χρονοπροέλασης (time marching). Ο τελικός κώδικας, εκτελούμενος μέχρι και σε τρεις κάρτες γραφικών NVIDIA TESLA M2050 ενός υπολογιστικού κόμβου, συγκρίθηκε με τον υπάρχοντα για μία κάρτα γραφικών. Η λύση της ροής και η σύγκλιση των δύο επιλυτών είναι ταυτόσημη και ο επιλύτης που αναπτύχθηκε έχει επιτάχυνση έως και x2.7 ως προς τον αντίστοιχο για μία κάρτα γραφικών.
During the past four years, the Parallel CFD & Optimization Unit of the Laboratory of Thermal Turbomachines of the National Technical University of Athens has been focusing on the exploitation of the computational power of new generation Graphics Processing Units (GPU) for CFD and Optimization software and applications. In the field of CFD, in-house solvers, for both the Euler and Navier-Stokes equations, have already been programmed in CUDA C. These codes, handling both structured and unstructured grids and running on modern NVIDIA GPUs, have achieved speed-ups of up to x100 (compared to a modern CPU), depending on the grid in use, the application etc. The scope of this diploma thesis, is the development (in CUDA C and POSIX threads) of a parallel Euler solver running on a many-GPU cluster, and the measurement of speed-up with respect to the single GPU implementation. The development was based on the existing single GPU solver, which solves the 3D Euler equations for compressible flow , using a vertex-centered finite volume method for structured grids and a time-marching method. The final code was tested on up to 3 GPUs NVIDIA TESLA M2050 of a single computational node. Compared against the single GPU implementation, it delivers identical results and convergence history with a speed-up of x2.7.