Η Valve άνοιξε έναν νέο μεταγλωττιστή shader για GPU της AMD

Εταιρεία Valve προτείνεται Η λίστα αλληλογραφίας προγραμματιστών Mesa έχει έναν νέο μεταγλωττιστή shader ACO για το πρόγραμμα οδήγησης Vulkan RADV, τοποθετήσιμο ως εναλλακτική λύση στον μεταγλωττιστή shader AMDGPU που χρησιμοποιείται στα προγράμματα οδήγησης OpenGL και Vulkan RadeonSI και RADV για τσιπ γραφικών AMD.
Μόλις ολοκληρωθεί η δοκιμή και οριστικοποιηθεί η λειτουργικότητα, το ACO σχεδιάζεται να προσφερθεί για συμπερίληψη στην κύρια σύνθεση Mesa.

Ο προτεινόμενος κώδικας της Valve στοχεύει στην παροχή της παραγωγής κώδικα που είναι όσο το δυνατόν βέλτιστη για shaders εφαρμογών παιχνιδιών, καθώς και στην επίτευξη πολύ υψηλής ταχύτητας μεταγλώττισης. Ο μεταγλωττιστής shader της Mesa χρησιμοποιεί στοιχεία LLVM, τα οποία δεν παρέχουν την επιθυμητή ταχύτητα μεταγλώττισης και δεν επιτρέπουν τον πλήρη έλεγχο της ροής ελέγχου, κάτι που έχει προκαλέσει σοβαρά σφάλματα στο παρελθόν. Επιπλέον, η απομάκρυνση από το LLVM καθιστά δυνατή την εφαρμογή πιο επιθετικής ανάλυσης ασυμφωνιών και λεπτότερο έλεγχο του φορτίου καταχωρητή, που σας επιτρέπει να δημιουργείτε πιο αποτελεσματικά εκτελέσιμα.

Το ACO είναι γραμμένο σε C++, έχει σχεδιαστεί με γνώμονα τη μεταγλώττιση JIT και χρησιμοποιεί γρήγορες επαναληπτικές δομές δεδομένων, αποφεύγοντας δομές που βασίζονται σε δείκτες, όπως συνδεδεμένες λίστες και αλυσίδες απενεργοποίησης. Η ενδιάμεση αναπαράσταση κώδικα βασίζεται εξ ολοκλήρου σε SSA (Static Single Assignment) και επιτρέπει την εκχώρηση καταχωρητή με ακριβή προ-υπολογισμό του καταχωρητή ανάλογα με το shader.

Προς το παρόν, υποστηρίζονται μόνο τα pixel (fragment) και τα compute shaders σε διακριτές GPU της AMD (dGPU VI+). Ωστόσο, η ACO συλλέγει ήδη σωστά shaders για όλα τα παιχνίδια που δοκιμάστηκαν, συμπεριλαμβανομένων των σύνθετων shaders από το Shadow of the Tomb Raider και το Wolfenstein II. Το πρωτότυπο ACO που προτείνεται για δοκιμή είναι σχεδόν δύο φορές ταχύτερο από τον μεταγλωττιστή shader AMDGPU όσον αφορά την ταχύτητα μεταγλώττισης και δείχνει αύξηση του FPS σε ορισμένα παιχνίδια όταν εκτελούνται σε συστήματα με πρόγραμμα οδήγησης RADV.

Η Valve άνοιξε έναν νέο μεταγλωττιστή shader για GPU της AMD

Η Valve άνοιξε έναν νέο μεταγλωττιστή shader για GPU της AMD

Πηγή: opennet.ru

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