Οι τελικές προδιαγραφές του OpenCL 3.0 έχουν ήδη κυκλοφορήσει

Πριν από μερικούς μήνες μοιραστήκαμε εδώ στο blog τα νέα του την κυκλοφορία της ανάπτυξης του OpenCL 3.0 από Ανησυχία Χρόνος (Υπεύθυνος για την ανάπτυξη προδιαγραφών για την οικογένεια OpenGL, Vulkan και OpenCL).

Και ήταν μέχρι πρόσφατα αυτό Ανακοινώθηκε η έκδοση των τελικών προδιαγραφών OpenCL 3.0, τον καθορισμό API και επεκτάσεων της γλώσσας C για την οργάνωση παράλληλων υπολογιστών πολλαπλών μορφών με χρήση πολλαπλών πυρήνων CPU, GPU, FPGAs, DSP και άλλων εξειδικευμένων τσιπ από αυτά που χρησιμοποιούνται σε υπερυπολογιστές και διακομιστές cloud σε τσιπ που μπορούν να βρεθούν σε κινητές συσκευές και ολοκληρωμένη τεχνολογία.

Ταυτόχρονα, κυκλοφόρησε ένα OpenCL SDK ανοιχτού κώδικα με εργαλεία, παραδείγματα, τεκμηρίωση, αρχεία κεφαλίδας, συνδέσμους για βιβλιοθήκες C ++ και C για την ανάπτυξη εφαρμογών συμβατών με OpenCL 3.0.

Παρουσιάζεται επίσης η αρχική εφαρμογή του OpenCL 3.0 με βάση τον μεταγλωττιστή Clang, που βρίσκεται στο στάδιο αξιολόγησης από ομοτίμους για συμπερίληψη στο κύριο πακέτο LLVM. Εταιρείες όπως οι IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments και Toshiba έχουν συνεισφέρει στο πρότυπο.

Σήμερα, η Ομάδα Εργασίας Khronos® OpenCL ™ είναι στην ευχάριστη θέση να ανακοινώσει την κυκλοφορία των τελικών προδιαγραφών OpenCL 3.0, συμπεριλαμβανομένης μιας νέας ενοποιημένης προδιαγραφής γλώσσας OpenCL C 3.0, μαζί με μια πρώιμη αρχική έκδοση ενός SDK Khronos OpenCL για να επιτρέψουν στους προγραμματιστές να σηκωθούν γρήγορα επιταχύνετε με το OpenCL.

Κύρια χαρακτηριστικά του OpenCL 3.0

OpenCL 3.0 API τώρα καλύπτει όλες τις εκδόσεις του OpenCL (1.2, 2.x), χωρίς να παρέχετε ξεχωριστές προδιαγραφές για κάθε έκδοση.

Το OpenCL 3.0 προσφέρει τη δυνατότητα επέκτασης της βασικής λειτουργικότητας ενσωματώνοντας πρόσθετες προδιαγραφές που θα αλληλεπικαλύπτονται με τη μορφή επιλογών χωρίς να εμποδίζεται η μονολιθική φύση του OpenCL 1.2 / 2.X.

Μόνο λειτουργικότητα που συμμορφώνεται με Το OpenCL 1.2 δηλώνεται υποχρεωτικό, και όλα τα χαρακτηριστικά που προτείνονται στο Οι προδιαγραφές OpenCL 2.x ονομάζονται προαιρετικές.

Αυτή η προσέγγιση θα απλοποιήσει τη δημιουργία εξειδικευμένων εφαρμογών που είναι συμβατές με το OpenCL 3.0 και θα επεκτείνει το εύρος των συσκευών στις οποίες μπορεί να χρησιμοποιηθεί το OpenCL 3.0.

Π.χ. Οι κατασκευαστές μπορούν να εφαρμόσουν υποστήριξη για OpenCL 3.0 χωρίς να εφαρμόσουν συγκεκριμένες δυνατότητες OpenCL 2.x. Για να αποκτήσετε πρόσβαση σε προαιρετικές λειτουργίες γλώσσας, ένα σύστημα αιτήματος δοκιμής έχει προστεθεί στο OpenCL 3.0 για την αξιολόγηση της υποστήριξης για μεμονωμένα στοιχεία API, καθώς και ειδικές μακροεντολές.

Η ενοποίηση με προηγουμένως εκδοθείσες προδιαγραφές διευκολύνει τη μετάφραση εφαρμογών στο OpenCL 3.0. Οι εφαρμογές OpenCL 1.2 θα μπορούν να εκτελούνται σε συσκευές που υποστηρίζουν OpenCL 3.0 χωρίς τροποποίηση.

Εφαρμογές Το OpenCL 2.x επίσης δεν απαιτεί αλλαγές κώδικα, αλλά αν το περιβάλλον OpenCL 3.0 παρέχει την απαραίτητη λειτουργικότητα (για μελλοντική φορητότητα, οι εφαρμογές OpenCL 2.x ενθαρρύνονται να προσθέσουν δοκιμαστικά ερωτήματα για την αξιολόγηση της συμβατότητας με τις λειτουργίες OpenCL 2.x που χρησιμοποιούνται).

Οι προγραμματιστές προγραμμάτων οδήγησης με εφαρμογές OpenCL μπορούν εύκολα να αναβαθμίσουν τα προϊόντα τους σε OpenCL 3.0 προσθέτοντας μόνο επεξεργασία αιτημάτων για συγκεκριμένες κλήσεις API και αυξάνοντας σταδιακά τη λειτουργικότητα με την πάροδο του χρόνου.

Η προδιαγραφή OpenCL 3.0 έχει ευθυγραμμιστεί με το περιβάλλον, τις επεκτάσεις και τις προδιαγραφές του γενικού ενδιάμεσου SPIR-V, το οποίο χρησιμοποιείται επίσης στο Vulkan API. Η υποστήριξη για την προδιαγραφή SPIR-V 1.3 περιλαμβάνεται στο κύριο OpenCL 3.0 ως προαιρετικό χαρακτηριστικό. Η υποστήριξη για λειτουργίες με υποομάδες έχει προστεθεί χρησιμοποιώντας την ενδιάμεση αναπαράσταση SPIR-V για υπολογιστικούς πυρήνες.

εκτός αυτού πρόσθεσε υποστήριξη για μια επέκταση για την εκτέλεση λειτουργιών DMA Ασύγχρονο υποστηρίζεται σε μάρκες DMA τύπου DSP.

Το ασύγχρονο DMA επιτρέπει τη χρήση συναλλαγών DMA για τη μεταφορά δεδομένων μεταξύ παγκόσμιας και τοπικής μνήμης ασύγχρονα, παράλληλα με τους τρέχοντες υπολογισμούς ή άλλες μεταφορές δεδομένων.

Η προδιαγραφή παράλληλων επεκτάσεων προγραμματισμού για τη γλώσσα Το C έχει ενημερωθεί στην έκδοση 3.0 και η ανάπτυξη των επεκτάσεων γλώσσας OpenCL για C ++ διακόπτεται υπέρ του έργου "C ++ για OpenCL".

Για να μεταφράσετε το OpenCL μέσω του API Vulkan, προτείνεται ο μεταγλωττιστής clspv, που μετατρέπει τους πυρήνες OpenCL σε αναπαράσταση Vulkan SPIR-V και το επίπεδο clvk για να διασφαλίσει ότι το OpenCL API λειτουργεί πάνω από το Vulkan.

πηγή: https://www.khronos.org/


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: AB Internet Networks 2008 SL
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.