Αρχιτεκτονικές επιταχυντών και FPGA υλοποιήσεις αλγορίθμων στένσιλ με χρήση περιβάλλοντος σύνθεσης υψηλού επιπέδου
Ο υπολογισμός στένσιλ είναι ένας από τους πιο σημαντικούς πυρήνες σε ένα ευρύ φάσμα τομέων εφαρμογών, όπως η επεξεργασία εικόνας, η επίλυση μερικών διαφορικών εξισώσεων και τα κυψελωτά αυτόματα. Πολλοί από τους πυρήνες στένσιλ είναι πολύπλοκοι, αποτελούνται συνήθως από πολλαπλά στάδια ή επαναλήψεις...
Κύριος συγγραφέας: | |
---|---|
Άλλοι συγγραφείς: | |
Γλώσσα: | Greek |
Έκδοση: |
2022
|
Θέματα: | |
Διαθέσιμο Online: | http://hdl.handle.net/10889/16505 |
id |
nemertes-10889-16505 |
---|---|
record_format |
dspace |
institution |
UPatras |
collection |
Nemertes |
language |
Greek |
topic |
Σύνθεση υψηλού επιπέδου Αλγόριθμοι στένσιλ Επαναπρογραμματιζόμενο υλικό FPGA High level synthesis Stencil algorithms Reconfigurable hardware |
spellingShingle |
Σύνθεση υψηλού επιπέδου Αλγόριθμοι στένσιλ Επαναπρογραμματιζόμενο υλικό FPGA High level synthesis Stencil algorithms Reconfigurable hardware Ματαράγκας, Μιλτιάδης Αρχιτεκτονικές επιταχυντών και FPGA υλοποιήσεις αλγορίθμων στένσιλ με χρήση περιβάλλοντος σύνθεσης υψηλού επιπέδου |
description |
Ο υπολογισμός στένσιλ είναι ένας από τους πιο σημαντικούς πυρήνες σε ένα ευρύ φάσμα τομέων εφαρμογών, όπως η επεξεργασία εικόνας, η επίλυση μερικών διαφορικών εξισώσεων και τα κυψελωτά αυτόματα. Πολλοί από τους πυρήνες στένσιλ είναι πολύπλοκοι, αποτελούνται συνήθως από πολλαπλά στάδια ή επαναλήψεις και δεσμεύονται από εξαρτήσεις δεδομένων και ανάγκες μνήμης. Τέτοιοι υπολογισμοί ανατίθονται τακτικά σε Field Programmable Gate Arrays (FPGA) με τη χρήση εργαλείων που εκτελούν Σύνθεση Υψηλού Επιπέδου (HLS). Τέτοια εργαλεία HLS, έχουν σημειώσει σημαντική πρόοδο για την υλοποίηση περιγραφών υψηλού επιπέδου των εφαρμογών, σε επίπεδο μεταφοράς καταχωρητών (RTL), επιτυχγάνωντας επιδώσεις υψηλής διοχέτευσης.
Σε αυτή την εργασία, προτείνουμε τρεις διακριτές μεθοδολογίες επιτάχυνσης υλικού, βασισμένες σε μεγάλο βαθμό σε τρεις δημοσιεύσεις που περιλαμβάνουν την τελευταία λέξη της τεχνολογίας στον τομέα. Ο απλούστερος σχεδιασμός είναι το Single Time-Step Stencil Accelerator (STSA) που μπορεί να επεκταθεί σε Cascaded STSA (CSTSA) με την αλληλουχία διαδοχικών πολλαπλών σταδίων. Αυτός ο σχεδιασμός εισάγει μια μη ομοιόμορφη μέθοδο διαχωρισμού της μνήμης και προτείνει την χρήση της τεχνικής επαναχρησιμοποίησης δεδομένων, που αποθηκεύει τα στοιχεία δεδομένων στο chip μέχρι να μην χρειαστούν περαιτέρω. Η αρχιτεκτονική καταφέρνει το ελάχιστο μέγεθος μνήμης και τον ελάχιστο αριθμό.των τραπεζών μνήμης καθώς και την ελαχιστοποίηση της μεταφροάς δεδομένων από και προς την εξωτερική μνήμη. Η ακόλουθη σχεδίαση, δηλαδή η σχεδίαση του Spatially Parallel Time-Step Accelerator (SPTA), που επεκτείνεται στο Cascaded SPTA (CSPTA), βασίζεται στο έργο του STSA διατηρώντας το ελαχιστοποιημένο on-chip
μέγεθος μνήμης, αριθμό τράπεζών μνήμης και προσβάσεις στην εξωτερική μνήμη, παρέχοντας επιπλέον κλιμακωτό λεπτόκοκκο χωρικό παραλληλισμό. Η τελική αρχιτεκτονική ακολουθεί διαφορετική μεθοδολογία, καθώς υπερπηδά επαναλήψεις τομέα ενδιάμεσου χρόνου. Προϋπολογίζει τους αποτελεσματικούς συντελεστές για έναν συγκεκριμένο στόχο χρονικών επαναλήψεων κατά το χρόνο σχεδιασμού, με αποτέλεσμα έναν επιταχυντή που χρησιμοποιεί ελάχιστη μνήμη στο ολοκληρωμένο, χρειάζεται το λιγότερο ποσό εξωτερικών μεταφορών δεδομένων και αποφεύγει τους περιττούς υπολογισμούς.
Εκτελούνται πολλαπλά πειράματα με το xczu7ev-ffvf1517-3-e να χρησιμοποιείται ως πλατφόρμα. Τα αποτελέσματα προέρχονται από τις συνθετικές αναφορές του Vitis HLS, του εργαλείου HLS που επιλέχθηκε για τους σκοπούς αυτής της διατριβής. Διερευνώνται διαφορετικοί τύποι δεδομένων, μεγέθη πλέγματος και παράγοντες χρονικού και χωρικού παραλληλισμού. Τα αποτελέσματα του πειράματος CSTSA χρησιμοποιούνται ως βάση για τα άλλα. Η πειραματική αξιολόγηση δείχνει ότι τα σχέδια CSPTA αρχειοθετούν τα καλύτερα αποτελέσματα χρονισμού, υπολογίζοντας ταυτόχρονα τα αποτελέσματα, με την αντιστάθμιση να είναι οι απαιτήσεις σε περισσότερους πόρους. Τέλος, η ICTA αποδείχθηκε ότι είναι η πιο επεκτάσιμη αρχιτεκτοική όσον αφορά το μέγεθος του πλέγματος και έδειξε χαμηλή χρήση πόρων αποθήκευσης. |
author2 |
Mataragkas, Miltiadis |
author_facet |
Mataragkas, Miltiadis Ματαράγκας, Μιλτιάδης |
author |
Ματαράγκας, Μιλτιάδης |
author_sort |
Ματαράγκας, Μιλτιάδης |
title |
Αρχιτεκτονικές επιταχυντών και FPGA υλοποιήσεις αλγορίθμων στένσιλ με χρήση περιβάλλοντος σύνθεσης υψηλού επιπέδου |
title_short |
Αρχιτεκτονικές επιταχυντών και FPGA υλοποιήσεις αλγορίθμων στένσιλ με χρήση περιβάλλοντος σύνθεσης υψηλού επιπέδου |
title_full |
Αρχιτεκτονικές επιταχυντών και FPGA υλοποιήσεις αλγορίθμων στένσιλ με χρήση περιβάλλοντος σύνθεσης υψηλού επιπέδου |
title_fullStr |
Αρχιτεκτονικές επιταχυντών και FPGA υλοποιήσεις αλγορίθμων στένσιλ με χρήση περιβάλλοντος σύνθεσης υψηλού επιπέδου |
title_full_unstemmed |
Αρχιτεκτονικές επιταχυντών και FPGA υλοποιήσεις αλγορίθμων στένσιλ με χρήση περιβάλλοντος σύνθεσης υψηλού επιπέδου |
title_sort |
αρχιτεκτονικές επιταχυντών και fpga υλοποιήσεις αλγορίθμων στένσιλ με χρήση περιβάλλοντος σύνθεσης υψηλού επιπέδου |
publishDate |
2022 |
url |
http://hdl.handle.net/10889/16505 |
work_keys_str_mv |
AT matarankasmiltiadēs architektonikesepitachyntōnkaifpgaylopoiēseisalgorithmōnstensilmechrēsēperiballontossynthesēsypsēlouepipedou AT matarankasmiltiadēs acceleratorarchitecturesandfpgaimplementationsofstencilalgorithmsusinghighlevelsynthesisenvironment |
_version_ |
1771297187245850624 |
spelling |
nemertes-10889-165052022-09-05T09:41:42Z Αρχιτεκτονικές επιταχυντών και FPGA υλοποιήσεις αλγορίθμων στένσιλ με χρήση περιβάλλοντος σύνθεσης υψηλού επιπέδου Accelerator architectures and FPGA implementations of stencil algorithms using high level synthesis environment Ματαράγκας, Μιλτιάδης Mataragkas, Miltiadis Σύνθεση υψηλού επιπέδου Αλγόριθμοι στένσιλ Επαναπρογραμματιζόμενο υλικό FPGA High level synthesis Stencil algorithms Reconfigurable hardware Ο υπολογισμός στένσιλ είναι ένας από τους πιο σημαντικούς πυρήνες σε ένα ευρύ φάσμα τομέων εφαρμογών, όπως η επεξεργασία εικόνας, η επίλυση μερικών διαφορικών εξισώσεων και τα κυψελωτά αυτόματα. Πολλοί από τους πυρήνες στένσιλ είναι πολύπλοκοι, αποτελούνται συνήθως από πολλαπλά στάδια ή επαναλήψεις και δεσμεύονται από εξαρτήσεις δεδομένων και ανάγκες μνήμης. Τέτοιοι υπολογισμοί ανατίθονται τακτικά σε Field Programmable Gate Arrays (FPGA) με τη χρήση εργαλείων που εκτελούν Σύνθεση Υψηλού Επιπέδου (HLS). Τέτοια εργαλεία HLS, έχουν σημειώσει σημαντική πρόοδο για την υλοποίηση περιγραφών υψηλού επιπέδου των εφαρμογών, σε επίπεδο μεταφοράς καταχωρητών (RTL), επιτυχγάνωντας επιδώσεις υψηλής διοχέτευσης. Σε αυτή την εργασία, προτείνουμε τρεις διακριτές μεθοδολογίες επιτάχυνσης υλικού, βασισμένες σε μεγάλο βαθμό σε τρεις δημοσιεύσεις που περιλαμβάνουν την τελευταία λέξη της τεχνολογίας στον τομέα. Ο απλούστερος σχεδιασμός είναι το Single Time-Step Stencil Accelerator (STSA) που μπορεί να επεκταθεί σε Cascaded STSA (CSTSA) με την αλληλουχία διαδοχικών πολλαπλών σταδίων. Αυτός ο σχεδιασμός εισάγει μια μη ομοιόμορφη μέθοδο διαχωρισμού της μνήμης και προτείνει την χρήση της τεχνικής επαναχρησιμοποίησης δεδομένων, που αποθηκεύει τα στοιχεία δεδομένων στο chip μέχρι να μην χρειαστούν περαιτέρω. Η αρχιτεκτονική καταφέρνει το ελάχιστο μέγεθος μνήμης και τον ελάχιστο αριθμό.των τραπεζών μνήμης καθώς και την ελαχιστοποίηση της μεταφροάς δεδομένων από και προς την εξωτερική μνήμη. Η ακόλουθη σχεδίαση, δηλαδή η σχεδίαση του Spatially Parallel Time-Step Accelerator (SPTA), που επεκτείνεται στο Cascaded SPTA (CSPTA), βασίζεται στο έργο του STSA διατηρώντας το ελαχιστοποιημένο on-chip μέγεθος μνήμης, αριθμό τράπεζών μνήμης και προσβάσεις στην εξωτερική μνήμη, παρέχοντας επιπλέον κλιμακωτό λεπτόκοκκο χωρικό παραλληλισμό. Η τελική αρχιτεκτονική ακολουθεί διαφορετική μεθοδολογία, καθώς υπερπηδά επαναλήψεις τομέα ενδιάμεσου χρόνου. Προϋπολογίζει τους αποτελεσματικούς συντελεστές για έναν συγκεκριμένο στόχο χρονικών επαναλήψεων κατά το χρόνο σχεδιασμού, με αποτέλεσμα έναν επιταχυντή που χρησιμοποιεί ελάχιστη μνήμη στο ολοκληρωμένο, χρειάζεται το λιγότερο ποσό εξωτερικών μεταφορών δεδομένων και αποφεύγει τους περιττούς υπολογισμούς. Εκτελούνται πολλαπλά πειράματα με το xczu7ev-ffvf1517-3-e να χρησιμοποιείται ως πλατφόρμα. Τα αποτελέσματα προέρχονται από τις συνθετικές αναφορές του Vitis HLS, του εργαλείου HLS που επιλέχθηκε για τους σκοπούς αυτής της διατριβής. Διερευνώνται διαφορετικοί τύποι δεδομένων, μεγέθη πλέγματος και παράγοντες χρονικού και χωρικού παραλληλισμού. Τα αποτελέσματα του πειράματος CSTSA χρησιμοποιούνται ως βάση για τα άλλα. Η πειραματική αξιολόγηση δείχνει ότι τα σχέδια CSPTA αρχειοθετούν τα καλύτερα αποτελέσματα χρονισμού, υπολογίζοντας ταυτόχρονα τα αποτελέσματα, με την αντιστάθμιση να είναι οι απαιτήσεις σε περισσότερους πόρους. Τέλος, η ICTA αποδείχθηκε ότι είναι η πιο επεκτάσιμη αρχιτεκτοική όσον αφορά το μέγεθος του πλέγματος και έδειξε χαμηλή χρήση πόρων αποθήκευσης. Stencil computation is one of the most important kernels within a wide range of application domains such as image processing, solving partial differential equations, and cellular automata. Many of the stencil kernels are complex, usually consist of multiple stages or iterations and are bound by data dependencies and memory needs. Stencil kernels are regularly offloaded to Field Programmable Gate Arrays (FPGAs) with the use of tools that perform High Level Synthesis (HLS). Such HLS tools have made significant progress in compiling high-level descriptions of applications into highly pipelined register-transfer level specifications. In this work, we propose three distinct hardware acceleration methodologies, heavily based on three papers that comprise the state-of-the-art in the domain. The simplest design being Single Time-Step Stencil Accelerator (STSA) that can be expanded to Cascaded STSA (CSTSA) by cascading multiple stages together. This design introduces a non-uniform method of partitioning memory and proposes a data reuse technique that stores the data elements on-chip until they are not further needed. The architecture archives minimum memory size and minimum no. of memory banks as well as minimizing external data transfers. The following design, that is, the Spatially Parallel Time-Step Accelerator (SPTA) design, that expands to Cascaded SPTA (CSPTA), builds on the work of STSA by retaining the minimized on-chip memory size, memory bank number and external memory accesses, additionally providing scalable fine-grained spatial parallelism. The final architecture follows a different methodology, as it leaps over intermediate time domain iterations. It precomputes effective coefficients for a specific target of time iterations at design time, resulting in an accelerator that uses minimum on-chip memory, needs the least amount of external data transfers, and avoids redundant computations. Multiple experiments are performed with xczu7ev-ffvf1517-3-e being used as a target platform. The results are drawn from the synthesis reports of Vitis HLS, the HLS tool chosen for the purposes of this thesis. Different data types, grid sizes, and temporal and spatial parallelism factors are explored. CSTSA experiment results are used as a baseline for the others. Experimental evaluation shows that CSPTA designs archive the best timing results, by computing results concurrently, the trade-off being that they are the most resource hungry architectures. Finally, ICTA proved to be the most scalable in terms of grid size and demonstrated low usage of storage resources. 2022-07-13T06:23:55Z 2022-07-13T06:23:55Z 2022-07-11 http://hdl.handle.net/10889/16505 gr application/pdf |