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