title: Design and implementation of Monte Carlo Path Tracing system on a reconfigurable logic-based platform
title: Σχεδίαση και υλοποίηση συστήματος για όδευση ακτίνων με μέθοδο Μόντε Κάρλο (Monte Carlo Path Tracing) σε πλατφόρμα αναδιατασσόμενης λογικής
Creators: name: Χατζακης Μιχαηλ-Ιασων
Publisher: name: Technical University of Crete
Year: 2022

description: In recent years the subject of ray tracing has caused great interest because
it has many applications, ranging from the movie industry to flight simulators.
Major companies develop specific hardware for ray tracing acceleration.
Even though work has been done in the past, the interest of ray tracing
on FPGAs has decreased as GPUs were deemed to be more suitable for the
task at hand. In this thesis we re-visit the topic, albeit from the baseline of
the implementation of tree structures which have not been implemented in
hardware for ray tracing in the past. We aim to evaluate the performance of
this ray tracing algorithm across 3 different platforms: CPU, GPU and FPGA.
We also aim to introduce a ray tracing FPGA design to exploit the parallelism
that the platform can provide. The first step in the process was the conversion
of data structures and algorithms so that they are suitable to FPGA platforms,
by converting recursive structures to iterative. Secondly, we create an architecture
in which we used streaming pipeline logic in order to achieve good
performance. With our introduced architecture, based on the given scene
we managed to achieve speedup of up to 2x against an AMD 5600xt GPU,
whereas both GPUs and FPGAs perform much better than CPUs even when
multi-threading is used. To conclude, the use of FPGAs yielded a satisfactory
speedup and further work on the introduced architecture can lead to better
speedups.
description: Τα τελευταία χρόνια το θέμα του ray tracing, δηλαδή της εύρεσης με υπολογιστικές μεθόδους της όδευσης ακτινών σε κάποια σκηνή με αντικείμενα μελετάται ιδιαίτερα επειδή υπάρχει μεγάλο πεδίο εφαρμογών, από την βιομηχανία του κινηματογράφου έως τους προσομοιωτές πτήσεων. Μεγάλες εταιρίες αναπτύσσουν ειδικές μονάδες με σκοπό την επιτάχυνση της διαδικασίας του ray tracing. Αν και έχει γίνει δουλειά στο παρελθόν, το ενδιαφέρον για την διαδικασία σε πλατφόρμες FPGA έχει μειωθεί καθότι τεχνολογία GPU εθεωρείτο περισσότερο κατάλληλη. Σε αυτήν την διπλωματική εργασία ξαναπροσεγγίζουμε το πρόβλημα αυτό αλλά από διαφορετική σκοπιά, με υλοποίηση σε υλικό δενδρικών δομών που δεν έχει γίνει στο παρελθόν. Ο σκοπός μας ήταν να μελετήσουμε και να αξιολογήσουμε την διαδικασία μεταξύ τριών διαφορετικών πλατφορμών, CPU, GPU και FPGA. Επίσης, παρουσιάζουμε ένα σχέδιο ray tracing για FPGA που σκοπεύει να εκμεταλλευτεί τον παραλληλισμό που μπορεί να προσφέρει η πλατφόρμα. Πρώτο βήμα στην διαδικασία ήταν η μετατροπή των δομών δεδομένων και αλγορίθμων σε κατάλληλη δομή για πλατφόρμες FPGA, με μετατροπή αναδρομικών δομών σε επαναληπτικές. Δεύτερο βήμα ήταν δημιουργία μιας αρχιτεκτονικής στην οποία χρησιμοποιούμε streaming pipeline λογική ώστε να έχουμε καλή απόδοση. Με την δική μας αρχιτεκτονική, ανάλογα με την κάθε σκηνή επιτυγχάνουμε επιτάχυνση έως και 2x σε σχέση με μια GPU AMD 5600xt, ενώ τόσο οι GPU όσο και οι FPGA αποδίδουν πολύ καλύτερα από CPU, ακόμη και σε πολυνηματική επεξεργασία. Συμπερασματικά, η χρήση FPGA έδωσε μια ικανοποιητική επιτάχυνση συγκριτικά με τις άλλες πλατφόρμες και περαιτέρω έρευνα πάνω στην αρχιτεκτονική που δημιουργήθηκε θα οδηγήσει σε ακόμη καλύτερα αποτελέσματα.