HEAL DSpace

Optimization of GPU workloads using natural language processing based on deep learning techniques

Αποθετήριο DSpace/Manakin

Εμφάνιση απλής εγγραφής

dc.contributor.author Βαβαρούτσος, Πέτρος el
dc.contributor.author Vavaroutsos, Petros en
dc.date.accessioned 2022-07-29T11:42:00Z
dc.date.available 2022-07-29T11:42:00Z
dc.identifier.uri https://dspace.lib.ntua.gr/xmlui/handle/123456789/55550
dc.identifier.uri http://dx.doi.org/10.26240/heal.ntua.23248
dc.rights Default License
dc.subject Νευρωνικά Δίκτυα el
dc.subject Επεξεργασία Φυσικής Γλώσσας el
dc.subject Μεταγλωττιστές el
dc.subject GPU en
dc.subject OpenCL en
dc.subject CUDA en
dc.subject Compilers en
dc.subject Natural Language Processing en
dc.subject Deep Learning en
dc.subject Attention en
dc.title Optimization of GPU workloads using natural language processing based on deep learning techniques en
heal.type bachelorThesis
heal.classification Computer science en
heal.language en
heal.access free
heal.recordProvider ntua el
heal.publicationDate 2022-02-25
heal.abstract Η ρύθμιση των παραμέτρων ενός προγράμματος είναι δύσκολη λόγω της αφηρημένης σχέσης μεταξύ υλικού και λογισμικού. Απαιτούνται αλγόριθμοι αυτόματης βελτιστοποίησης που είναι ακριβείς για την αντιμετώπιση της πολυπλοκότητας και της ποικιλίας του τρέχοντος υλικού και λογισμικού. Η αυτόματη βελτιστοποίηση κώδικα βασιζόταν πάντα σε χρονοβόρες προσεγγίσεις δοκιμών και σφαλμάτων. Η μηχανική μάθηση (ML) και η Επεξεργασία Φυσικής Γλώσσας (NLP) έχουν ακμάσει την τελευταία δεκαετία με την έρευνα να επικεντρώνεται σε αρχιτεκτονικές βαθιών νευρωνικών δικτύων. Σε αυτό το πλαίσιο, η χρήση τεχνικών επεξεργασίας φυσικής γλώσσας στον πηγαίο κώδικα για τη διεξαγωγή εργασιών αυτόματης βελτιστοποίησης είναι ένα αναδυόμενο πεδίο μελέτης. Ενώ η προηγούμενη έρευνα έχει ολοκληρώσει επιτυχώς μια ποικιλία διαφορετικών εργασιών αυτόματης βελτιστοποίησης χρησιμοποιώντας μια ποικιλία διαφορετικών γλωσσών πηγαίου κώδικα, στη πλειονότητα των δεδομένων βρίσκεται πηγαίος κώδικας CPU, και όχι τόσο κώδικας GPU. Σε αυτή την εργασία, κάνουμε δύο συνεισφορές. Αρχικά χρησιμοποιούμε το σύνολο δεδομένων των πυρήνων OpenCL από την εργασία των Cummings et al. για να αξιολογήσουμε και να συγκρίνουμε έξι διαφορετικά προτεινόμενα βαθιά νευρωνικά δίκτυα με το state-of-the-art δίκτυο. Το καλύτερο μοντέλο μας ξεπερνά αυτό της δουλειάς των Cummins et al., παρέχοντας, συνολικά, 2.65% βελτίωση στην ακρίβεια πρόβλεψης. Στη δεύτερη συνεισφορά μας, επεκτείνουμε την έρευνά μας στους πυρήνες CUDA και δημιουργούμε μια end-to-end μεθοδολογία που ενσωματώνει έναν source-to-source μεταγλωττιστή για thread και block coarsening μετασχηματισμούς πυρήνων CUDA, έναν CUDA rewriter που αφαιρεί σημασιολογικά άσχετες πληροφορίες από τους πυρήνες, τη δημιουργία έτοιμων για εκπαίδευση ακολουθιών, ένα profiling εργαλείο για τη μέτρηση της απόδοσης των μετασχηματισμένων πυρήνων, την παραγωγή των ετικετών πρόβλεψης και, τέλος, το καλύτερο μοντέλο μηχανικής εκμάθησης από την προαναφερθείσα έρευνα αρχιτεκτονικής νευρωνικών δικτύων στους πυρήνες OpenCL. Ως εκ τούτου, η προτεινόμενη μεθοδολογία μας λαμβάνει έναν χειρόγραφο πυρήνα CUDA και προβλέπει το βέλτιστο coarsening transformation factor του. Από όσο γνωρίζουμε, αυτή είναι η πρώτη εργασία που επιχειρεί να εφαρμόσει τεχνικές NLP σε γραπτές εφαρμογές CUDA για τις συγκεκριμένες βελτιστοποιήσεις. Αξιολογούμε τη μεθοδολογία μας στο σύνολο δεδομένων LS-CAT για πέντε διαφορετικούς coarsening factors στη GPU υψηλής τεχνολογίας NVIDIA V100S, ανακαλύπτουμε τα τρωτά σημεία της και εξετάζουμε τη δυνατότητα εφαρμογής μηχανικής μάθησης για τρία διαφορετικά προβλήματα πρόβλεψης: δυαδική ταξινόμηση thread coarsening, thread και block coarsening ταξινόμηση πέντε κλάσεων. Το μοντέλο μας επιτυγχάνει ακρίβεια 84% στη δυαδική ταξινόμηση, ενώ έχει κακή απόδοση όταν πρόκειται για ταξινόμηση πέντε κλάσεων. el
heal.abstract Setting program parameters is challenging due to the abstract relationship between hardware and software. Automatic optimization algorithms that are accurate are required to cope with the complexity and variety of current hardware and software. Autotuning has always relied on time-consuming trial and error approaches. Machine learning (ML) and Natural Language Processing (NLP) has flourished over the last decade with research focusing on deep architectures. In this context, the use of natural language processing techniques to source code in order to conduct autotuning tasks is an emerging field of study. While previous research has successfully completed a variety of different autotuning tasks using a variety of different source code languages, the majority of source code data is CPU-centric, with relatively little GPU code. In this work, we make two contributions. We first utilize the dataset of OpenCL kernels from the work of Cummins et al. to evaluate and compare our proposed six different deep neural networks to the state-of-the-art network. Our best model surpasses that of Cummins et al. work, providing, in total, a 2.65% improvement in prediction accuracy. In our second contribution, we extend our research to CUDA kernels and we create an end-to-end pipeline that incorporates a source-to-source compiler for thread and block coarsening transformations of CUDA kernels, a source rewriter that removes semantically irrelevant information from the kernels, creating train ready sequences, a profiling tool for measuring the performance of the transformed kernels, producing the prediction labels and, finally, our best machine learning model from our aforementioned neural network architecture research on OpenCL kernels. Hence, the pipeline receives a hand-written CUDA kernel and predicts its optimal configuration. To the best of our knowledge, this is the first work that attempts to apply NLP techniques on CUDA written applications for the specific optimizations. We evaluate our methodology on the LS-CAT dataset for five different coarsening factors on NVIDIA V100S high-end GPU, we discover its vulnerabilities and examine the applicability of machine learning for three different prediction problems: thread coarsening binary classification, thread and block coarsening five-class classification. Our model achieves 84% accuracy on the binary classification, while it performs poorly when it comes to five-class classification. en
heal.advisorName Soudris, Dimitrios en
heal.committeeMemberName Goumas, Georgios en
heal.committeeMemberName Tsanakas, Panayiotis en
heal.committeeMemberName Soudris, Dimitrios en
heal.academicPublisher Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών. Εργαστήριο Μικροϋπολογιστών και Ψηφιακών Συστημάτων VLSI el
heal.academicPublisherID ntua
heal.numberOfPages 87 σ. el
heal.fullTextAvailability false


Αρχεία σε αυτό το τεκμήριο

Αυτό το τεκμήριο εμφανίζεται στην ακόλουθη συλλογή(ές)

Εμφάνιση απλής εγγραφής