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