x86-64-v4
Το x86-64-v4 είναι το επίπεδο δυνατοτήτων psABI που προσθέτει ένα καθορισμένο υποσύνολο AVX-512 στο x86-64-v3. Απαιτεί ενεργοποιημένη διανυσματική κατάσταση και δεν περιλαμβάνει κάθε επέκταση που φέρει το όνομα AVX-512.
Τι πρέπει να γνωρίζετε
Το x86-64-v4 είναι το επίπεδο δυνατοτήτων psABI που προσθέτει ένα καθορισμένο υποσύνολο AVX-512 στο x86-64-v3. Απαιτεί ενεργοποιημένη διανυσματική κατάσταση και δεν περιλαμβάνει κάθε επέκταση που φέρει το όνομα AVX-512.
Πώς λειτουργεί
Το επίπεδο προσθέτει τα AVX512F, AVX512BW, AVX512CD, AVX512DQ και AVX512VL σε όλες τις απαιτήσεις του v3. Η διανυσματική κατάσταση που απαιτείται από αυτές τις δυνατότητες πρέπει να είναι πλήρως ενεργοποιημένη, συμπεριλαμβανομένων των πρόσθετων στοιχείων κατάστασης του AVX-512. Ένα μοντέλο CPU με μερικώς εκτεθειμένο AVX-512 δεν επαρκεί.
Πού είναι χρήσιμο
Μια παραλλαγή v4 μιας βιβλιοθήκης μπορεί να χρησιμοποιεί το καθορισμένο υποσύνολο διατηρώντας παράλληλα μια έκδοση βάσης ή v3 για άλλα μηχανήματα. Ένα πρόγραμμα που χρειάζεται επιπλέον VNNI, BF16 ή άλλη επέκταση πρέπει να την εντοπίζει ξεχωριστά, ακόμη και μετά την εξακρίβωση του v4.
Πώς να ελέγξετε την υποστήριξη και την ενεργοποίηση
Επικυρώστε όλες τις απαιτήσεις του psABI και τους ελέγχους XCR0 για το AVX-512 σύμφωνα με το SDM. Χρησιμοποιήστε το πραγματικό σύνολο δυνατοτήτων που είναι ορατό στη διεργασία, ιδιαίτερα σε εικονικές μηχανές ή συστήματα με έκθεση δυνατοτήτων που εξαρτάται από πολιτικές.
Η δυνατότητα του υλικού, το ενεργό περιβάλλον λειτουργίας και οι δυαδικές απαιτήσεις μιας εφαρμογής αποτελούν διαφορετικά επίπεδα. Τα ονόματα αρχιτεκτονικής και τα επίπεδα ABI θα πρέπει να ερμηνεύονται ως ρητές συμβάσεις παρά ως ένας γενικός κανόνας ότι το νεότερο είναι συμβατό.
Τι δεν καθορίζει η δυνατότητα
Μια γενική σημαία AVX-512 δεν αποτελεί απόδειξη του v4, και το v4 δεν αποτελεί υπόσχεση ότι κάθε εφαρμογή θα υπερτερεί σε απόδοση έναντι της έκδοσής της για v3. Το AMX και μεταγενέστερες επεκτάσεις AVX-512 βρίσκονται εκτός αυτού του επιπέδου, εκτός εάν απαιτούνται ξεχωριστά.
Συμβατότητα και απόδοση στην πράξη
Ελέγξτε τις πλήρεις κληρονομημένες απαιτήσεις και το πραγματικό περιβάλλον που είναι ορατό στη διεργασία. Για ένα VM, ελέγξτε τον φιλοξενούμενο αντί να υποθέτετε ότι το μοντέλο του κεντρικού υπολογιστή εκτίθεται αμετάβλητο. Μια υποστηριζόμενη εφεδρική έκδοση (fallback build) θα πρέπει να δηλώνει με σαφήνεια τη δική της βάση.
Μια πρακτική λίστα ελέγχου επαλήθευσης
- Καταγράψτε το ακριβές μοντέλο επεξεργαστή ή πλατφόρμας και τις εμπλεκόμενες εκδόσεις εφαρμογής, λειτουργικού συστήματος και περιβάλλοντος εκτέλεσης (runtime). Διατηρήστε τη διατύπωση του πραγματικού σφάλματος ή της απαίτησης.
- Ελέγξτε τις αναφορές του κατασκευαστή για το συγκεκριμένο μοντέλο και, στη συνέχεια, εξετάστε την πραγματική δυνατότητα και την ενεργοποιημένη κατάσταση στο περιβάλλον όπου εκτελείται το πρόγραμμα.
- Συγκρίνετε κάθε απαίτηση του επιλεγμένου εκτελέσιμου αρχείου (binary) ή του backend. Μια δυνατότητα με παρόμοιο όνομα, ένα ψευδώνυμο ή μια ευρεία ετικέτα τεχνολογίας δεν επαρκεί.
- Επιβεβαιώστε ότι η εφαρμογή επέλεξε την προβλεπόμενη υλοποίηση. Χρησιμοποιήστε τα τεκμηριωμένα διαγνωστικά της και μια υποστηριζόμενη εναλλακτική λύση (fallback) όταν δεν πληρούνται οι απαιτήσεις.
- Κάντε μία υποστηριζόμενη αλλαγή τη φορά και επαναλάβετε τον ίδιο φόρτο εργασίας. Διατηρήστε διαθέσιμη την αρχική διαμόρφωση και τη διαδρομή επαναφοράς.
Εάν η δυνατότητα αναφέρεται αλλά το λογισμικό δεν μπορεί να τη χρησιμοποιήσει
Ξεκινήστε με το ακριβές στοιχείο που αποτυγχάνει. Μια βάση δεδομένων υλικού περιγράφει την καταγεγραμμένη δυνατότητα· το λειτουργικό σύστημα ή ο hypervisor μπορεί να εκθέσει ένα διαφορετικό πραγματικό περιβάλλον. Ένα σφάλμα μη έγκυρης εντολής (illegal-instruction error) απαιτεί επίσης διερεύνηση της πραγματικής εντολής που προκάλεσε το σφάλμα και της έκδοσης του εκτελέσιμου (binary build), καθώς η αλλοίωση δεδομένων ή μια άσχετη μη υποστηριζόμενη εντολή μπορεί να προκαλέσει παρόμοιο σύμπτωμα.
Εγκαταστήστε την έκδοση της εφαρμογής, του προγράμματος οδήγησης ή του περιβάλλοντος εκτέλεσης που υποστηρίζεται για την ακριβή πλατφόρμα και χρησιμοποιήστε τη βασική γραμμή (baseline) ή την εναλλακτική έκδοση (fallback build) που τεκμηριώνει ο κατασκευαστής, εάν χρειάζεται. Μια ενημέρωση λογισμικού δεν μπορεί να δημιουργήσει μια εντολή που λείπει από τον επεξεργαστή. Οι αλλαγές στο υλικολογισμικό (firmware) και στην πολιτική ασφαλείας θα πρέπει να ακολουθούν τη διαδικασία του κατασκευαστή του συστήματος και ένα σχέδιο επαναφοράς και όχι μια γενική συνταγή βελτιστοποίησης.
Πηγές και πεδίο εφαρμογής αυτής της επεξήγησης
x86-64 psABI: επίπεδα αρχιτεκτονικής και μικροαρχιτεκτονικής επεξεργαστή · Intel 64 and IA-32 Architectures Software Developer's Manual · Πυρήνας Linux: χρήση δυνατοτήτων XSTATE στον χώρο χρήστη
Αυτές οι αναφορές καθορίζουν την αρχιτεκτονική συμπεριφορά και τις απαιτήσεις λογισμικού. Δεν επαληθεύουν ανεξάρτητα κάθε τιμή δυνατότητας σε μια συνδεδεμένη σελίδα μοντέλου υλικού. Για την υποστήριξη του μοντέλου, χρησιμοποιήστε τα στοιχεία τεκμηρίωσης του κατασκευαστή αυτής της σελίδας και ελέγξτε την πραγματική διαμόρφωση του συστήματος. Αυτό το άρθρο δεν παρέχει ημερομηνία δοκιμής επιδόσεων (benchmark), πιστοποίησης ή ανεξάρτητης αξιολόγησης.
Πηγές και επαλήθευση
Συντακτική ιδιοκτησία: Feex. Δεν έχει καταγραφεί ημερομηνία ανεξάρτητης αναθεώρησης. Πώς ερευνούμε.
- x86-64 psABI: επίπεδα αρχιτεκτονικής και μικροαρχιτεκτονικής επεξεργαστή · Διεπαφή μηχανής, Αρχιτεκτονική επεξεργαστή: πίνακας βασικών και σωρευτικών δυνατοτήτων v2/v3/v4, έλεγχοι κατάστασης λειτουργικού συστήματος και συστάσεις ανάπτυξης.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Οι τόμοι 1 και 2 περιγράφουν τις κατονομαζόμενες οικογένειες εντολών και το CPUID· ο τόμος 3 περιγράφει την κατάσταση, τη σελιδοποίηση, το VMX και τους ελέγχους προστασίας. Η τεκμηρίωση αρχιτεκτονικής δεν καθορίζει την υποστήριξη για ένα συγκεκριμένο μοντέλο.
- Πυρήνας Linux: χρήση δυνατοτήτων XSTATE στον χώρο χρήστη · Κατάσταση διανύσματος ενεργοποιημένη από το λειτουργικό σύστημα, δυναμικά ενεργοποιημένη κατάσταση πλακιδίων, απαιτήσεις στοίβας σημάτων και ροή δικαιωμάτων AMX. Η συμπεριφορά που αφορά ειδικά το Linux δεν αποτελεί υπόσχεση για άλλο λειτουργικό σύστημα.
Ήταν χρήσιμο αυτό το άρθρο;
Ένα ναι ή όχι είναι αρκετό. Επιλέξτε έναν λόγο εάν θέλετε ή προσθέστε μια σύντομη σημείωση.
Ευχαριστούμε. Αυτό μας βοηθά να βελτιώσουμε αυτή τη σελίδα.