Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Εισαγωγή
- Τι είναι το 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
- Χρήση τεχνικών συγχώνευσης για τη βελτίωση της απόδοσης μνήμης
- Χρήση τεχνικών προσωρινής αποθήκευσης και προ-ανάκτησης για τη μείωση του λανθάνοντος χρόνου της μνήμης
- Χρήση τεχνικών κοινής μνήμης και τοπικής μνήμης για τη βελτιστοποίηση των προσβάσεων στη μνήμη και του εύρους ζώνης
- Χρήση εργαλείων δημιουργίας προφίλ και προφίλ για τη μέτρηση και τη βελτίωση του χρόνου εκτέλεσης και της χρήσης πόρων
Περίληψη και Επόμενο Βήμα
Requirements
- Κατανόηση της γλώσσας C/C++ και των εννοιών του παράλληλου προγραμματισμού
- Βασικές γνώσεις αρχιτεκτονικής υπολογιστών και ιεραρχίας μνήμης
- Εμπειρία με εργαλεία γραμμής εντολών και επεξεργαστές κώδικα
- Εξοικείωση με λειτουργικό σύστημα Windows και PowerShell
Ακροατήριο
- Προγραμματιστές που επιθυμούν να μάθουν πώς να εγκαθιστούν και να χρησιμοποιούν το ROCm στα Windows για να προγραμματίσουν τα AMD GPU και να εκμεταλλευτούν τον παραλληλισμό τους
- Προγραμματιστές που επιθυμούν να γράψουν κώδικα υψηλής απόδοσης και κλιμάκωσης που μπορεί να εκτελεστεί σε διαφορετικές συσκευές AMD
- Προγραμματιστές που επιθυμούν να εξερευνήσουν τις πτυχές χαμηλού επιπέδου του GPU προγραμματισμού και να βελτιστοποιήσουν την απόδοση του κώδικα τους
21 Hours
Testimonials (2)
Πολύ διαδραστικό με διάφορα παραδείγματα, με καλή εξέλιξη στην πολυπλοκότητα μεταξύ της έναρξης και του τέλους της εκπαίδευσης.
Jenny - Andheo
Course - GPU Programming with CUDA and Python
Machine Translated
Ενέργεια και χιούμορ των εκπαιδευτών.
Tadeusz Kaluba - Nokia Solutions and Networks Sp. z o.o.
Course - NVIDIA GPU Programming - Extended
Machine Translated