Επικοινωνήστε μαζί μας
 Διάρκεια 28 Ώρες

Εξέλιξη Κομματιού

Εισαγωγή

  • Τι είναι το ROCm;
  • Τι είναι το HIP;
  • ROCm εναντίον CUDA εναντίον OpenCL
  • Επισκόπηση των χαρακτηριστικών και της αρχιτεκτονικής των ROCm και HIP
  • Ρύθμιση του Περιβάλλοντος Ανάπτυξης

Ξεκινώντας

  • Δημιουργία ενός νέου έργου ROCm χρησιμοποιώντας το Visual Studio Code
  • Εξερεύνηση της δομής του έργου και των αρχείων
  • Μεταγλώττιση και εκτέλεση του προγράμματος
  • Προβολή της εξόδου χρησιμοποιώντας 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, όπως global, shared, constant, local
  • Χρήση των αντικειμένων μνήμης των ROCm και HIP, όπως δείκτες, πίνακες, υφές (textures), επιφάνειες (surfaces)
  • Χρήση των τρόπων πρόσβασης μνήμης των ROCm και HIP, όπως read-only, write-only, read-write, κ.λπ.
  • Χρήση του μοντέλου συνέπειας μνήμης και των μηχανισμών συγχρονισμού των ROCm και HIP

Μοντέλο Εκτέλεσης ROCm και HIP

  • Κατανόηση της διαφοράς μεταξύ μοντέλων εκτέλεσης κεντρικού υπολογιστή και συσκευής
  • Χρήση των νημάτων, μπλοκ και πλεγμάτων των ROCm και HIP για τον ορισμό της παραλληλίας
  • Χρήση των συναρτήσεων νημάτων ROCm και HIP, όπως hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x, κ.λπ.
  • Χρήση των συναρτήσεων μπλοκ ROCm και HIP, όπως __syncthreads, __threadfence_block, κ.λπ.
  • Χρήση των συναρτήσεων πλέγματος ROCm και HIP, όπως hipGridDim_x, hipGridSync, cooperative groups, κ.λπ.

Αποσφαλμάτωση

  • Κατανόηση των κοινών σφαλμάτων και bugs σε προγράμματα ROCm και HIP
  • Χρήση του debugger του Visual Studio Code για επιθεώρηση μεταβλητών, σημείων διακοπής, στοίβας κλήσεων, κ.λπ.
  • Χρήση του ROCm Debugger για την αποσφαλμάτωση προγραμμάτων ROCm και HIP σε συσκευές AMD
  • Χρήση του ROCm Profiler για την ανάλυση προγραμμάτων ROCm και HIP σε συσκευές AMD

Βελτιστοποίηση

  • Κατανόηση των παραγόντων που επηρεάζουν την απόδοση των προγραμμάτων ROCm και HIP
  • Χρήση τεχνικών coalescing των ROCm και HIP για βελτίωση της απόδοσης μνήμης
  • Χρήση τεχνικών caching και prefetching των ROCm και HIP για μείωση της καθυστέρησης μνήμης
  • Χρήση τεχνικών shared memory και local memory των ROCm και HIP για βελτιστοποίηση των προσβάσεων μνήμης και του εύρους ζώνης
  • Χρήση του profiling και των profiling εργαλείων των ROCm και HIP για μέτρηση και βελτίωση του χρόνου εκτέλεσης και της χρησιμοποίησης πόρων

Σύνοψη και Επόμενα Βήματα

Απαιτήσεις

  • Κατανόηση της γλώσσας C/C++ και των εννοιών παράλληλου προγραμματισμού
  • Βασικές γνώσεις αρχιτεκτονικής υπολογιστών και ιεραρχίας μνήμης
  • Εμπειρία με εργαλεία γραμμής εντολών και προγραμμάτων επεξεργασίας κώδικα

Ακροατήριο

  • Προγραμματιστές που επιθυμούν να μάθουν πώς να χρησιμοποιούν τα ROCm και HIP για τον προγραμματισμό GPU της AMD και να εκμεταλλευτούν την παραλληλία τους
  • Προγραμματιστές που επιθυμούν να γράφουν κώδικα υψηλής απόδοσης και κλιμακώσιμο που μπορεί να εκτελείται σε διαφορετικές συσκευές AMD
  • Προγραμματιστές που επιθυμούν να εξερευνήσουν τις πτυχές χαμηλού επιπέδου του προγραμματισμού GPU και να βελτιστοποιήσουν την απόδοση του κώδικα τους

Αριθμός συμμετέχοντων


Τιμή ανά συμμετέχοντα

Εφεξής Μαθήματα

Σχετικές Κατηγορίες