Μετάβαση στο περιεχόμενο

AMX, Advanced Matrix Extensions

Αναφορά αρχιτεκτονικήςFeex

Αναφέρεται επίσης ως AMX, AMX (Advanced Matrix Extensions)

Το Intel AMX προσθέτει δυνατότητες υπολογισμού πινάκων βασισμένες σε πλακίδια (tile-based) στο x86. Το AMX-TILE και οι αριθμητικές επεκτάσεις έχουν ξεχωριστά bit δυνατοτήτων, και το λειτουργικό σύστημα πρέπει να διαχειρίζεται τη σημαντική κατάσταση πλακιδίων.

Τι πρέπει να γνωρίζετε

Το Intel AMX προσθέτει δυνατότητες υπολογισμού πινάκων βασισμένες σε πλακίδια (tile-based) στο x86. Το AMX-TILE και οι αριθμητικές επεκτάσεις έχουν ξεχωριστά bit δυνατοτήτων, και το λειτουργικό σύστημα πρέπει να διαχειρίζεται τη σημαντική κατάσταση πλακιδίων.

Πώς λειτουργεί

Το AMX χρησιμοποιεί διαμορφωμένους δισδιάστατους καταχωρητές πλακιδίων (tile registers) αντί για συνηθισμένα διανύσματα YMM/ZMM. Η διαμόρφωση πλακιδίων περιγράφει τα ενεργά σχήματα, ενώ οι αριθμητικές επεκτάσεις όπως το AMX-INT8 ή το AMX-BF16 ορίζουν συγκεκριμένες λειτουργίες πινάκων και αριθμητικές μορφές. Το λογισμικό πακετάρει δεδομένα και επιλέγει έγκυρα σχήματα εντός των απαριθμημένων ορίων παλέτας.

Πού είναι χρήσιμο

Μια βιβλιοθήκη πινάκων μπορεί να μετατρέψει έναν υποστηριζόμενο πυρήνα σε φορτώσεις πλακιδίων, λειτουργίες εσωτερικού γινομένου και αποθηκεύσεις πλακιδίων. Το κόστος πακεταρίσματος, οι διαστάσεις του πίνακα και η τοπικότητα της κρυφής μνήμης (cache locality) μπορούν να κυριαρχήσουν σε μικρούς ή ακανόνιστους φόρτους εργασίας. Το υλικό πλακιδίων δεν καθιστά κάθε τελεστή νευρωνικού δικτύου κατάλληλο για επιτάχυνση.

Πώς να ελέγξετε την υποστήριξη και την ενεργοποίηση

Ελέγξτε το AMX-TILE και κάθε απαιτούμενη αριθμητική επέκταση στο φύλλο CPUID 7, απαριθμήστε τα όρια πλακιδίων και επιβεβαιώστε την ενεργοποιημένη από το λειτουργικό σύστημα κατάσταση. Στο Linux, οι εφαρμογές που χρησιμοποιούν δυναμικά δεδομένα πλακιδίων πρέπει να ακολουθούν την τεκμηριωμένη ροή ARCH_REQ_XCOMP_PERM· η υποστήριξη και τα bit XCR0 από μόνα τους δεν επαρκούν.

Η διαθεσιμότητα υλικού είναι μόνο το πρώτο βήμα. Το πρόγραμμα οδήγησης, το περιβάλλον εκτέλεσης, ο πάροχος εκτέλεσης, οι υποστηριζόμενοι τελεστές και η αριθμητική μορφή πρέπει να ταιριάζουν με την εφαρμογή. Ελέγξτε την πραγματική επιλογή backend και την εναλλακτική λύση (fallback) αντί να υποθέτετε ότι μια ετικέτα AI σημαίνει πως κάθε μοντέλο επιταχύνεται.

Τι δεν καθορίζει η δυνατότητα

Το AMX δεν σημαίνει AVX-512, μια γενική NPU ή κάθε αριθμητική μορφή AMX. Ένα bit CPU μόνο του δεν παρέχει δικαιώματα διεργασίας ούτε επαρκή κατάσταση στοίβας σημάτων (signal-stack state). Μη υποστηριζόμενα σχήματα πλακιδίων ή έλλειψη αδειών από το λειτουργικό σύστημα μπορούν να προκαλέσουν σφάλμα ακόμη και σε ένα μηχάνημα με δυνατότητα AMX.

Συμβατότητα και απόδοση στην πράξη

Συγκρίνετε πλήρεις φόρτους εργασίας υπό καθορισμένες συνθήκες, συμπεριλαμβανομένης της μεταγλώττισης, των μεταφορών και των μη υποστηριζόμενων τελεστών. Οι μέγιστες πράξεις ανά δευτερόλεπτο εξαρτώνται από την ακρίβεια και τις παραδοχές υπολογισμού. Δεν υποκαθιστούν τη μετρούμενη καθυστέρηση (latency), τη διακίνηση (throughput), την ενέργεια ή την ακρίβεια του μοντέλου.

