Η εφαρμογή OpenCL της Mesa γραμμένη σε σκουριά έχει ήδη περάσει τις δοκιμές CTS

Η νέα εφαρμογή από OpenCL (ρουστίκ) αναπτύχθηκε για το έργο Mesa, γραμμένο στο Rust, έχει περάσει επιτυχώς τα τεστ CTS (Kronos Conformance Test Suite) που χρησιμοποιείται από την κοινοπραξία Khronos για τη δοκιμή της συμβατότητας με τις προδιαγραφές OpenCL 3.0.

Για όσους δεν γνωρίζουν το «Rusticl» θα πρέπει να γνωρίζουν ότι έχει δημοσιευτεί ως μια νέα υλοποίηση του Mesa OpenCL γραμμένη γλώσσα προγραμματισμού Σκουριά.

ρουστίκ ξεκίνησε από τον γνωστό συνεργάτη της Mesa Karol Herbst της Red Hat που ξεκίνησε ως μηχανικός στο πρόγραμμα οδήγησης ανοιχτού κώδικα "Nouveau" της NVIDIA ενώ ήταν στο Red Hat, και εργάστηκε στην υποστήριξη πληροφορικής της Mesa Clover και σε άλλες προσπάθειες. Το Rusticl είναι μια προσπάθεια της Herbst να μάθει τη γλώσσα προγραμματισμού Rust και επίσης να προσφέρει μια νέα (και ελπίζουμε ανώτερη) υλοποίηση του OpenCL.

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

ρουστίκ βασίζεται στο clc για να μεταγλωττίσει τον πηγαίο κώδικα OpenCL στο SPIR-V. Το Rusticl εξαρτάται επίσης από τα προγράμματα οδήγησης Mesa Gallium3D που είναι συμβατά με το NIR, αλλά όλα τα μεγάλα προγράμματα οδήγησης το κάνουν ήδη. Θα πρέπει να σημειωθεί ότι η Carol επικοινώνησε με την Khronos για να λάβει επίσημη πιστοποίηση συμβατότητας OpenCL 3.0 στο rusticl.

Και τώρα, η rusticl πέρασε με επιτυχία τη σουίτα δοκιμής συμμόρφωσης Kronos για να αξιολογήσει τη συμβατότητα με τις προδιαγραφές OpenCL 3.0, όπως ανακοίνωσε ο Neil Trevett στο Twitter:

Η Khronos είναι περήφανη που έχει παραιτηθεί από όλα τα τέλη υιοθεσίας MESA όλα αυτά τα χρόνια και πολλές εφαρμογές MESA είναι επίσημα συμβατές. Υπέροχο που το OpenCL 3.0 από τη MESA περνάει CTS! Ενημερώστε μας όταν η MESA είναι έτοιμη να εκτελέσει τη Συμφωνία υιοθέτησης OCL 3.0 και μπορούμε να ξεκινήσουμε τη διαδικασία…

Η δοκιμή έγινε σε σύστημα με GPU Intel 12ης γενιάς build (Alder Lake), με το οποίο έγινε η εργασία με το πρόγραμμα οδήγησης Iris Mesa, αλλά αναφέρεται ότι το έργο θα πρέπει να συνεργαστεί με άλλα προγράμματα οδήγησης Mesa που χρησιμοποιούν την μη τυποποιημένη ενδιάμεση αναπαράσταση (IR) των shaders NIR.

Το Rusticl λειτουργεί ως αντίστοιχο της διεπαφής OpenCL Clover της Mesa και αναπτύσσεται επίσης χρησιμοποιώντας τη διεπαφή Gallium της Mesa. Το Clover βρίσκεται σε κατάσταση παραμέλησης για μεγάλο χρονικό διάστημα και το ρουστίκ τοποθετείται ως μελλοντικός αντικαταστάτης του. Εκτός από την επίτευξη συμβατότητας OpenCL 3.0, το έργο Rusticl διαφέρει από το Clover στο ότι υποστηρίζει επεκτάσεις OpenCL για επεξεργασία εικόνας, αλλά δεν υποστηρίζει ακόμη τη μορφή FP16.

Το Rusticl χρησιμοποιεί rust-bindgen για τη δημιουργία συνδέσεων για το Mesa και το OpenCL που επιτρέπουν την κλήση των συναρτήσεων Rust από τον κώδικα C και αντίστροφα.

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

Μεταξύ των ελλείψεων, υπάρχει μια επιπλοκή του συστήματος κατασκευής, η απροθυμία σύνδεσης με το σύστημα πακέτων ωφέλιμου φορτίου, η αύξηση των απαιτήσεων για το περιβάλλον κατασκευής και η ανάγκη συμπερίληψης του μεταγλωττιστή Rust στις παρεχόμενες εξαρτήσεις κατασκευής. για τη δημιουργία βασικών στοιχείων επιφάνειας εργασίας στο Linux.

Τέλος, αναφέρεται ότι το αίτημα συγχώνευσης του Rusticl με το Mesa εκκρεμεί ακόμη και δεν έχει ληφθεί ακόμη απόφαση για τη συμπερίληψη του κώδικα γλώσσας Rust στο Mesa, αλλά αναμένεται να φτάσει στην κυκλοφορία του Mesa 22.2

Αυτός είναι ο λόγος για τον οποίο πριν γίνει αποδεκτό το Rusticl στην κύρια σύνθεση Mesa, μπορεί να χρησιμοποιηθεί ένας ξεχωριστός κλάδος για τη δημιουργία, κατά τη μεταγλώττιση, πρέπει να καθορίσετε τις παραμέτρους κατασκευής "-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader -cache=true -Dllvm =αλήθεια».

Αν είστε ενδιαφέρεται να μάθει περισσότερα για αυτό σχετικά με αυτή τη νέα προδιαγραφή, μπορείτε να ελέγξετε τις λεπτομέρειες Στον ακόλουθο σύνδεσμο.


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

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

*

*

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