της Microsoft Shader Model 6.10 και AgilitySDK 1.720 είναι πλέον διαθέσιμα σε προεπισκόπηση, επεκτείνοντας το DX12 API με ολοκαίνουργια χαρακτηριστικά.
Η σημερινή κυκλοφορία επεκτείνεται στην προηγούμενη έκδοση των Shader Model 6.9, DXR 1.2 και άλλων βελτιώσεων, που ήταν μέρος του AgilitySDK 1.619. Με την κυκλοφορία της προεπισκόπησης AgilitySDK 1.720, το Shader Model 6.10 και πολλές άλλες δυνατότητες που αναφέρονται παρακάτω προστίθενται στο DX12 API:
- Shader Model 6.10 (μέσω DXC 1.10.2605.2):
- linalg::Matrix
- Ομαδικός δείκτης κυμάτων
- Κοινόχρηστη μνήμη μεταβλητής ομάδας
- Εγγενή στοιχεία ανίχνευσης ακτίνων
- TriangleObjectPositions
- ClusterID
inalg::Matrix
Το Shader Model 6.10 εισάγει ένα σύνολο Matrix API που καλύπτουν ένα ευρύ φάσμα περιπτώσεων χρήσης. Συλλογικά, το χαρακτηριστικό ονομάζεται LinAlg (συντομογραφία για τη Γραμμική Άλγεβρα). Με τη σημερινή ανακοίνωση, η Microsoft δίνει τη δυνατότητα στους προγραμματιστές να οδηγούν αποτελεσματικά τις τεχνικές νευρωνικής απόδοσης απευθείας από μεμονωμένα νήματα shader σε αγωγούς γραφικών σε πραγματικό χρόνο και να χρησιμοποιούν λειτουργίες MMA matrix υψηλότερου εύρους ζώνης για εφαρμογές ML και επεξεργασίας εικόνας, όλα σε ένα μοναδικό συνδυασμένο API.
Ομαδικός δείκτης κυμάτων
Το Shader Model 6.10 εισάγει δύο νέα εγγενή στοιχεία, το GetGroupWaveIndex() και το GetGroupWaveCount(), που παρέχουν στους υπολογιστές, το πλέγμα, την ενίσχυση και τους σκιαδιστές κόμβων άμεση γνώση της δομής σε επίπεδο κύματος μέσα σε μια ομάδα νημάτων. Η GetGroupWaveIndex() επιστρέφει τον δείκτη του τρέχοντος κύματος (0 έως N-1) και η GetGroupWaveCount() επιστρέφει τον συνολικό αριθμό των κυμάτων που εκτελούν την ομάδα. Αυτά επιτρέπουν την εξειδίκευση και τη συνεργασία σε επίπεδο κύματος χωρίς να βασίζονται σε μη ασφαλείς λύσεις, όπως η διαίρεση του SV_GroupIndex με το WaveGetLaneCount(), το οποίο δεν είναι εγγυημένο ότι είναι σωστό σε όλο το υλικό. Μια μοναδική διαδρομή κώδικα λειτουργεί πλέον φορητά σε όλα τα μεγέθη κυμάτων.
Κοινόχρηστη μνήμη μεταβλητής ομάδας
Το Shader Model 6.10 σηκώνει το μακροχρόνιο όριο των 32 KB (28 KB για shaders πλέγματος) στην ομαδική κοινόχρηστη μνήμη αποκαλύπτοντας το πραγματικό όριο υλικού μέσω ενός νέου ερωτήματος χρόνου εκτέλεσης, του MaxGroupSharedMemoryPerGroup. Οι συντάκτες Shader μπορούν να χρησιμοποιήσουν ένα νέο [GroupSharedLimit(
Χαρακτηριστικά D3D12:
Μαζικά API λίστας ασύγχρονων εντολών
Η κληρονομιά του D3D12 CopyBufferRegion, ClearUnorderedAccessViewFloat/Uint, ResolveSubresourceκαι παρόμοιες εντολές όλες εκτελούνται αυστηρά σε σειρά επειδή το παλιό ResourceBarrier Το μοντέλο δεν έχει τρόπο να εκφράσει μια εξάρτηση μεταξύ δύο λειτουργιών του ίδιου τύπου (π.χ., copy-dest σε copy-dest). Αυτό σημαίνει ότι η GPU σταματά μεταξύ κάθε διαδοχικής αντιγραφής ή διαγραφής, ακόμη και όταν οι λειτουργίες αγγίζουν την εντελώς ανεξάρτητη μνήμη. Η λειτουργία Batched Async Commands αντιμετωπίζει αυτό το πρόβλημα, εισάγοντας νέες μεθόδους λίστας εντολών που καταργούν το έμμεσο συμβόλαιο σειριοποίησης, επιτρέποντας στο πρόγραμμα οδήγησης και το υλικό να επικαλύπτουν ανεξάρτητη εργασία σε μία μόνο δέσμη κλήσης. Οι προγραμματιστές επιλέγουν τον ρητό συγχρονισμό χρησιμοποιώντας βελτιωμένα εμπόδια μόνο όπου υπάρχουν πραγματικοί κίνδυνοι δεδομένων – όπως όταν γράφουν δύο αντίγραφα σε επικαλυπτόμενες περιοχές του ίδιου buffer – και όλα τα άλλα εκτελούνται ταυτόχρονα.
Όλοι οι μεγάλοι προμηθευτές υλικού, συμπεριλαμβανομένων των NVIDIA, AMD και Intel, προσφέρουν υποστήριξη για αυτές τις νέες εκδόσεις προεπισκόπησης:
Όσον αφορά την υποστήριξη υλικού, η NVIDIA υποστηρίζει τις περισσότερες από τις δυνατότητες σε ολόκληρη τη στοίβα GPU RTX, ενώ η AMD και η Intel διατηρούν την υποστήριξη για ορισμένες λειτουργίες στο πιο πρόσφατο υλικό τους, όπως το Arc B-Series και το RDNA 4 (Radeon RX 9000). Το Group Wave Index υποστηρίζεται επί του παρόντος και στις δύο GPU RX 7000 (RDNA 3) και RX 9000 (RDNA 4), ενώ για την NVIDIA, σχεδιάζεται να κυκλοφορήσει σε μια επερχόμενη έκδοση. Η Intel θα προσθέσει επίσης τη νέα υποστήριξη Linear Algebra API σε μελλοντική έκδοση.
| AMD | Intel | NVIDIA | |
| linAlg::Matrix | Υποστηρίζεται σε προϊόντα γραφικών της σειράς AMD Radeon RX 9000. | Σχεδιάστηκε για μια επερχόμενη κυκλοφορία. | Υποστηρίζεται σε όλο το υλικό RTX. |
| Ομαδικός δείκτης κυμάτων | Υποστηρίζεται σε προϊόντα γραφικών της σειράς AMD Radeon RX 7000 και 9000. | Υποστηρίζεται σε γραφικά Intel Arc B-Series. | Σχεδιάστηκε για μια επερχόμενη κυκλοφορία. |
| Κοινόχρηστη μνήμη μεταβλητής ομάδας | Υποστηρίζεται σε προϊόντα γραφικών της σειράς AMD Radeon RX 7000 και 9000. Υποστηρίζει μόνο το προεπιλεγμένο μέγεθος ορίου μνήμης. Σχεδιάζονται υψηλότερα όρια μεγέθους για μελλοντικές εκδόσεις προγραμμάτων οδήγησης. | Υποστηρίζεται σε γραφικά Intel Arc B-Series. | Υποστηρίζεται σε όλο το υλικό RTX. Οι τιμές διαφέρουν μεταξύ του υλικού. |
| Intrinsics Raytracing: TriangleObjectPositions/ClusterID | Υποστηρίζεται σε προϊόντα γραφικών της σειράς AMD Radeon RX 7000 και 9000. | Υποστηρίζεται σε γραφικά Intel Arc B-Series. | Υποστηρίζεται σε όλο το υλικό RTX. |
| Μαζικά API λίστας ασύγχρονων εντολών | Υποστηρίζεται σε προϊόντα γραφικών της σειράς AMD Radeon RX 7000 και 9000. | Υποστηρίζεται σε γραφικά Intel Arc B-Series. | Υποστηρίζεται σε όλο το υλικό RTX. |
Ακολουθώ Wccftech στο Google για να λαμβάνετε περισσότερες από τις ειδήσεις μας στις ροές δεδομένων σας.
VIA: wccftech.com



