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
Εισαγωγή
- Τι είναι το OpenCL?
- OpenCL vs CUDA vs SYCL
- Γενικός προσανάτλαμα των χαρακτηριστικών και της αρχιτεκτονικής του OpenCL
- Καθιάρευση του περιβάλλοντος επανάληψης
Εκκίνηση
- Δημιουργία νέου προγράμματος OpenCL χρησιμοποιώντας το Visual Studio Code
- Εξερεύνηση της δομής και των αρχείων του προγράμματος
- Συνέλιξη και εκτέλεση του προγράμματος
- Εμφάνιση των αποτελεσμάτων χρησιμοποιώντας printf και fprintf
OpenCL API
- Υπόσχεση του ρόλου της API του OpenCL στο κύριο πρόγραμμα
- Χρήση της API του OpenCL για να ερευνήσετε λεπτομέρειες και δυνατότητες στοιχείων
- Χρήση της API του OpenCL για να δημιουργήσετε περιβάλλοντα, σειρές εντολών, φίλτρα, κυρίων και γεγονότων
- Χρήση της API του OpenCL για να προσθέσετε εντολές, όπως ανάγνωση, γραφή, αντιγραφή, καταχώρηση, απευθύνση, προσδιορισμός και αναμονή
- Χρήση της API του OpenCL για να διαχειρίζεστε σφάλματα και εξαίρεσης
OpenCL C
- Υπόσχεση του ρόλου του OpenCL C στο πρόγραμμα του περιβάλλοντος
- Χρήση του OpenCL C για να γράψετε κυρίων που εκτελούνται στο περιβάλλον και διευθύνουν δεδομένα
- Χρήση των είδων δεδομένων, αποδεικτών, λειτουργών και παραυξήσεων OpenCL C
- Χρήση των εμφανισμένων συναρτήσεων του OpenCL C, όπως αριθμητικό, γεωμετρικό, οριοθετικό κλπ.
- Χρήση των επιδοτήσεων και βιβλιοθηκών OpenCL C, όπως atomic, image, cl_khr_fp16 κλπ.
Πρότυπο Μνήμης OpenCL
- Υπόσχεση των διαφορών μεταξύ κύριου και περιβάλλοντος προτυπών μνήμης
- Χρήση των χώρων μνήμης OpenCL, όπως global, local, constant και private
- Χρήση των αντικειμένων μνήμης OpenCL, όπως buffers, images και pipes
- Χρήση των λειτουργιών πρόσβασης στη μνήμη OpenCL, όπως read-only, write-only, read-write κλπ.
- Χρήση του προτύπου αντισυγχρόνισης και συγχρονισμού μνήμης OpenCL
Πρότυπο Εκτέλεσης OpenCL
- Υπόσχεση των διαφορών μεταξύ κύριου και περιβάλλοντος προτυπών εκτέλεσης
- Χρήση των work-items, work-groups και ND-ranges για να ορίσετε την αριθμητικότητα
- Χρήση των λειτουργιών work-item, όπως get_global_id, get_local_id, get_group_id κλπ.
- Χρήση των λειτουργιών work-group, όπως barrier, work_group_reduce, work_group_scan κλπ.
- Χρήση των λειτουργιών device, όπως get_num_groups, get_global_size, get_local_size κλπ.
Αναδοκιμασία
- Υπόσχεση των συνηθισμένων λάθεσ με πρόβλημα στα προγράμματα OpenCL
- Χρήση του debugger Visual Studio Code για να αποκαλύψετε μεταβλητές, σημεία διακοπής, αντικειμενοσυστάδων κλπ.
- Χρήση του CodeXL για να αναδοκιμάσετε και να εξερευνήσετε προγράμματα OpenCL σε διασύνδεση με συστήματα AMD
- Χρήση του Intel VTune για να αναδοκιμάσετε και να εξερευνήσετε προγράμματα OpenCL σε διασύνδεση με συστήματα Intel
- Χρήση του NVIDIA Nsight για να αναδοκιμάσετε και να εξερευνήσετε προγράμματα OpenCL σε διασύνδεση με συστήματα NVIDIA
Περαιτέρω Σχεδιασμός
- Υπόσχεση των παράγοντων που επηρεάζουν τη δυναμική των προγραμμάτων OpenCL
- Χρήση των συνδυασμών είδους δεδομένων και αριθμητικών τεχνικών OpenCL για να βελτιώσετε τη ρύθμιση
- Χρήση των τεχνικών αποδίωσης και αποτυπώσεως γυμναστηρίου OpenCL για να μειώσετε την υπολογιστική οχήλωση και να αυξήσετε την εφαρμογή
- Χρήση της πληροφόρησης και λειτουργίας των συνδυασμών της μνήμης OpenCL για να βελτιώσετε τη πρόσβαση και τη διαφάνεια
- Χρήση των συσκευών μέτρησης και εξέτασης OpenCL για να μετρήσετε και βελτιώσετε το χρόνο εκτέλεσης και οικοδόμηση πόρων
Περίληψη και Επόμενα βήματα
Requirements
- Υπόσχεση των C/C++ γλώσσας και των εργαζομένων σε παράλληλη προγραμματισμό
- Βασική γνώση υπολογιστικής αρχιτεκτονικής και τάξης μνήμης
- Δημιουργία περιβάλλοντος ανάπτυξης που περιλαμβάνει την OpenCL SDK, ένα υποστηρίζον περιβάλλον OpenCL, και το Visual Studio Code.
Δημόσια
- Προγραμματιστές που επιθυμούν να μάθουν πώς να χρησιμοποιήσουν το OpenCL για να προγραμματίζουν ομότυπα σχεδιασμένα εξαιρετικά και να εκμεταλλεύονται την παράλληλο τους
- Προγραμματιστές που επιθυμούν να γράφουν μεταφερόμενο και αποδοτικό κώδικα που μπορεί να λειτουργεί σε διάφορα πλατφόρμες και σχεδιασμένα
- Προγραμματιστές που επιθυμούν να διερευνήσουν τα χαμηλό επίπεδο παράγωγα της ομότυπα προγραμματισμό και να βελτιώσουν την απόδοση του κώδικα τους
28 Hours