<efrbr:recordSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:efrbr="http://vfrbr.info/efrbr/1.1" xmlns:efrbr-work="http://vfrbr.info/efrbr/1.1/work" xmlns:efrbr-expression="http://vfrbr.info/efrbr/1.1/expression" xmlns:efrbr-manifestation="http://vfrbr.info/efrbr/1.1/manifestation" xmlns:efrbr-person="http://vfrbr.info/efrbr/1.1/person" xmlns:efrbr-corporateBody="http://vfrbr.info/efrbr/1.1/corporateBody" xmlns:efrbr-concept="http://vfrbr.info/efrbr/1.1/concept" xmlns:efrbr-structure="http://vfrbr.info/efrbr/1.1/structure" xmlns:efrbr-responsible="http://vfrbr.info/efrbr/1.1/responsible" xmlns:efrbr-subject="http://vfrbr.info/efrbr/1.1/subject" xmlns:efrbr-other="http://vfrbr.info/efrbr/1.1/other" xsi:schemaLocation="http://vfrbr.info/efrbr/1.1 http://vfrbr.info/schemas/1.1/efrbr.xsd"><efrbr:entities><efrbr-work:work identifier="http://purl.tuc.gr/dl/dias/C203B439-1E39-4BAC-9A7D-5E592A3D469E"><efrbr-work:titleOfTheWork>Design and implementation of Monte Carlo Path Tracing system on a reconfigurable logic-based platform</efrbr-work:titleOfTheWork></efrbr-work:work><efrbr-expression:expression identifier="http://purl.tuc.gr/dl/dias/C203B439-1E39-4BAC-9A7D-5E592A3D469E"><efrbr-expression:titleOfTheExpression>Design and implementation of Monte Carlo Path Tracing system on a reconfigurable logic-based platform</efrbr-expression:titleOfTheExpression><efrbr-expression:titleOfTheExpression>Σχεδίαση και υλοποίηση συστήματος για όδευση ακτίνων με μέθοδο Μόντε Κάρλο (Monte Carlo Path Tracing) σε πλατφόρμα αναδιατασσόμενης λογικής</efrbr-expression:titleOfTheExpression><efrbr-expression:formOfExpression vocabulary="DIAS:TYPES">
            Διπλωματική Εργασία
            Diploma Work
         </efrbr-expression:formOfExpression><efrbr-expression:dateOfExpression type="issued">2022-07-26</efrbr-expression:dateOfExpression><efrbr-expression:dateOfExpression type="published">2022</efrbr-expression:dateOfExpression><efrbr-expression:languageOfExpression vocabulary="iso639-1">en</efrbr-expression:languageOfExpression><efrbr-expression:summarizationOfContent>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.</efrbr-expression:summarizationOfContent><efrbr-expression:summarizationOfContent>Τα τελευταία χρόνια το θέμα του ray tracing, δηλαδή της εύρεσης με υπολογιστικές μεθόδους της όδευσης ακτινών σε κάποια σκηνή με αντικείμενα μελετάται ιδιαίτερα επειδή υπάρχει μεγάλο πεδίο εφαρμογών, από την βιομηχανία του κινηματογράφου έως τους προσομοιωτές πτήσεων. Μεγάλες εταιρίες αναπτύσσουν ειδικές μονάδες με σκοπό την επιτάχυνση της διαδικασίας του ray tracing. Αν και έχει γίνει δουλειά στο παρελθόν, το ενδιαφέρον για την διαδικασία σε πλατφόρμες FPGA έχει μειωθεί καθότι τεχνολογία GPU εθεωρείτο περισσότερο κατάλληλη. Σε αυτήν την διπλωματική εργασία ξαναπροσεγγίζουμε το πρόβλημα αυτό αλλά από διαφορετική σκοπιά, με υλοποίηση σε υλικό δενδρικών δομών που δεν έχει γίνει στο παρελθόν. Ο σκοπός μας ήταν να μελετήσουμε και να αξιολογήσουμε την διαδικασία μεταξύ τριών διαφορετικών πλατφορμών, CPU, GPU και FPGA. Επίσης, παρουσιάζουμε ένα σχέδιο ray tracing για FPGA που σκοπεύει να εκμεταλλευτεί τον παραλληλισμό που μπορεί να προσφέρει η πλατφόρμα. Πρώτο βήμα στην διαδικασία ήταν η μετατροπή των δομών δεδομένων και αλγορίθμων σε κατάλληλη δομή για πλατφόρμες FPGA, με μετατροπή αναδρομικών δομών σε επαναληπτικές. Δεύτερο βήμα ήταν δημιουργία μιας αρχιτεκτονικής στην οποία χρησιμοποιούμε streaming pipeline λογική ώστε να έχουμε καλή απόδοση. Με την δική μας αρχιτεκτονική, ανάλογα με την κάθε σκηνή επιτυγχάνουμε επιτάχυνση έως και 2x σε σχέση με μια GPU AMD 5600xt, ενώ τόσο οι GPU όσο και οι FPGA αποδίδουν πολύ καλύτερα από CPU, ακόμη και σε πολυνηματική επεξεργασία. Συμπερασματικά, η χρήση FPGA έδωσε μια ικανοποιητική επιτάχυνση συγκριτικά με τις άλλες πλατφόρμες και περαιτέρω έρευνα πάνω στην αρχιτεκτονική που δημιουργήθηκε θα οδηγήσει σε ακόμη καλύτερα αποτελέσματα.</efrbr-expression:summarizationOfContent><efrbr-expression:useRestrictionsOnTheExpression type="creative-commons">http://creativecommons.org/licenses/by-nc/4.0/</efrbr-expression:useRestrictionsOnTheExpression><efrbr-expression:note type="academic unit">Πολυτεχνείο Κρήτης::Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών</efrbr-expression:note></efrbr-expression:expression><efrbr-manifestation:manifestation identifier="https://dias.library.tuc.gr/view/92906"><efrbr-manifestation:titleOfTheManifestation>Chatzakis_Michail-Iason_Dip_2022.pdf</efrbr-manifestation:titleOfTheManifestation><efrbr-manifestation:publicationDistribution><efrbr-manifestation:placeOfPublicationDistribution type="distribution">Chania [Greece]</efrbr-manifestation:placeOfPublicationDistribution><efrbr-manifestation:publisherDistributor type="distributor">Library of TUC</efrbr-manifestation:publisherDistributor><efrbr-manifestation:dateOfPublicationDistribution>2022-07-25</efrbr-manifestation:dateOfPublicationDistribution></efrbr-manifestation:publicationDistribution><efrbr-manifestation:formOfCarrier>application/pdf</efrbr-manifestation:formOfCarrier><efrbr-manifestation:extentOfTheCarrier>5.4 MB</efrbr-manifestation:extentOfTheCarrier><efrbr-manifestation:accessRestrictionsOnTheManifestation>free</efrbr-manifestation:accessRestrictionsOnTheManifestation></efrbr-manifestation:manifestation><efrbr-person:person identifier="http://users.isc.tuc.gr/~mchatzakis"><efrbr-person:nameOfPerson vocabulary="TUC:LDAP">
            Chatzakis Michail-Iason
            Χατζακης Μιχαηλ-Ιασων
         </efrbr-person:nameOfPerson></efrbr-person:person><efrbr-person:person identifier="http://users.isc.tuc.gr/~adollas"><efrbr-person:nameOfPerson vocabulary="TUC:LDAP">
            Dollas Apostolos
            Δολλας Αποστολος
         </efrbr-person:nameOfPerson></efrbr-person:person><efrbr-person:person identifier="http://users.isc.tuc.gr/~sioannidis"><efrbr-person:nameOfPerson vocabulary="TUC:LDAP">
            Ioannidis Sotirios
            Ιωαννιδης Σωτηριος
         </efrbr-person:nameOfPerson></efrbr-person:person><efrbr-person:person identifier="http://users.isc.tuc.gr/~esotiriadis"><efrbr-person:nameOfPerson vocabulary="TUC:LDAP">
            Sotiriadis Evripidis
            Σωτηριαδης Ευριπιδης
         </efrbr-person:nameOfPerson></efrbr-person:person><efrbr-person:person identifier="http://users.isc.tuc.gr/~pmalakonakis"><efrbr-person:nameOfPerson vocabulary="TUC:LDAP">
            Malakonakis Pavlos
            Μαλακωνακης Παυλος
         </efrbr-person:nameOfPerson></efrbr-person:person><efrbr-corporateBody:corporateBody identifier="E769BBFF-D1E2-4FAD-98A8-7D33AAAB45B9"><efrbr-corporateBody:nameOfTheCorporateBody vocabulary="">
            Πολυτεχνείο Κρήτης
            Technical University of Crete
         </efrbr-corporateBody:nameOfTheCorporateBody></efrbr-corporateBody:corporateBody><efrbr-concept:concept identifier="3B628E48-7988-46F5-BE1B-70B5B0672A1E"><efrbr-concept:termForTheConcept>
            Path Tracing on FPGA
         </efrbr-concept:termForTheConcept></efrbr-concept:concept><efrbr-concept:concept identifier="AB5FEA49-221C-4D11-B2BB-3709AE1A699D"><efrbr-concept:termForTheConcept>
            Μετατροπή αναδρομής για GPU
         </efrbr-concept:termForTheConcept></efrbr-concept:concept><efrbr-concept:concept identifier="303E9C71-1ABA-42DD-B34B-13FDC71590CB"><efrbr-concept:termForTheConcept>
            Ray Tracing on FPGA
         </efrbr-concept:termForTheConcept></efrbr-concept:concept><efrbr-concept:concept identifier="E3B64366-75B7-433E-AE5D-7D2BF082A82C"><efrbr-concept:termForTheConcept>
            Ray Tracing
         </efrbr-concept:termForTheConcept></efrbr-concept:concept><efrbr-concept:concept identifier="841856AE-4B6B-446B-9F10-0DC40521E517"><efrbr-concept:termForTheConcept>
            Monte Carlo Ray Tracing
         </efrbr-concept:termForTheConcept></efrbr-concept:concept><efrbr-concept:concept identifier="D5E62F02-02C1-4631-A759-406937442376"><efrbr-concept:termForTheConcept>
            Path Tracing
         </efrbr-concept:termForTheConcept></efrbr-concept:concept><efrbr-concept:concept identifier="4A196296-670F-421B-9E7E-FA134AB3D79C"><efrbr-concept:termForTheConcept>
            Monte Carlo Path Tracing
         </efrbr-concept:termForTheConcept></efrbr-concept:concept><efrbr-concept:concept identifier="AFE2EC89-0BF6-4553-95B4-358618EC30A5"><efrbr-concept:termForTheConcept>
            Μετατροπή αναδρομής για FPGA
         </efrbr-concept:termForTheConcept></efrbr-concept:concept><efrbr-concept:concept identifier="2F585675-D452-4612-84BF-4B8943745702"><efrbr-concept:termForTheConcept>
            Recursion conversion on GPU
         </efrbr-concept:termForTheConcept></efrbr-concept:concept><efrbr-concept:concept identifier="AA57BD11-9434-4FCC-BE67-B56BA744F823"><efrbr-concept:termForTheConcept>
            Recursion conversion on FPGA
         </efrbr-concept:termForTheConcept></efrbr-concept:concept></efrbr:entities><efrbr:relationships><efrbr-structure:structureRelations><efrbr-structure:realizedThrough sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/C203B439-1E39-4BAC-9A7D-5E592A3D469E" targetEntity="expression" targetURI="http://purl.tuc.gr/dl/dias/C203B439-1E39-4BAC-9A7D-5E592A3D469E"/><efrbr-structure:embodiedIn sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/C203B439-1E39-4BAC-9A7D-5E592A3D469E" targetEntity="manifestation" targetURI="http://purl.tuc.gr/dl/dias/8492AC8E-7260-44EC-9637-73CCBE3CA40F"/></efrbr-structure:structureRelations><efrbr-responsible:responsibleRelations><efrbr-responsible:createdBy sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/C203B439-1E39-4BAC-9A7D-5E592A3D469E" targetEntity="person" targetURI="http://users.isc.tuc.gr/~mchatzakis"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/C203B439-1E39-4BAC-9A7D-5E592A3D469E" targetEntity="person" targetURI="http://users.isc.tuc.gr/~mchatzakis" role="author"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/C203B439-1E39-4BAC-9A7D-5E592A3D469E" targetEntity="person" targetURI="http://users.isc.tuc.gr/~adollas" role="http://purl.tuc.gr/dl/dias/vocabs/contributor-roles/1"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/C203B439-1E39-4BAC-9A7D-5E592A3D469E" targetEntity="person" targetURI="http://users.isc.tuc.gr/~sioannidis" role="http://purl.tuc.gr/dl/dias/vocabs/contributor-roles/2"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/C203B439-1E39-4BAC-9A7D-5E592A3D469E" targetEntity="person" targetURI="http://users.isc.tuc.gr/~esotiriadis" role="http://purl.tuc.gr/dl/dias/vocabs/contributor-roles/2"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/C203B439-1E39-4BAC-9A7D-5E592A3D469E" targetEntity="person" targetURI="http://users.isc.tuc.gr/~pmalakonakis" role="http://purl.tuc.gr/dl/dias/vocabs/contributor-roles/12"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/C203B439-1E39-4BAC-9A7D-5E592A3D469E" targetEntity="person" targetURI="E769BBFF-D1E2-4FAD-98A8-7D33AAAB45B9" role="publisher"/></efrbr-responsible:responsibleRelations><efrbr-subject:subjectRelations><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/C203B439-1E39-4BAC-9A7D-5E592A3D469E" targetEntity="concept" targetURI="3B628E48-7988-46F5-BE1B-70B5B0672A1E"/><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/C203B439-1E39-4BAC-9A7D-5E592A3D469E" targetEntity="concept" targetURI="AB5FEA49-221C-4D11-B2BB-3709AE1A699D"/><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/C203B439-1E39-4BAC-9A7D-5E592A3D469E" targetEntity="concept" targetURI="303E9C71-1ABA-42DD-B34B-13FDC71590CB"/><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/C203B439-1E39-4BAC-9A7D-5E592A3D469E" targetEntity="concept" targetURI="E3B64366-75B7-433E-AE5D-7D2BF082A82C"/><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/C203B439-1E39-4BAC-9A7D-5E592A3D469E" targetEntity="concept" targetURI="841856AE-4B6B-446B-9F10-0DC40521E517"/><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/C203B439-1E39-4BAC-9A7D-5E592A3D469E" targetEntity="concept" targetURI="D5E62F02-02C1-4631-A759-406937442376"/><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/C203B439-1E39-4BAC-9A7D-5E592A3D469E" targetEntity="concept" targetURI="4A196296-670F-421B-9E7E-FA134AB3D79C"/><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/C203B439-1E39-4BAC-9A7D-5E592A3D469E" targetEntity="concept" targetURI="AFE2EC89-0BF6-4553-95B4-358618EC30A5"/><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/C203B439-1E39-4BAC-9A7D-5E592A3D469E" targetEntity="concept" targetURI="2F585675-D452-4612-84BF-4B8943745702"/><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/C203B439-1E39-4BAC-9A7D-5E592A3D469E" targetEntity="concept" targetURI="AA57BD11-9434-4FCC-BE67-B56BA744F823"/></efrbr-subject:subjectRelations><efrbr-other:otherRelations/></efrbr:relationships></efrbr:recordSet>