Ευχαριστούμε που στάλθηκε η αποσαφήνισή σας! Ένα μέλος της ομάδου μας θα επικοινωνήσει μαζί σας σύντομα.
Ευχαριστούμε για την εκδήλωση κράτησης! Ένας από τους συνεργάτες μας θα επικοινωνήσει μαζί σας σύντομα.
Εξέλιξη Κομματιού
Εισαγωγή
- Τι είναι το 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 για να μετρήσετε και βελτιώσετε το χρόνο εκτέλεσης και οικοδόμηση πόρων
Περίληψη και Επόμενα βήματα
Απαιτήσεις
- Υπόσχεση των C/C++ γλώσσας και των εργαζομένων σε παράλληλη προγραμματισμό
- Βασική γνώση υπολογιστικής αρχιτεκτονικής και τάξης μνήμης
- Δημιουργία περιβάλλοντος ανάπτυξης που περιλαμβάνει την OpenCL SDK, ένα υποστηρίζον περιβάλλον OpenCL, και το Visual Studio Code.
Δημόσια
- Προγραμματιστές που επιθυμούν να μάθουν πώς να χρησιμοποιήσουν το OpenCL για να προγραμματίζουν ομότυπα σχεδιασμένα εξαιρετικά και να εκμεταλλεύονται την παράλληλο τους
- Προγραμματιστές που επιθυμούν να γράφουν μεταφερόμενο και αποδοτικό κώδικα που μπορεί να λειτουργεί σε διάφορα πλατφόρμες και σχεδιασμένα
- Προγραμματιστές που επιθυμούν να διερευνήσουν τα χαμηλό επίπεδο παράγωγα της ομότυπα προγραμματισμό και να βελτιώσουν την απόδοση του κώδικα τους
28 Ώρες