Μια πρακτική λίστα ελέγχου επαλήθευσης

  1. Καταγράψτε το ακριβές μοντέλο επεξεργαστή ή πλατφόρμας και τις εμπλεκόμενες εκδόσεις εφαρμογής, λειτουργικού συστήματος και περιβάλλοντος εκτέλεσης (runtime). Διατηρήστε τη διατύπωση του πραγματικού σφάλματος ή της απαίτησης.
  2. Ελέγξτε τις αναφορές του κατασκευαστή για το συγκεκριμένο μοντέλο και, στη συνέχεια, εξετάστε την πραγματική δυνατότητα και την ενεργοποιημένη κατάσταση στο περιβάλλον όπου εκτελείται το πρόγραμμα.
  3. Συγκρίνετε κάθε απαίτηση του επιλεγμένου εκτελέσιμου αρχείου (binary) ή του backend. Μια δυνατότητα με παρόμοιο όνομα, ένα ψευδώνυμο ή μια ευρεία ετικέτα τεχνολογίας δεν επαρκεί.
  4. Επιβεβαιώστε ότι η εφαρμογή επέλεξε την προβλεπόμενη υλοποίηση. Χρησιμοποιήστε τα τεκμηριωμένα διαγνωστικά της και μια υποστηριζόμενη εναλλακτική λύση (fallback) όταν δεν πληρούνται οι απαιτήσεις.
  5. Κάντε μία υποστηριζόμενη αλλαγή τη φορά και επαναλάβετε τον ίδιο φόρτο εργασίας. Διατηρήστε διαθέσιμη την αρχική διαμόρφωση και τη διαδρομή επαναφοράς.

Εάν η δυνατότητα αναφέρεται αλλά το λογισμικό δεν μπορεί να τη χρησιμοποιήσει

Ξεκινήστε με το ακριβές στοιχείο που αποτυγχάνει. Μια βάση δεδομένων υλικού περιγράφει την καταγεγραμμένη δυνατότητα· το λειτουργικό σύστημα ή ο hypervisor μπορεί να εκθέσει ένα διαφορετικό πραγματικό περιβάλλον. Ένα σφάλμα μη έγκυρης εντολής (illegal-instruction error) απαιτεί επίσης διερεύνηση της πραγματικής εντολής που προκάλεσε το σφάλμα και της έκδοσης του εκτελέσιμου (binary build), καθώς η αλλοίωση δεδομένων ή μια άσχετη μη υποστηριζόμενη εντολή μπορεί να προκαλέσει παρόμοιο σύμπτωμα.

Εγκαταστήστε την έκδοση της εφαρμογής, του προγράμματος οδήγησης ή του περιβάλλοντος εκτέλεσης που υποστηρίζεται για την ακριβή πλατφόρμα και χρησιμοποιήστε τη βασική γραμμή (baseline) ή την εναλλακτική έκδοση (fallback build) που τεκμηριώνει ο κατασκευαστής, εάν χρειάζεται. Μια ενημέρωση λογισμικού δεν μπορεί να δημιουργήσει μια εντολή που λείπει από τον επεξεργαστή. Οι αλλαγές στο υλικολογισμικό (firmware) και στην πολιτική ασφαλείας θα πρέπει να ακολουθούν τη διαδικασία του κατασκευαστή του συστήματος και ένα σχέδιο επαναφοράς και όχι μια γενική συνταγή βελτιστοποίησης.

Πηγές και πεδίο εφαρμογής αυτής της επεξήγησης

Intel 64 and IA-32 Architectures Software Developer's Manual · Πυρήνας Linux: χρήση δυνατοτήτων XSTATE στον χώρο χρήστη

Αυτές οι αναφορές καθορίζουν την αρχιτεκτονική συμπεριφορά και τις απαιτήσεις λογισμικού. Δεν επαληθεύουν ανεξάρτητα κάθε τιμή δυνατότητας σε μια συνδεδεμένη σελίδα μοντέλου υλικού. Για την υποστήριξη του μοντέλου, χρησιμοποιήστε τα στοιχεία τεκμηρίωσης του κατασκευαστή αυτής της σελίδας και ελέγξτε την πραγματική διαμόρφωση του συστήματος. Αυτό το άρθρο δεν παρέχει ημερομηνία δοκιμής επιδόσεων (benchmark), πιστοποίησης ή ανεξάρτητης αξιολόγησης.

Πηγές και επαλήθευση

Συντακτική ιδιοκτησία: Feex. Δεν έχει καταγραφεί ημερομηνία ανεξάρτητης αναθεώρησης. Πώς ερευνούμε.

  • Intel 64 and IA-32 Architectures Software Developer's Manual · Οι τόμοι 1 και 2 περιγράφουν τις κατονομαζόμενες οικογένειες εντολών και το CPUID· ο τόμος 3 περιγράφει την κατάσταση, τη σελιδοποίηση, το VMX και τους ελέγχους προστασίας. Η τεκμηρίωση αρχιτεκτονικής δεν καθορίζει την υποστήριξη για ένα συγκεκριμένο μοντέλο.
  • Πυρήνας Linux: χρήση δυνατοτήτων XSTATE στον χώρο χρήστη · Κατάσταση διανύσματος ενεργοποιημένη από το λειτουργικό σύστημα, δυναμικά ενεργοποιημένη κατάσταση πλακιδίων, απαιτήσεις στοίβας σημάτων και ροή δικαιωμάτων AMX. Η συμπεριφορά που αφορά ειδικά το Linux δεν αποτελεί υπόσχεση για άλλο λειτουργικό σύστημα.

Ήταν χρήσιμο αυτό το άρθρο;

Ένα ναι ή όχι είναι αρκετό. Επιλέξτε έναν λόγο εάν θέλετε ή προσθέστε μια σύντομη σημείωση.

Ήταν χρήσιμο αυτό το άρθρο;