Επικοινωνήστε μαζί μας

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

Υπολογισμός GPU και Αρχιτεκτονική CUDA

  • Διαφορές αρχιτεκτονικής CPU έναντι GPU
  • Μοντέλο streaming multiprocessor NVIDIA GPU
  • Επισκόπηση μοντέλου προγραμματισμού CUDA
  • Μικτή υπολογιστική υποδομή και το παραγόμενο (host-device) υπόδειγμα

Ρύθμιση του Περιβάλλοντος Προγραμματισμού CUDA

  • Εγκατάσταση του CUDA Toolkit 13.x
  • Μεταγλωττιστής NVCC και workflow κατασκευής
  • Επαλήθευση του περιβάλλοντος με ερωτήματα συσκευής
  • Ενσωμάτωση IDE και εργαλεία ανάπτυξης

Δημιουργία και Εκκίνηση Πυρήνων CUDA

  • Syntax και προσδιοριστές συναρτήσεων πυρήνα
  • Διαμόρφωση εκκίνησης και εκτέλεση
  • Πρόσθεση διανυσμάτων και βασικά μοτίβα παράλληλης επεξεργασίας δεδομένων
  • Μακροεντολές ελέγχου σφαλμάτων CUDA

Ιεραρχία Νημάτων CUDA και Μοντέλο Εκτέλεσης

  • Οργάνωση Grid, block και thread
  • Αρίθμηση νημάτων και υπολογισμός καθολικού ID
  • Εκτέλεση warp και μοντέλο SIMT
  • Κατοχή (Occupancy) και εκμετάλλευση πόρων

Αρχιτεκτονική Μνήμης GPU και Διαχείριση

  • Τύποι μνήμης: global, shared, constant, registers
  • Αlokίωση και απελευθέρωση μνήμης συσκευής
  • Μεταφορές host-to-device και device-to-host
  • Mνήμη shared για συνεργασία εντός block

Ενοποιημένη Μνήμη και Μετανάστευση Δεδομένων

  • Μοντέλο ενοποιημένης μνήμης και managed allocations
  • Mετάναστεση σελίδων και on-demand paging
  • Ασύγχρονη προ-μεταφόρτωση (prefetching) με cudaMemPrefetchAsync
  • Υποδείξεις μνήμης για μοτίβα πρόσβασης

Χαρτογράφηση Συστήματος με Nsight Systems

  • Ανάλυση χρονοδιαγράμματος Nsight Systems
  • Ταυτοποίηση σημείων συγχρονισμού CPU-GPU
  • Οπτικοποίηση εκτέλεσης πυρήνα και μεταφορών μνήμης
  • Ερμηνεία δεδομένων επιδόσεις συστήματος

Βελτιστοποίηση Πυρήνων με Nsight Compute

  • Διεπαρκτική χαρτογράφηση πυρήνα Nsight Compute
  • Ανάλυση απόδοσης μνήμης και εύρους ζώνης
  • Εκμετάλλευση υπολογισμών και στατιστικά κατάστασης warp
  • Οδηγούμενη ανάλυση και κανόνες βελτιστοποίησης

Ταυτόχρονες Ροές (Streams) και Ασύγχρονες Ενέργειες

  • Ροές CUDA και προεπιλεγμένη ροή (default stream)
  • Επικάλυψη εκτέλεσης πυρήνα με μεταφορές δεδομένων
  • Συγχρονισμός ροών και γεγονότα CUDA
  • Πατρότητα σχεδιασμού πολλαπλών ροών

Χειρισμός Σφαλμάτων και Εργαλεία Εντοπισμού Λαθών

  • Κώδικες σφάλματος API CUDA και στρατηγικές ανάκτησης
  • Compute-sanitizer για έλεγχο πρόσβασης μνήμης
  • cuda-gdb για εντοπισμό λαθών πυρήνα
  • Επαληθεύσεις (Assertions) και ανίχνευση συγχρονισμένων σφαλμάτων

Workflow Βελτιστοποίησης με Βάση τη Χαρτογράφηση

  • Επαναλαμβανόμενη μεθοδολογία χαρτογράφησης
  • Ταυτοποίηση και προτεραιοποίηση συγγενικών σημείων απόδοσης
  • Έλεγχος εκδόσεων για regression επιδόσεων
  • Στεκηνση αποφάσεων βελτιστοποίησης

Έργο Τελικής Εφαρμογής Επιταχυνόμενης Εφαρμογής Απ' άκρη σ' άκρη

  • Σχεδιασμός ενός πλήρους επιταχυνόμενου με GPU λύσης
  • Ενσωμάτωση χαρτογράφησης καθ' όλη τη διάρκεια της ανάπτυξης
  • Δοκιμές benchmark απόδοσης και αναφορά
  • Συμβάσεις υλοποίησης για παραγωγικό περιβάλλον

Απαιτήσεις

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

Κοινό-στόχος

  • Προγραμματιστές και μηχανικοί λογισμικού που επιθυμούν να επιταχύνουν εφαρμογές C/C++ με GPU
  • Επιστήμονες ερευνητές και επαγγελματίες HPC που μεταβαίνουν από καθαρά υπολογιστικά συστήματα CPU σε μικτή (heterogeneous) υπολογιστική υποδομή
  • Τεχνικοί ηγέτες που αξιολογούν την επιτάχυνση με GPU για φορτία εργασίας παραγωγικού περιβάλλοντος
 8 Ώρες

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


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

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

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