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 χρησιμοποιώντας 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 για τη μέτρηση και τη βελτίωση του χρόνου εκτέλεσης και της χρήσης πόρων
Περίληψη και Επόμενο Βήμα
Requirements
- Κατανόηση της γλώσσας C/C++ και των εννοιών του παράλληλου προγραμματισμού
- Βασικές γνώσεις αρχιτεκτονικής υπολογιστών και ιεραρχίας μνήμης
- Εμπειρία με εργαλεία γραμμής εντολών και επεξεργαστές κώδικα
Ακροατήριο
- Προγραμματιστές που επιθυμούν να μάθουν πώς να χρησιμοποιούν τα ROCm και HIP για να προγραμματίσουν τα AMD GPU και να εκμεταλλευτούν τον παραλληλισμό τους
- Προγραμματιστές που επιθυμούν να γράψουν κώδικα υψηλής απόδοσης και κλιμάκωσης που μπορεί να εκτελεστεί σε διαφορετικές συσκευές AMD
- Προγραμματιστές που επιθυμούν να εξερευνήσουν τις πτυχές χαμηλού επιπέδου του GPU προγραμματισμού και να βελτιστοποιήσουν την απόδοση του κώδικα τους
28 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