Συντάχθηκε 15-05-2018 13:09
από Sofia Malandraki
Email συντάκτη: sofiamalandraki<στο>tuc.gr
Ενημερώθηκε:
15-05-2018 13:12
Ιδιότητα: υπάλληλος ΗΜΜΥ.
ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ
Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Πρόγραμμα Προπτυχιακών Σπουδών
ΠΑΡΟΥΣΙΑΣΗ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ
ΑΛΕΞΑΝΔΡΟΥ ΜΕΛΛΟΥ
με θέμα
Απεικόνιση σε FPGA Αλγορίθμων Δομημένων και μη Πλεγμάτων με χρήση Εργαλείου HLS
Mapping (Structured Unstructured Grid Algorithms) on FPGA Using High Level Synthesis Tools
Πέμπτη 17 Μαίου 2018, 1 μ.μ.
Αίθουσα 145.Π42, Κτίριο Επιστημών, Πολυτεχνειούπολη
Εξεταστική Επιτροπή
Καθηγητής Διονύσιος Πνευματικάτος (επιβλέπων)
Καθηγητής Μιχαήλ Ζερβάκης
Καθηγητής Κωνσταντίνος Καλαϊτζάκης
Περίληψη
Τα τελευταία χρόνια η ανάγκη επεξεργασίας μεγάλου όγκου δεδομένων σε μικρό χρονικό διάστημα, έστρεψε το ενδιαφέρον στη δημιουργία προγραμμάτων όπου συνδυάζουν το software και το hardware με σκοπό την εκμετάλλευση των πλεονεκτημάτων που παρέχει το καθένα. Η ανάγκη αυτή οδήγησε το Phil Colela στην έμπνευση επτά αλγοριθμικών μεθόδων με μεγάλη φορητότητα, οι οποίες χρησιμοποιήθηκαν ως benchmarks σε διάφορες πλατφόρμες εκμεταλλευόμενες τα πλεονεκτήματα του παράλληλου προγραμματισμού. Στη συνέχεια οι μέθοδοι αυτοί επεκτάθηκαν σε δεκατρείς από ομάδα ερευνητών του Berkeley.
Παράλληλα, τα τελευταία χρόνια απλουστεύτηκε η απεικόνιση ενός αλγορίθμου στο hardware με τη βοήθεια του εργαλείου Vivado High Level Synthesis. Οι διαδικασίες έγιναν πιο αυτοματοποίημενες και η δημιουργία του RTL αρχείου αρκετά πιο εύκολη για το προγραμματιστή.
Ο στόχος λοιπόν αυτής της διπλωματικής, είναι η απεικόνιση δύο αλγορίθμων με διαφορετικά χαρακτηριστικά στο hardware με βάση την αρχιτεκτονική Decoupled Access/Execute ως απώτερο σκοπό τη βελτιστοποίηση της απόδοσης τους. Πιο συγκεκριμένα γίνεται απεικόνιση των μεθόδων Jacobi και Serial Based. Οι αλγόρθιμοι αυτοί υπάγονται στους δεκατρείς νάνους και ανήκουν στην κατηγορία των δομημένων και μη δομημένων πλεγμάτων αντίστοιχα. Οι δύο αυτοί διαφορετικοί τύποι αλγορίθμων υλοποίηθηκαν με κοινό framework, το Decoupled Access/Execute Reconfigurable (DEAR). Τα στάδια μετατροπής ενός αλγορίθμου με βάση το παραπάνω framework είναι απλά και συγκεκριμένα. Για καθένα από τους παραπάνω αλγορίθμους πραγματοποιήθηκαν τρεις διαφορετικές υλοποιήσεις στο εργαλείο της Vivado HLS. Τέλος, πραγματοποιήθηκε σύγκριση στην απόδοση κάθε υλοποίησης με την αρχική βελτιστοποιημένη υλοποίηση σε software.
Abstract
In the latest years, the need to process large volumes of data in a short time period has shifted the interest in creating programs that combine software and hardware. This need led Phil Colela to the inspiration of seven algorithmic methods with great portability on various platforms that were used as benchmarks, exploiting the advantages of parallel programming. These methods were extended to thirteen by a Berkeley group of researchers.
Simultaneously, in the past few years, the visualization of an algorithm in hardware has been simplified with the help of the Vivado High Level Synthesis tool. As a result, procedures have become more automated and the creation of the RTL file has become easier for the developer,as well.
The aim of this Diploma Thesis is implement two algorithms in hardware according to the DAE architecture and for the optimization system performance. Specifically, Jacobi and Serial Based methods are mapped. These algorithms fall into the 13 dwarfs and belong to the category of structural and non-welded mesh respectively. These two different types of algorithms have been implemented in a common framework, Decoupled Access / Execute Reconfigurable (DEAR). The stages of converting an algorithm based on the above framework are simple and specific. For each of the above algorithms, three different implementations were carried out on the Vivado HLS tool. The first and main implementation is performed with knowledge of DAE architecture. The second and the third ones are implemented based on the DAE architecture but differ in the way of data storage, where the second is internally made by the FPGA and the third is externally made. Finally, both the times of the second and the third implementation are stated and compared with the initial optimized implementation in software.