Ευχαριστούμε που στάλθηκε η αποσαφήνισή σας! Ένα μέλος της ομάδου μας θα επικοινωνήσει μαζί σας σύντομα.
Ευχαριστούμε για την εκδήλωση κράτησης! Ένας από τους συνεργάτες μας θα επικοινωνήσει μαζί σας σύντομα.
Εξέλιξη Κομματιού
Εισαγωγή
- Τι είναι ο προγραμματισμός GPU;
- Γιατί να χρησιμοποιήσετε τον προγραμματισμό GPU;
- Ποιες είναι οι προκλήσεις και οι ανταλλαγές του GPU προγραμματισμού;
- Ποια είναι τα πλαίσια και τα εργαλεία για τον προγραμματισμό GPU;
- Επιλέγοντας το σωστό πλαίσιο και εργαλείο για την εφαρμογή σας
OpenCL
- Τι είναι το OpenCL;
- Ποια είναι τα πλεονεκτήματα και τα μειονεκτήματα του OpenCL;
- Ρύθμιση του περιβάλλοντος ανάπτυξης για OpenCL
- Δημιουργία βασικού προγράμματος OpenCL που εκτελεί πρόσθεση διανυσμάτων
- Χρήση OpenCL API για αναζήτηση πληροφοριών συσκευής, εκχώρηση και κατανομή μνήμης συσκευής, αντιγραφή δεδομένων μεταξύ κεντρικού υπολογιστή και συσκευής, εκκίνηση πυρήνων και συγχρονισμός νημάτων
- Χρησιμοποιώντας τη γλώσσα OpenCL C για την εγγραφή πυρήνων που εκτελούνται στη συσκευή και χειρίζονται δεδομένα
- Χρήση OpenCL ενσωματωμένων συναρτήσεων, μεταβλητών και βιβλιοθηκών για την εκτέλεση κοινών εργασιών και λειτουργιών
- Χρήση χώρων μνήμης OpenCL, όπως καθολικοί, τοπικοί, σταθεροί και ιδιωτικοί, για τη βελτιστοποίηση των μεταφορών δεδομένων και των προσβάσεων στη μνήμη
- Χρησιμοποιώντας το μοντέλο εκτέλεσης OpenCL για τον έλεγχο των στοιχείων εργασίας, των ομάδων εργασίας και των εύρους ND που ορίζουν τον παραλληλισμό
- Εντοπισμός σφαλμάτων και δοκιμή OpenCL προγραμμάτων χρησιμοποιώντας εργαλεία όπως το CodeXL
- Βελτιστοποίηση προγραμμάτων OpenCL με χρήση τεχνικών όπως η συνένωση, η προσωρινή αποθήκευση, η εκ των προτέρων ανάκτηση και η δημιουργία προφίλ
CUDA
- Τι είναι το CUDA;
- Ποια είναι τα πλεονεκτήματα και τα μειονεκτήματα του CUDA;
- Ρύθμιση του περιβάλλοντος ανάπτυξης για το CUDA
- Δημιουργία βασικού προγράμματος CUDA που εκτελεί πρόσθεση διανυσμάτων
- Χρήση CUDA API για αναζήτηση πληροφοριών συσκευής, εκχώρηση και κατανομή μνήμης συσκευής, αντιγραφή δεδομένων μεταξύ κεντρικού υπολογιστή και συσκευής, εκκίνηση πυρήνων και συγχρονισμός νημάτων
- Χρήση της γλώσσας CUDA C/C++ για την εγγραφή πυρήνων που εκτελούνται στη συσκευή και χειρίζονται δεδομένα
- Χρήση ενσωματωμένων συναρτήσεων, μεταβλητών και βιβλιοθηκών CUDA για την εκτέλεση κοινών εργασιών και λειτουργιών
- Χρήση χώρων μνήμης CUDA, όπως καθολικοί, κοινόχρηστοι, σταθεροί και τοπικοί, για τη βελτιστοποίηση των μεταφορών δεδομένων και των προσβάσεων στη μνήμη
- Χρησιμοποιώντας το μοντέλο εκτέλεσης CUDA για τον έλεγχο των νημάτων, των μπλοκ και των πλεγμάτων που ορίζουν τον παραλληλισμό
- Εντοπισμός σφαλμάτων και δοκιμή προγραμμάτων CUDA χρησιμοποιώντας εργαλεία όπως CUDA-GDB, CUDA-MEMCHECK και NVIDIA Nsight
- Βελτιστοποίηση προγραμμάτων CUDA με χρήση τεχνικών όπως η συνένωση, η προσωρινή αποθήκευση, η εκ των προτέρων ανάκτηση και η δημιουργία προφίλ
ROCm
- Τι είναι το ROCm;
- Ποια είναι τα πλεονεκτήματα και τα μειονεκτήματα του ROCm;
- Ρύθμιση του περιβάλλοντος ανάπτυξης για το ROCm
- Δημιουργία βασικού προγράμματος ROCm που εκτελεί πρόσθεση διανυσμάτων
- Χρησιμοποιώντας το ROCm API για αναζήτηση πληροφοριών συσκευής, εκχώρηση και κατανομή μνήμης συσκευής, αντιγραφή δεδομένων μεταξύ κεντρικού υπολογιστή και συσκευής, εκκίνηση πυρήνων και συγχρονισμό νημάτων
- Χρήση της γλώσσας ROCm C/C++ για την εγγραφή πυρήνων που εκτελούνται στη συσκευή και χειρίζονται δεδομένα
- Χρήση ενσωματωμένων συναρτήσεων, μεταβλητών και βιβλιοθηκών ROCm για την εκτέλεση κοινών εργασιών και λειτουργιών
- Χρήση χώρων μνήμης ROCm, όπως καθολικοί, τοπικοί, σταθεροί και ιδιωτικοί, για τη βελτιστοποίηση των μεταφορών δεδομένων και των προσβάσεων στη μνήμη
- Χρησιμοποιώντας το μοντέλο εκτέλεσης ROCm για τον έλεγχο των νημάτων, των μπλοκ και των πλεγμάτων που ορίζουν τον παραλληλισμό
- Εντοπισμός σφαλμάτων και δοκιμή προγραμμάτων ROCm χρησιμοποιώντας εργαλεία όπως το ROCm Debugger και το ROCm Profiler
- Βελτιστοποίηση προγραμμάτων ROCm με χρήση τεχνικών όπως η συγχώνευση, η προσωρινή αποθήκευση, η προανάκτηση και η δημιουργία προφίλ
ΙΣΧΙΟ
- Τι είναι το HIP;
- Ποια είναι τα πλεονεκτήματα και τα μειονεκτήματα του HIP;
- Ρύθμιση του περιβάλλοντος ανάπτυξης για το HIP
- Δημιουργία βασικού προγράμματος HIP που εκτελεί πρόσθεση διανυσμάτων
- Χρήση γλώσσας HIP για την εγγραφή πυρήνων που εκτελούνται στη συσκευή και χειρίζονται δεδομένα
- Χρήση ενσωματωμένων λειτουργιών, μεταβλητών και βιβλιοθηκών HIP για την εκτέλεση κοινών εργασιών και λειτουργιών
- Χρήση χώρων μνήμης HIP, όπως καθολικοί, κοινόχρηστοι, σταθεροί και τοπικοί, για τη βελτιστοποίηση των μεταφορών δεδομένων και των προσβάσεων στη μνήμη
- Χρήση του μοντέλου εκτέλεσης HIP για τον έλεγχο των νημάτων, των μπλοκ και των πλεγμάτων που ορίζουν τον παραλληλισμό
- Εντοπισμός σφαλμάτων και δοκιμή προγραμμάτων HIP χρησιμοποιώντας εργαλεία όπως το ROCm Debugger και το ROCm Profiler
- Βελτιστοποίηση προγραμμάτων HIP χρησιμοποιώντας τεχνικές όπως η συγχώνευση, η προσωρινή αποθήκευση, η εκ των προτέρων ανάκτηση και η δημιουργία προφίλ
Σύγκριση
- Σύγκριση των χαρακτηριστικών, της απόδοσης και της συμβατότητας των OpenCL, CUDA, ROCm και HIP
- Αξιολόγηση GPU προγραμμάτων με χρήση σημείων αναφοράς και μετρήσεων
- Μαθαίνοντας τις βέλτιστες πρακτικές και συμβουλές για GPU προγραμματισμό
- Διερεύνηση των τρεχουσών και μελλοντικών τάσεων και προκλήσεων του GPU προγραμματισμού
Περίληψη και Επόμενο Βήμα
Απαιτήσεις
- Κατανόηση της γλώσσας C/C++ και των εννοιών του παράλληλου προγραμματισμού
- Βασικές γνώσεις αρχιτεκτονικής υπολογιστών και ιεραρχίας μνήμης
- Εμπειρία με εργαλεία γραμμής εντολών και επεξεργαστές κώδικα
Ακροατήριο
- Προγραμματιστές που επιθυμούν να μάθουν τα βασικά του GPU προγραμματισμού και τα κύρια πλαίσια και εργαλεία για την ανάπτυξη GPU εφαρμογών
- Προγραμματιστές που επιθυμούν να γράψουν φορητό και επεκτάσιμο κώδικα που μπορεί να εκτελεστεί σε διαφορετικές πλατφόρμες και συσκευές
- Προγραμματιστές που επιθυμούν να εξερευνήσουν τα οφέλη και τις προκλήσεις του GPU προγραμματισμού και βελτιστοποίησης
21 Ώρες