HEAL DSpace

Oclude and OCLMan: tools to profile and predict the dynamic behavior of standalone OpenCL kernels based on compiling and machine learning techniques

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

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

dc.contributor.author Νιάρχος, Σωτήριος el
dc.contributor.author Niarchos, Sotirios en
dc.date.accessioned 2020-11-12T06:19:34Z
dc.date.available 2020-11-12T06:19:34Z
dc.identifier.uri https://dspace.lib.ntua.gr/xmlui/handle/123456789/51905
dc.identifier.uri http://dx.doi.org/10.26240/heal.ntua.19603
dc.rights Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα *
dc.rights.uri http://creativecommons.org/licenses/by-nc-nd/3.0/gr/ *
dc.subject Ετερογενής υπολογισμός el
dc.subject Παράλληλος υπολογισμός el
dc.subject Μηχανική μάθηση el
dc.subject Ανάλυση παλινδρόμησης el
dc.subject Πρόβλεψη χρόνου εκτέλεσης el
dc.subject Heterogeneous computing en
dc.subject Parallel computing en
dc.subject Machine learning en
dc.subject Regression analysis en
dc.subject Execution time prediction en
dc.title Oclude and OCLMan: tools to profile and predict the dynamic behavior of standalone OpenCL kernels based on compiling and machine learning techniques en
dc.contributor.department Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών. Εργαστήριο Υπολογιστικών Συστημάτων el
heal.type bachelorThesis
heal.classification Computer engineering en
heal.language el
heal.language en
heal.access free
heal.recordProvider ntua el
heal.publicationDate 2020-07-29
heal.abstract Τα τελευταία χρόνια, ο ετερογενής υπολογισμός (heterogeneous computing), δηλαδή η εκτέλεση κώδικα σε μονάδες επεξεργασίας που αντιστοιχούν σε μια ποικιλία διαφορετικών αρχιτεκτονικών (CPUs, GPUs, FPGAs κ.λπ.), αρχίζει να παίζει έναν ολοένα και σημαντικότερο ρόλο στους τομείς του μαζικού και παράλληλου υπολογισμού, καθώς και στο υπολογιστικό νέφος. ́Ενα από τα κύρια ερωτήματα που θέτει αυτή η προσέγγιση είναι ποια στρατηγική πρέπει να ακολουθηθεί για να κατανέμονται οι υπολογισμοί στις διάφορες διαθέσιμες μονάδες επεξεργασίας προκειμένου να μεγιστοποιηθεί η απόδοση. Στην προσπάθειά μας να διερευνήσουμε πιθανές απαντήσεις σε αυτό το ερώτημα, παρουσιάζουμε το oclude, ένα εργαλείο που χρησιμοποιεί τεχνικές από τον χώρο των μεταγλωττιστών και επεξεργάζεται τον πηγαίο κώδικα (source code instrumentation) προγραμμάτων γραμμένων σε OpenCL, μία γλώσσα για προγραμματισμό σε παράλληλα και/ή ετερογενή περιβάλλοντα. Χρησιμοποιούμε το oclude για να αναλύσουμε έναν αριθμό πυρήνων OpenCL (OpenCL kernels), δηλαδή να αποκτήσουμε τον αριθμό των LLVM εντολών ανά τύπο που εκτελέστηκαν μέσω μιας δυναμικής διαδικασίας μικροανάλυσης (microprofiling), και ως εκ τούτου να αποκτήσουμε ένα σύνολο χαρακτηριστικών ανεξάρτητων από τη γλώσσα προγραμματισμού και το υλικό. Στη συνέχεια χτίζουμε μοντέλα παλινδρόμησης (regression models) για την πρόβλεψη των χρόνων εκτέλεσης σε μια μονάδα CPU, που βασίζονται αποκλειστικά στο μέγεθος των δεδομένων εισόδου. Υλοποιήθηκαν δύο στάδια παλινδρόμησης. Το πρώτο στάδιο προβλέπει μετρήσεις εντολών συναρτήσει του μεγέθους των δεδομένων εισόδου και είναι διαφορετικό για κάθε πυρήνα (kernel-specific), ενώ το δεύτερο στάδιο χρησιμοποιεί το πρώτο για να προβλέψει τους χρόνους εκτέλεσης σε μια δεδομένη μονάδα επεξεργασίας, χωρίς η πρόβλεψη αυτή να είναι συγκεκριμένη για τον πυρήνα (kernel-agnostic). Αυτά τα δύο στάδια έχουν υλοποιηθεί ξεχωριστά έχοντας ως στόχο την ανεξαρτησία τους, έτσι ώστε μια διαφορετική προσέγγιση να μπορεί εύκολα να χτιστεί με αυτά, π.χ. ανάλυση υπολογιστικών πυρήνων γραμμένων σε γλώσσες πέραν της OpenCL. Τέλος, δείχνουμε ότι το μοντέλο μας έχει πολύ καλύτερη απόδοση από ό,τι μοντέλα παλινδρόμησης που βασίζονται μόνο σε στατικά χαρακτηριστικά, το οποίο και αποτελεί τη βασική προσέγγιση που χρησιμοποιείται στη σχετική βιβλιογραφία. el
heal.abstract In recent years, heterogeneous computing, i.e. code execution on processing units that correspond to a variety of different architectures (CPUs, GPUs, FPGAs etc.), starts to play an increasingly important role in the fields of massive, parallel and cloud computing. One of the main questions that this approach raises is which strategy should be followed in order to distribute computation kernels across the different available processing units in order to maximize efficiency. Towards our effort to investigate possible answers to this question, we present oclude, a tool that uses compiler techniques and source code instrumentation to profile applications written in OpenCL, a parallel and heterogeneous computing framework. We use oclude to profile a number of OpenCL kernels, i.e. to acquire the number of LLVM instructions per type that were executed through a dynamic microprofiling process, and hence to obtain a language and hardware independent feature set. We then build regression models to predict execution times on a CPU, based solely on the size of the input data. Two regression stages have been implemented. The first predicts instruction counts given the size of the input data and is kernel-specific, while the second utilizes the first in order to predict execution times on a given processing unit without being kernel-specific. These two stages have been implemented separately in order to decouple the language and hardware independent model from the rest of the process, so that a different approach can be easily built on top of them, e.g. profiling a non-OpenCL codebase. Finally, we show that our model performs significantly better than regression models based on static features only, which is the default approach used in related literature. en
heal.advisorName Koziris, Nectarios en
heal.committeeMemberName Goumas, Georgios en
heal.committeeMemberName Papaspurou, Nikolaos en
heal.academicPublisher Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών. Εργαστήριο Υπολογιστικών Συστημάτων el
heal.academicPublisherID ntua
heal.numberOfPages 139 p. en
heal.fullTextAvailability false


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

Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο:

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

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

Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα Εκτός από όπου ορίζεται κάτι διαφορετικό, αυτή η άδεια περιγράφεται ως Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα