Ευχαριστούμε που στάλθηκε η αποσαφήνισή σας! Ένα μέλος της ομάδου μας θα επικοινωνήσει μαζί σας σύντομα.
Ευχαριστούμε για την εκδήλωση κράτησης! Ένας από τους συνεργάτες μας θα επικοινωνήσει μαζί σας σύντομα.
Εξέλιξη Κομματιού
Εισαγωγή
- Τι είναι το ROCm;
- Τι είναι το HIP;
- ROCm vs CUDA vs OpenCL
- Επισκόπηση των χαρακτηριστικών και της αρχιτεκτονικής ROCm και HIP
- Δημιουργία Αναπτυξιακού Περιβάλλοντος
Ξεκινώντας
- Δημιουργία νέου έργου ROCm χρησιμοποιώντας Visual Studio Κώδικα
- Εξερεύνηση της δομής και των αρχείων του έργου
- Μεταγλώττιση και εκτέλεση του προγράμματος
- Εμφάνιση της εξόδου με χρήση printf και fprintf
ROCm API
- Κατανόηση του ρόλου του ROCm API στο πρόγραμμα υποδοχής
- Χρήση του ROCm API για αναζήτηση πληροφοριών και δυνατοτήτων συσκευής
- Χρήση του ROCm API για εκχώρηση και κατανομή μνήμης συσκευής
- Χρήση ROCm API για αντιγραφή δεδομένων μεταξύ κεντρικού υπολογιστή και συσκευής
- Χρήση ROCm API για εκκίνηση πυρήνων και συγχρονισμό νημάτων
- Χρήση ROCm API για τη διαχείριση σφαλμάτων και εξαιρέσεων
Γλώσσα HIP
- Κατανόηση του ρόλου της γλώσσας HIP στο πρόγραμμα της συσκευής
- Χρησιμοποιώντας τη γλώσσα HIP για να γράψετε πυρήνες που εκτελούνται στο GPU και να χειριστούν δεδομένα
- Χρήση τύπων δεδομένων HIP, χαρακτηριστικών, τελεστών και εκφράσεων
- Χρήση ενσωματωμένων λειτουργιών, μεταβλητών και βιβλιοθηκών HIP για την εκτέλεση κοινών εργασιών και λειτουργιών
Μοντέλο μνήμης ROCm και HIP
- Κατανόηση της διαφοράς μεταξύ μοντέλων μνήμης κεντρικού υπολογιστή και συσκευής
- Χρήση χώρων μνήμης ROCm και HIP, όπως καθολικός, κοινόχρηστος, σταθερός και τοπικός
- Χρήση αντικειμένων μνήμης ROCm και HIP, όπως δείκτες, πίνακες, υφές και επιφάνειες
- Χρήση λειτουργιών πρόσβασης μνήμης ROCm και HIP, όπως μόνο για ανάγνωση, μόνο εγγραφή, ανάγνωση-εγγραφή κ.λπ.
- Χρήση μοντέλου συνοχής μνήμης ROCm και HIP και μηχανισμών συγχρονισμού
Μοντέλο εκτέλεσης ROCm και HIP
- Κατανόηση της διαφοράς μεταξύ μοντέλων εκτέλεσης κεντρικού υπολογιστή και συσκευής
- Χρησιμοποιώντας νήματα, μπλοκ και πλέγματα ROCm και HIP για να ορίσετε τον παραλληλισμό
- Χρήση συναρτήσεων νήματος ROCm και HIP, όπως hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x, κ.λπ.
- Χρήση λειτουργιών αποκλεισμού ROCm και HIP, όπως __syncthreads, __threadfence_block, κ.λπ.
- Χρήση λειτουργιών πλέγματος ROCm και HIP, όπως hipGridDim_x, hipGridSync, συνεργατικές ομάδες κ.λπ.
Εντοπισμός σφαλμάτων
- Κατανόηση των κοινών σφαλμάτων και σφαλμάτων στα προγράμματα ROCm και HIP
- Χρήση του προγράμματος εντοπισμού σφαλμάτων κώδικα Visual Studio για επιθεώρηση μεταβλητών, σημείων διακοπής, στοίβας κλήσεων κ.λπ.
- Χρήση του προγράμματος εντοπισμού σφαλμάτων ROCm για εντοπισμό σφαλμάτων προγραμμάτων ROCm και HIP σε συσκευές AMD
- Χρήση του ROCm Profiler για ανάλυση προγραμμάτων ROCm και HIP σε συσκευές AMD
Βελτιστοποίηση
- Κατανόηση των παραγόντων που επηρεάζουν την απόδοση των προγραμμάτων ROCm και HIP
- Χρήση τεχνικών συγχώνευσης ROCm και HIP για τη βελτίωση της απόδοσης μνήμης
- Χρήση τεχνικών προσωρινής αποθήκευσης και προανάκτησης ROCm και HIP για τη μείωση του λανθάνοντος χρόνου της μνήμης
- Χρήση τεχνικών κοινής μνήμης και τοπικής μνήμης ROCm και HIP για βελτιστοποίηση των προσβάσεων στη μνήμη και του εύρους ζώνης
- Χρήση εργαλείων δημιουργίας προφίλ και προφίλ ROCm και HIP για τη μέτρηση και τη βελτίωση του χρόνου εκτέλεσης και της χρήσης πόρων
Περίληψη και Επόμενο Βήμα
Απαιτήσεις
- Κατανόηση της γλώσσας C/C++ και των εννοιών του παράλληλου προγραμματισμού
- Βασικές γνώσεις αρχιτεκτονικής υπολογιστών και ιεραρχίας μνήμης
- Εμπειρία με εργαλεία γραμμής εντολών και επεξεργαστές κώδικα
Ακροατήριο
- Προγραμματιστές που επιθυμούν να μάθουν πώς να χρησιμοποιούν τα ROCm και HIP για να προγραμματίσουν τα AMD GPU και να εκμεταλλευτούν τον παραλληλισμό τους
- Προγραμματιστές που επιθυμούν να γράψουν κώδικα υψηλής απόδοσης και κλιμάκωσης που μπορεί να εκτελεστεί σε διαφορετικές συσκευές AMD
- Προγραμματιστές που επιθυμούν να εξερευνήσουν τις πτυχές χαμηλού επιπέδου του GPU προγραμματισμού και να βελτιστοποιήσουν την απόδοση του κώδικα τους
28 Ώρες