Περίληψη
H παρούσα διατριβή παρουσιάζει ένα ολοκληρωμένο πλαίσιο για τον αυτοματοποιημένο σχεδιασμό επιταχυντών υλικού για Συνελικτικά Νευρωνικά Δίκτυα (Convolutional Neural Networks - CNNs), αξιοποιώντας τη Σύνθεση Υψηλού Επιπέδου (High-Level Synthesis - HLS) και περιγραφές μοντέλων υψηλού επιπέδου σε Python (μέσω TensorFlow ή PyTorch). Η προτεινόμενη μεθοδολογία απλοποιεί την ανάπτυξη επιταχυντών για CNNs, επιτρέποντας την άμεση παραγωγή υλικού από περιγραφές μοντέλων σε μία γλώσσα προγραμματισμού υψηλού επιπέδου και μειώνοντας σημαντικά την πολυπλοκότητα του σχεδιασμού και το χρόνο ανάπτυξης. Το πλαίσιο εισάγει ένα πλούσιο σύνολο παραμέτρων βελτιστοποίησης, επιτρέποντας την εξερεύνηση διαφορετικών αρχιτεκτονικών σε σχέση με την απόδοση, την ενεργειακή αποδοτικότητα και τη χρήση πόρων. Πέρα από τις συμβατικές παραμέτρους σχεδίασης, η παρούσα εργασία ενσωματώνει, για πρώτη φορά, χαρακτηριστικά λειτουργικής ασφάλειας σε επίπεδο υλικού, προηγμένες αρχιτεκτονικές ενδιάμεσης αποθήκευσης, καθώς επί ...
H παρούσα διατριβή παρουσιάζει ένα ολοκληρωμένο πλαίσιο για τον αυτοματοποιημένο σχεδιασμό επιταχυντών υλικού για Συνελικτικά Νευρωνικά Δίκτυα (Convolutional Neural Networks - CNNs), αξιοποιώντας τη Σύνθεση Υψηλού Επιπέδου (High-Level Synthesis - HLS) και περιγραφές μοντέλων υψηλού επιπέδου σε Python (μέσω TensorFlow ή PyTorch). Η προτεινόμενη μεθοδολογία απλοποιεί την ανάπτυξη επιταχυντών για CNNs, επιτρέποντας την άμεση παραγωγή υλικού από περιγραφές μοντέλων σε μία γλώσσα προγραμματισμού υψηλού επιπέδου και μειώνοντας σημαντικά την πολυπλοκότητα του σχεδιασμού και το χρόνο ανάπτυξης. Το πλαίσιο εισάγει ένα πλούσιο σύνολο παραμέτρων βελτιστοποίησης, επιτρέποντας την εξερεύνηση διαφορετικών αρχιτεκτονικών σε σχέση με την απόδοση, την ενεργειακή αποδοτικότητα και τη χρήση πόρων. Πέρα από τις συμβατικές παραμέτρους σχεδίασης, η παρούσα εργασία ενσωματώνει, για πρώτη φορά, χαρακτηριστικά λειτουργικής ασφάλειας σε επίπεδο υλικού, προηγμένες αρχιτεκτονικές ενδιάμεσης αποθήκευσης, καθώς επίσης υποστηρίζει διάφορες αριθμητικές αναπαραστάσεις δεδομένων, πλήρους και μειωμένης ακρίβειας (reduced-precision) κινητής και σταθερής υποδιαστολής. Παρουσιάζονται δύο εξειδικευμένες μονάδες επιτάχυνσης συνελίξεων για αρχιτεκτονικές συνεχούς ροής δεδομένων (streaming convolution engines): η μονάδα LazyDCstream, βελτιστοποιημένη για διασταλμένες συνελίξεις (dilated convolutions), και η μονάδα LeapConv, βελτιστοποιημένη για συνελίξεις με μη μοναδιαίο βήμα (strided convolutions). Η LazyDCstream ελαχιστοποιεί την κατανάλωση ισχύος μέσω της αποδοτικής επαναχρησιμοποίησης των ενδιάμεσων δομών αποθήκευσης και της «τεμπέλικης» μετακίνησης δεδομένων που παραμένει ανεξάρτητη του βαθμού διαστολής. Η LeapConv αντιμετωπίζει τις αναποτελεσματικότητες των συνελίξεων με μη μοναδιαίο βήμα αποσυνθέτοντάς τις σε κανάλια με μοναδιαίο βήμα και συγχωνεύοντάς τα σε μια ενιαία μονάδα υλικού, μειώνοντας έτσι την περιττή πρόσβαση στη μνήμη με ελάχιστο επιπλέον κόστος χώρου. Για την υποστήριξη της λειτουργικής ασφάλειας, η εργασία εισάγει έναν μηχανισμό ελέγχου ανθεκτικό σε σφάλματα (Algorithm-Based Fault Tolerant - ABFT) με χαμηλό κόστος, ειδικά σχεδιασμένο για CNNs. Ο ελεγκτής ορθότητας των συνελίξεων προβλέπει τα αθροίσματα ελέγχου των εξόδων χρησιμοποιώντας μόνο τα συνοριακά εικονοστοιχεία της εισόδου, αξιοποιώντας μια νέα συνθήκη αναλλοίωτης συνελίξεως. Αυτό μειώνει δραστικά τις απαιτήσεις σε ενδιάμεση αποθήκευση και επιπλέον λογική, επιτρέποντας τον αποδοτικό εντοπισμό σφαλμάτων σε πραγματικό χρόνο. Το πλαίσιο επικυρώνεται μέσω της αυτόματης σύνθεσης πολλαπλών επιταχυντών για CNNs σχεδιασμένα για πραγματικές εφαρμογές. Τα πειραματικά αποτελέσματα δείχνουν σημαντικές βελτιώσεις στην ενεργειακή αποδοτικότητα, την δυνατότητα παραμετροποίησης και τη χρήση του υλικού σε σύγκριση με τα πιο σύγχρονα εργαλεία. Συνολικά, η παρούσα εργασία προσφέρει μια κλιμακούμενη και πρακτική λύση για την επιτάχυνση των CNNs σε επίπεδο υλικού, καλύπτοντας τις κρίσιμες απαιτήσεις απόδοσης, ενεργειακής κατανάλωσης και αξιοπιστίας των σύγχρονων συστημάτων μηχανικής μάθησης.
περισσότερα
Περίληψη σε άλλη γλώσσα
This thesis presents a comprehensive framework for the automated design of hardware accelerators targeting Convolutional Neural Networks (CNNs), leveraging High-Level Synthesis (HLS) and high-level model descriptions in Python (via TensorFlow or PyTorch). The proposed methodology streamlines the development of CNN dataflow accelerators by enabling direct hardware generation from software models, significantly reducing design complexity and development time. The framework introduces a rich set of configurable optimization parameters, allowing exploration of different architectural designs with respect to performance, energy efficiency, and resource utilization. Beyond conventional design knobs, this work integrates, for the first time, hardware-level functional safety features, advanced buffering architectures, and support for diverse data representations including reduced-precision floating-point and fixed-point formats. Two specialized streaming convolution engines are introduced: Laz ...
This thesis presents a comprehensive framework for the automated design of hardware accelerators targeting Convolutional Neural Networks (CNNs), leveraging High-Level Synthesis (HLS) and high-level model descriptions in Python (via TensorFlow or PyTorch). The proposed methodology streamlines the development of CNN dataflow accelerators by enabling direct hardware generation from software models, significantly reducing design complexity and development time. The framework introduces a rich set of configurable optimization parameters, allowing exploration of different architectural designs with respect to performance, energy efficiency, and resource utilization. Beyond conventional design knobs, this work integrates, for the first time, hardware-level functional safety features, advanced buffering architectures, and support for diverse data representations including reduced-precision floating-point and fixed-point formats. Two specialized streaming convolution engines are introduced: LazyDCstream, optimized for dilated convolutions, and LeapConv, optimized for strided convolutions. LazyDCstream minimizes power consumption through efficient buffer reuse and ``lazy'' data movement that remains independent of dilation rate. LeapConv addresses inefficiencies in strided convolutions by decomposing them into unity-stride channels and merging them into a single hardware unit, thereby reducing redundant memory access with minimal area overhead. To support functional safety, the thesis introduces a low-overhead Algorithm-Based Fault Tolerant (ABFT) checker tailored for CNNs. The convolution checker predicts output checksums using only border pixels of the input, leveraging a novel convolutional invariance condition. This drastically reduces buffer and logic requirements, enabling efficient online fault detection. The framework is validated through the automatic synthesis of multiple CNN accelerators from real-world models. Experimental results demonstrate significant improvements in energy efficiency, configurability, and hardware utilization compared to state-of-the-art tools. Overall, this thesis delivers a scalable and practical solution for CNN hardware acceleration, addressing critical demands in performance, energy, and reliability for modern machine learning systems.
περισσότερα