Το ανοιχτό πρόγραμμα οδήγησης της Rusticl είναι πιστοποιημένο συμβατό με το OpenCL 3.0

Οι προγραμματιστές του έργου Mesa ανακοίνωσαν την πιστοποίηση από τον οργανισμό Khronos του προγράμματος οδήγησης rusticl, το οποίο έχει περάσει επιτυχώς όλες τις δοκιμές από το σετ CTS (Kronos Conformance Test Suite) και αναγνωρίζεται ως πλήρως συμβατό με την προδιαγραφή OpenCL 3.0, η οποία ορίζει τα API και επεκτάσεις της γλώσσας C για την οργάνωση παράλληλων υπολογιστών μεταξύ πλατφορμών. Η απόκτηση πιστοποιητικού σάς επιτρέπει να δηλώσετε επίσημα τη συμμόρφωση με τα πρότυπα και να χρησιμοποιήσετε τα σχετικά εμπορικά σήματα Khronos. Η δοκιμή πραγματοποιήθηκε σε ένα σύστημα με ενσωματωμένες GPU Intel 12 γενιάς χρησιμοποιώντας το πρόγραμμα οδήγησης Gallium3D Iris.

Το πρόγραμμα οδήγησης είναι γραμμένο στο Rust και αναπτύχθηκε από τον Karol Herbst από την Red Hat, ο οποίος συμμετέχει στην ανάπτυξη του Mesa, του Nouveau driver και του OpenCL open stack. Το Rusticle λειτουργεί ως ανάλογο του OpenCL Frontend Clover της Mesa και αναπτύσσεται επίσης χρησιμοποιώντας τη διεπαφή Gallium που παρέχεται στο Mesa. Το τριφύλλι έχει εγκαταλειφθεί εδώ και πολύ καιρό και το ρουστίκ τοποθετείται ως μελλοντικός αντικαταστάτης του. Εκτός από την επίτευξη συμβατότητας OpenCL 3.0, το έργο Rusticle διαφέρει από το Clover ως προς την υποστήριξη επεκτάσεων OpenCL για επεξεργασία εικόνας, αλλά δεν υποστηρίζει ακόμη τη μορφή FP16. Για να δημιουργήσετε συνδέσμους για το Mesa και το OpenCL, επιτρέποντάς σας να καλέσετε συναρτήσεις Rust από τον κώδικα C και αντίστροφα, το rust-bindgen χρησιμοποιείται στο Rusticle.

Ο κώδικας υποστήριξης γλώσσας Rust και το πρόγραμμα οδήγησης rusticl έχουν γίνει δεκτά στο mainstream της Mesa και θα προσφερθούν στην κυκλοφορία του Mesa 22.3, που αναμένεται στα τέλη Νοεμβρίου. Η υποστήριξη Rust και rusticl θα απενεργοποιηθεί από προεπιλογή και θα απαιτήσει μια κατασκευή με τις επιλογές "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021" να καθορίζονται ρητά. Κατά την κατασκευή, θα χρειαστείτε τον μεταγλωττιστή rustc, τη γεννήτρια σύνδεσης bindgen, τα LLVM, SPIRV-Tools και SPIRV-LLVM-Translator ως πρόσθετες εξαρτήσεις.

Η δυνατότητα χρήσης της γλώσσας Rust στο έργο Mesa συζητείται από το 2020. Μεταξύ των πλεονεκτημάτων της υποστήριξης Rust, αναφέρεται η αυξημένη ασφάλεια και ποιότητα των προγραμμάτων οδήγησης λόγω της απαλλαγής από τυπικά προβλήματα κατά την εργασία με μνήμη, καθώς και η δυνατότητα να συμπεριληφθούν εξελίξεις τρίτων στο Mesa, όπως το Kazan (εφαρμογή του Vulkan στη Σκουριά). Τα μειονεκτήματα περιλαμβάνουν αυξημένη πολυπλοκότητα του συστήματος κατασκευής, απροθυμία σύνδεσης με το σύστημα πακέτων φορτίου, διευρυμένες απαιτήσεις για το περιβάλλον κατασκευής και την ανάγκη συμπερίληψης του μεταγλωττιστή Rust στις εξαρτήσεις κατασκευής που απαιτούνται για τη δημιουργία βασικών στοιχείων επιφάνειας εργασίας στο Linux.

Επιπλέον, μπορούμε να σημειώσουμε την εργασία για την ανάπτυξη του οδηγού Nouveau, που πραγματοποιήθηκε επίσης από την Carol Herbst. Το πρόγραμμα οδήγησης Nouveau έχει προσθέσει τη βασική υποστήριξη OpenGL για το GNU NVIDIA GeForce RTX 30xx με βάση τη μικροαρχιτεκτονική Ampere, που κυκλοφόρησε από τον Μάιο του 2020. Οι αλλαγές που σχετίζονται με την υποστήριξη νέων τσιπ θα συμπεριληφθούν στον πυρήνα του Linux 6.2 και στο Mesa 22.3.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο