Institutional Repository
Technical University of Crete
EN  |  EL



My Space

Modeling and design of “Projected Gauss-Seidel” algorithm in FPGA

Toupas Petros

Simple record

Extent100 pagesen
Extent1,6 megabytesen
TitleΜοντελοποίηση και σχεδίαση του αλγορίθμου “Projected Gauss-Seidel” σε FPGAel
TitleModeling and design of “Projected Gauss-Seidel” algorithm in FPGAen
CreatorToupas Petrosen
CreatorΤουπας Πετροςel
Contributor [Thesis Supervisor]Dollas Apostolosen
Contributor [Thesis Supervisor]Δολλας Αποστολοςel
Contributor [Committee Member]Pnevmatikatos Dionysiosen
Contributor [Committee Member]Πνευματικατος Διονυσιοςel
Contributor [Committee Member]Papaefstathiou Ioannisen
Contributor [Committee Member]Παπαευσταθιου Ιωαννηςel
PublisherΠολυτεχνείο Κρήτηςel
PublisherTechnical University of Creteen
Academic UnitΠολυτεχνείο Κρήτης::Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστώνel
DescriptionDiploma Work, School of Electrical and Computer Engineering, Technical University of Crete, Chania, Greece, 2018en
Content SummaryOver the past years, physics engines were widely used in the industry of video games, computer graphics, and films. Their main goal is to simulate the motions of objects as if they were obeying real-world physics rules. The input to a physics engine is a collection of objects (rigid bodies) with their properties and a collection of forces acting on those bodies. Rigid bodies are objects that do not deform when they collide and rigid body dynamics is the study of the motion of one or several rigid bodies. This input is being processed by performing a certain number of simulation steps which produce the updated properties for each object in the output. The complexity of the modern games is rapidly increasing, so does the computational cost of the simulation the physics engines must accomplish. The use of GPGPU (General-Purpose computing on Graphics Processing Units) can help us overcome the need for high computational requirements by exploiting the parallel processing a GPU can provide. In this thesis, we are going to use FPGA instead of GPU since we can still exploit the parallel processing and furthermore we can achieve much better energy efficiency in comparison with GPU. The physics engine we are working on is Bullet which has already implemented a high computational cost game scene with many rigid bodies (38880) in GPU with the use of the OpenCL library. Our implementation of the same game scene in Xilinx UltraScale+ ZCU102 with the use of Vivado HLS and C++, achieving 7.65x to 9.65x speedups over CPU, while these numbers change to 1.96x to 2.48x speedups and 50x energy efficiency when compared to GPU (NVIDIA GeForce GTX 980).en
Content SummaryΤα τελευταία χρόνια, οι physics engines (μηχανές φυσικής) χρησιμοποιούνται ευρέως στη βιομηχανία των βιντεοπαιχνιδιών, φυσικών προσομοιώσεων και ταινιών. Ο κύριος στόχος τους είναι η προσομοίωση των κινήσεων αντικειμένων που υπακούν σε φυσικούς νόμους του πραγματικού κόσμου. Η είσοδος σε μια physics engine είναι ένα σύνολο αντικειμένων (rigid bodies), μαζί με τις ιδιότητες που τα διέπουν και ένα σύνολο δυνάμεων που ενεργούν σε αυτά τα σώματα. Rigid bodies είναι αντικείμενα που δεν παραμορφώνονται όταν συγκρούονται και rigid body dynamics είναι η μελέτη της κίνησης των rigid bodies. Αυτή η είσοδος επεξεργάζεται με την εκτέλεση ενός αριθμού βημάτων προσομοίωσης που παράγουν τις ενημερωμένες ιδιότητες για κάθε αντικείμενο στην έξοδο. Η πολυπλοκότητα στα σύγχρονα παιχνίδια αυξάνεται ραγδαία το ίδιο και το υπολογιστικό κόστος της προσομοίωσής που πρέπει να επιτύχουν οι physics engines. Η χρήση των GPGPU (General-Purpose computing on Graphics Processing Units) μπορεί να μας βοηθήσει να ξεπεράσουμε την ανάγκη για υψηλές υπολογιστικές απαιτήσεις αξιοποιώντας την παράλληλη επεξεργασία που η GPU μπορεί να παρέχει. Σε αυτή τη εργασία, πρόκειται να χρησιμοποιήσουμε FPGA αντί GPU καθώς μπορούμε ακόμα να εκμεταλλευτούμε την παράλληλη επεξεργασία και επιπλέον μπορούμε να είμαστε πολύ πιο αποδοτικοί ενεργειακά σε σύγκριση με τη GPU. Η μηχανή φυσικής που εργαζόμαστε στην εργασία αυτή είναι, η Bullet η οποία έχει ήδη εφαρμόσει μια σκηνή παιχνιδιού με μεγάλο υπολογιστικό κόστος και με πολλά άκαμπτα σώματα (38880) σε GPU κάνοντας χρήση της OpenCL βιβλιοθήκης. Υλοποιώντας την ίδια σκηνή παιχνιδιού στην Xilinx UltraScale + ZCU102 με τη χρήση του Vivado HLS και C ++, επιτυγχάνουμε 7.65x έως 9.65x latency speedup σε σχέση με την CPU. Αυτοί οι αριθμοί αλλάζουν σε 1.96x εως 2.48x latency speedup επιτυγχάνοντας 50x ενεργειακή αποδοτικότητα σε σύγκριση με την GPU (NVIDIA GeForce GTX 980).el
Type of ItemΔιπλωματική Εργασίαel
Type of ItemDiploma Worken
Date of Item2018-10-11-
Date of Publication2018-
SubjectPhysics engineen
SubjectProjected Gauss-Seidelen
Bibliographic CitationPetros Toupas, "Modeling and design of “Projected Gauss-Seidel” algorithm in FPGA", Diploma Work, School of Electrical and Computer Engineering, Technical University of Crete, Chania, Greece, 2018el
Bibliographic CitationΠέτρος Τούπας, "Μοντελοποίηση και σχεδίαση του αλγορίθμου “Projected Gauss-Seidel” σε FPGA", Διπλωματική Εργασία, Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών, Πολυτεχνείο Κρήτης, Χανιά, Ελλάς, 2018el

Available Files