Περίληψη
Τα FPGAs έχουν αναδειχθεί ως μια ισχυρή πλατφόρμα για τη δημιουργία υλικού, προσφέροντας υψηλή απόδοση και ενεργειακή αποδοτικότητα, διατηρώντας τη δυνατότητα προσαρμογής μετά την ανάπτυξη. Ο προγραμματισμός των FPGAs αποτελεί σημαντική πρόκληση, καθώς οι σχεδιαστές πρέπει να διαχειρίζονται άμεσα το υλικό, τον χρονισμό και την παραλληλία, απαιτώντας βαθιά γνώση ψηφιακής λογικής και αρχιτεκτονικής υπολογιστών. Η Σύνθεση Υψηλού Επιπέδου μετριάζει πολλές από αυτές τις δυσκολίες, επιτρέποντας στους σχεδιαστές να εκφράζουν τη συμπεριφορά του υλικού χρησιμοποιώντας γλώσσες υψηλού επιπέδου, ενώ ο μεταγλωττιστής αναγνωρίζει αυτόματα την παραλληλία και παράγει την αντίστοιχη περιγραφή του υλικού. Αυτή η αφαίρεση απλοποιεί την ανάπτυξη, επιταχύνει την βελτιστοποίηση και μειώνει την πολυπλοκότητα των παραδοσιακών ροών εργασίας. Παρά αυτά τα πλεονεκτήματα, η Σύνθεση Υψηλού Επιπέδου φέρνει νέες προκλήσεις, καθώς οι σχεδιαστές πρέπει να σκέφτονται προσεκτικά πώς οι κατασκευές υψηλού επιπέδου μεταφρά ...
Τα FPGAs έχουν αναδειχθεί ως μια ισχυρή πλατφόρμα για τη δημιουργία υλικού, προσφέροντας υψηλή απόδοση και ενεργειακή αποδοτικότητα, διατηρώντας τη δυνατότητα προσαρμογής μετά την ανάπτυξη. Ο προγραμματισμός των FPGAs αποτελεί σημαντική πρόκληση, καθώς οι σχεδιαστές πρέπει να διαχειρίζονται άμεσα το υλικό, τον χρονισμό και την παραλληλία, απαιτώντας βαθιά γνώση ψηφιακής λογικής και αρχιτεκτονικής υπολογιστών. Η Σύνθεση Υψηλού Επιπέδου μετριάζει πολλές από αυτές τις δυσκολίες, επιτρέποντας στους σχεδιαστές να εκφράζουν τη συμπεριφορά του υλικού χρησιμοποιώντας γλώσσες υψηλού επιπέδου, ενώ ο μεταγλωττιστής αναγνωρίζει αυτόματα την παραλληλία και παράγει την αντίστοιχη περιγραφή του υλικού. Αυτή η αφαίρεση απλοποιεί την ανάπτυξη, επιταχύνει την βελτιστοποίηση και μειώνει την πολυπλοκότητα των παραδοσιακών ροών εργασίας. Παρά αυτά τα πλεονεκτήματα, η Σύνθεση Υψηλού Επιπέδου φέρνει νέες προκλήσεις, καθώς οι σχεδιαστές πρέπει να σκέφτονται προσεκτικά πώς οι κατασκευές υψηλού επιπέδου μεταφράζονται στο υλικό, ιδιαίτερα όσον αφορά την παραλληλία, το pipelining και τη διαχείριση μνήμης, ενώ η χειροκίνητη ρύθμιση των οδηγιών μεταγλώττισης σε συνδυασμό με τον αργό κύκλο ανατροφοδότησης των αποτελεσμάτων σύνθεσης δημιουργεί ένα μεγάλο και πολύπλοκο χώρο σχεδίασης, καθιστώντας δύσκολη την επίτευξη βέλτιστων αποτελεσμάτων ακόμη και για έμπειρους σχεδιαστές.Σε αυτή τη διατριβή, εξετάζουμε την Εξερεύνηση του Χώρου Σχεδίασης μέσω της Σύνθεσης Υψηλού Επιπέδου μέσα από τρεις προσεγγίσεις, καθεμία από τις οποίες αντιστοιχεί σε ένα κρίσιμο επίπεδο της διαδικασίας. Στο επίπεδο δεδομένων, αναπτύξαμε το GNΩSIS, το μεγαλύτερο σύνολο δεδομένων, προσφέροντας μια στιβαρή βάση για την εκπαίδευση και αξιολόγηση σύγχρονων μεθόδων βελτιστοποίησης με μάθηση. Σε επίπεδο μοντελοποίησης, εισαγάγαμε τεχνικές πρόβλεψης επιδόσεων και πόρων από γλώσσα υψηλού επιπέδου, οι οποίες επιτρέπουν ακριβή εκτίμηση των επιπτώσεων των βελτιστοποιήσεων σε αρχικό στάδιο, μειώνοντας σημαντικά τις χρονοβόρες συνθέσεις. Σε επίπεδο βελτιστοποίησης, προτείναμε το CollectiveHLS, μία ταχύτατη μέθοδο επιλογής οδηγιών, βασισμένη στη γνώση της βελτιστοποίησης παλιότερων εφαρμογών, η οποία παράγει αποτελεσματικές στρατηγικές βελτιστοποίησης για νέες εφαρμογές. Συνολικά, αυτές οι συνεισφορές συνθέτουν μια ολοκληρωμένη προσέγγιση, ενισχύοντας την κλιμάκωση, την ακρίβεια πρόβλεψης και την πρακτική εφαρμοσιμότητα σε ολόκληρη τη διαδικασία βελτιστοποίησης. Τέλος, για να προσεγγίσουμε περισσότερο τις πραγματικές υλοποιήσεις σε FPGA, προτείνουμε ένα σύστημα FPGAaaS που παράγει Pareto-βέλτιστες παραλλαγές για κάθε εφαρμογή και επιλέγει δυναμικά την καταλληλότερη με βάση τους διαθέσιμους πόρους, βελτιώνοντας έτσι τη χρήση των πόρων και μειώνοντας τις παραβιάσεις.
περισσότερα
Περίληψη σε άλλη γλώσσα
Field Programmable Gate Arrays (FPGAs) have emerged as a compelling platform for generating application-specific hardware, offering high performance and energy efficiency while retaining flexibility for post-deployment updates. Programming FPGAs at the Register Transfer Level (RTL) has traditionally posed significant challenges, as designers must explicitly manage hardware resources, timing, and parallelism, requiring deep expertise in digital logic and device architecture. High-Level Synthesis (HLS) mitigates many of these challenges by enabling designers to express hardware behavior using high-level languages, while the compiler automatically identifies parallelism and generates the corresponding RTL. This abstraction simplifies development, accelerates design exploration, and reduces the complexities of traditional hardware description language workflows. Despite these advantages, HLS introduces its own difficulties, as designers must carefully reason about how high-level constructs ...
Field Programmable Gate Arrays (FPGAs) have emerged as a compelling platform for generating application-specific hardware, offering high performance and energy efficiency while retaining flexibility for post-deployment updates. Programming FPGAs at the Register Transfer Level (RTL) has traditionally posed significant challenges, as designers must explicitly manage hardware resources, timing, and parallelism, requiring deep expertise in digital logic and device architecture. High-Level Synthesis (HLS) mitigates many of these challenges by enabling designers to express hardware behavior using high-level languages, while the compiler automatically identifies parallelism and generates the corresponding RTL. This abstraction simplifies development, accelerates design exploration, and reduces the complexities of traditional hardware description language workflows. Despite these advantages, HLS introduces its own difficulties, as designers must carefully reason about how high-level constructs translate into hardware, particularly regarding parallelism, pipelining, and memory behavior, while the manual tuning of compiler directives combined with the slow feedback cycle of synthesis results creates a large and intricate design space, making it challenging to achieve optimal outcomes.In this dissertation, we investigated HLS Design Space Exploration (DSE) through three interrelated perspectives, each corresponding to a critical layer of the process. At the data layer, we developed GNΩSIS, a large-scale and diverse HLS design corpus, providing a robust foundation for training and benchmarking contemporary learning-based optimization methodologies. At the modeling layer, we introduced language-level performance and resource prediction techniques that enable early-stage, accurate estimation of HLS optimization effects, significantly reducing dependence on time-intensive synthesis runs. At the optimization layer, we proposed CollectiveHLS, a rapid, knowledge-driven framework for directive selection that leverages historical design behaviors to guide exploration and generate effective optimization strategies for unseen applications. Together, these contributions constitute a comprehensive approach to HLS DSE, enhancing scalability, predictive accuracy, and practical applicability across the entire optimization workflow. Finally, to bridge the gap toward real FPGA deployments, we propose a QoS-aware FPGAaaS framework that generates Pareto-optimal hardware variants for each application and dynamically selects the most appropriate one at runtime based on available resources, thereby improving resource utilization and reducing QoS violations.
περισσότερα