Η διπλωματική αυτή εργασία πραγματεύεται ένα θέμα σημαντικής αξίας στο επάγγελμα του μηχανικού, αυτό της μείωσης του υπολογιστικού κόστους λογισμικού που αναλύει μηχανολογικές εφαρμογές, κυρίως αυτές που είναι μεγάλης κλίμακας. Μέχρι σήμερα οι κάρτες γραφικών χρησιμοποιούνταν στους ηλεκτρονικούς υπολογιστές για την εκτέλεση υπολογισμών με σκοπό την επεξεργασία γραφικών και την προβολή τους στην οθόνη του υπολογιστή σε εφαρμογές όπως παιχνίδια. Η συνεχής απαίτηση για όλο και περισσότερο αληθοφανή και τριδιάστατα γραφικά σε αυτές τις εφαρμογές, οδήγησε τις προγραμματιζόμενες μονάδες επεξεργασίας γραφικών να εξελίσσονται συνεχώς. Μέσα από αυτήν την εξέλιξη και εξαιτίας της ραγδαίας αύξησης της υπολογιστικής τους ισχύος σε σχέση με αντίστοιχη των κεντρικών επεξεργαστών, απέκτησαν μια νέα διαφορετική χρήση, στον τομέα της μεγάλης κλίμακας επιστημονικών, παράλληλων υπολογισμών (Large Scale Parallel Computing). Η παρούσα διπλωματική εργασία, είναι η πρώτη στο Εργαστήριο Θερμικών Στροβιλομηχανών του ΕΜΠ που ασχολείται με αυτήν τη νέα τεχνολογία. Συγκεκριμένα, παρουσιάζεται η λειτουργία της νέας αρχιτεκτονικής της κάρτας γραφικών η οποία επιτρέπει τη χρησιμοποίηση της υπολογιστικής ισχύος της κάρτας για υπολογισμούς μεγάλης κλίμακας, ενώ στη συνέχεια παρουσιάζεται η γλώσσα προγραμματισμού CUDA, με την οποία ο χρήστης έχει τη δυνατότητα να προγραμματίσει τις εφαρμογές του για εκτέλεση στην κάρτα. Στη συνέχεια, κάνοντας προετοιμασία για αληθινούς υπολογισμούς, χρησιμοποιείται λογισμικό επίλυσης των εξισώσεων Navier-Stokes1 έτοιμο για εκτέλεση σε κάρτα γραφικών, με σκοπό τον υπολογισμό της πολικής καμπύλης της αεροτομής ενός επιβατικού υπερηχητικού αεροσκάφους, διαδικασίας με υψηλό υπολογιστικό κόστος. Επιπλέον, προγραμματίζεται σε CUDA ένα υπάρχον μοντέλο προκαταρκτικού σχεδιασμού υπερηχητικού αεροσκάφους2, το οποίο χρησιμοποιεί την αεροτομή και την πολική καμπύλη του προηγούμενου τμήματος για την εκτέλεση του, ενώ τίθεται το μοντέλο του αεροσκάφους υπό βελτιστοποίηση με χρήση εξελικτικών αλγορίθμων ώστε να γίνει πιο εμφανής η επίδραση της χρήσης κάρτας γραφικών στη μείωση του υπολογιστικού κόστους της εφαρμογής μας. Τέλος, παρουσιάζεται ένας γενέτης διδιάστατων μη-δομημένων πλεγμάτων, που δημιουργήθηκε ως ουσιαστικό παραπροϊόν της παρούσας διπλωματικής και αποτελεί εργαλείο χρήσιμο για την υπολογιστική ρευστοδυναμική ενώ παράλληλα χρησιμοποιήθηκε για τη δημιουργία του πλέγματος της αεροτομής του πρακτικού τμήματος της εργασίας. Λέξεις κλειδιά : Κάρτα γραφικών, Compute Unified Device Architecture, Υπολογιστική Ρευστοδυναμική, Αεροδυναμική Βελτιστοποίηση, Εξελικτικοί Αλγόριθμοι, Γένεση Μη-Δομημένου Υπολογιστικού Πλέγματος.
This Diploma Thesis deals with the reduction of the computational cost of computations related to mechanical engineering applications that involve processing and calculations of scientific data, in particular large scale ones on Graphics Processing Units (GPU). So far the graphics cards were used in personal computers to perform the calculations required to process graphics and display them on the computer screen in applications such as games. The demand for more realistic and three-dimensional graphics in these applications led programmable graphics processing units to evolve continuously. Through this development and rapid growth of their computing power, in contrast to those of central processing units, GPUs have acquired a new different use in largescale parallel scientific computations. This Diploma Thesis is the first in the Laboratory of Thermal Turbomachines of NTUA on this new technology. In particular, it shows the operation of the new architecture of the GPUs which allows the use of computational power of the card for large scale calculations and then presents the programming language CUDA, used to program applications on GPUs. In addition, by making preparation for real calculations, a software, ready for execution on GPU, is used to solve the Navier-Stokes 3 equations in order to calculate the polar curve of an airfoil of a supersonic business jet, a process with high computational cost. In addition, an existing model of preliminary design4 of a supersonic aircraft, is reprogrammed in CUDA to use the airfoil and the polar curve of the previous section for its execution. The new model is used for optimization by means of evolutionary algorithms. Finally, a new program for generation of two-dimensional unstructured grids is presented, created as an essential by-product of this diploma thesis, for use with CFD codes for the computation of the flow developed around the airfoil in our essay. Keywords: Graphics Processing Unit, Compute Unified Device Architecture, Computational Fluid Dynamics, Aerodynamic Optimization, Evolutionary Algorithms, Genesis of Unstructured Grids.