AVX-512
AVX-512 on x86-vektorilaajennusten perhe, jossa on opmask-rekisterit ja tuki 512-bittisille operaatioille. Sen perusta ja yksittäiset osajoukot on tarkistettava erikseen; yksi AVX-512-merkintä ei ole täydellinen yhteensopivuusmääritys.
Mitä sinun tulee tietää
AVX-512 on x86-vektorilaajennusten perhe, jossa on opmask-rekisterit ja tuki 512-bittisille operaatioille. Sen perusta ja yksittäiset osajoukot on tarkistettava erikseen; yksi AVX-512-merkintä ei ole täydellinen yhteensopivuusmääritys.
Miten se toimii
Arkkitehtuuri lisää ZMM-vektoritilan ja k-operaatiomaskirekisterit. Maskatut operaatiot voivat valita yksittäisiä kaistoja, ja niissä on käskykohtainen yhdistämis- tai nollauskäyttäytyminen. AVX512F on perusta; AVX512BW, DQ, CD ja VL kattavat erilaisia lisäominaisuuksia. AVX512VL sallii asianmukaiset operaatiot kapeammilla vektoreilla, joten AVX-512-koodi ei välttämättä käsittele 512 bittiä jokaisella käskyllä.
Missä siitä on hyötyä
Maskattu numeerinen silmukka voi käsitellä viimeisen osittaisen vektorinsa ilman erillistä skalaarihäntää, kun valitut käskyt tukevat tarvittavaa maskaussemantiikkaa. Tavutoimintoja, ristiriitojen havaitsemista tai tiettyä aritmeettista muotoa käyttävän sovelluksen on pyydettävä juuri kyseisiä osajoukkoja. AVX-512 VNNI ja AVX-VNNI käyttävät eri koodauksia ja luettelointia.
Tuen ja käyttöönoton tarkistaminen
Tarkista AVX-tarkistusten jälkeen ohjelman tarvitsemat CPUID-lehden 7 ominaisuusbitit. AVX-512-tilaa varten XCR0:n on otettava käyttöön XMM-, YMM-, opmask-, ylempi ZMM- ja korkea ZMM-tila: bitit 1, 2, 5, 6 ja 7. Yleisesti käytetty maski on E6H. Tarkista OSXSAVE ennen XGETBV-käskyä ja käytä valitsinta, joka tarkistaa jokaisen vaaditun osajoukon.
Ohjelman on sekä sisällettävä asianmukainen toteutus että valittava se suorituksen aikana. Laitteiston luettelointi, käyttöjärjestelmän käyttöönottama rekisteritila ja binaarin käännetty perustaso ovat erillisiä tarkistuksia. Virtuaalikone voi tarkoituksellisesti paljastaa vähemmän ominaisuuksia kuin sen isäntä, eikä kontti lisää käskyjä isäntäsuorittimeen.
Mitä ominaisuus ei takaa
Älä päättele jokaista AVX-512-osajoukkoa AVX512F:stä, suorittimen sukupolvinimestä tai x86-64-v4:stä. Taajuus, teho ja suoritusteho vaihtelevat toteutuksen ja kuormituksen mukaan. Pelkkä tietokantamerkintä ei voi vahvistaa, tuoko laiteohjelmisto, hybridisydänkäytäntö tai hypervisori käyttökelpoisen ominaisuuden nykyisen prosessin saataville.
Yhteensopivuus ja suorituskyky käytännössä
Mittaa koko työkuorma edustavalla datalla. Leveämmät vektorit voivat vähentää käskyjen määrää jättäen samalla muistiliikenteen, synkronoinnin tai muunnoskustannukset ennalleen. Käskyn viive, suorituskyky ja virrankulutus riippuvat tarkasta mikroarkkitehtuurista ja käyttöolosuhteista.
Käytännön tarkistuslista todentamiseen
- Kirjaa tarkka suoritin- tai alustamalli sekä kyseessä olevat sovellus-, käyttöjärjestelmä- ja ajonaikaiset versiot. Säilytä todellisen virheen tai vaatimuksen sanamuoto.
- Tarkista kyseisen tarkan mallin valmistajaviite ja tutki sitten todellinen suorituskyky ja käyttöönottotila ympäristössä, jossa ohjelma suoritetaan.
- Vertaa valitun binaarin tai taustajärjestelmän jokaista vaatimusta. Samankaltaisesti nimetty ominaisuus, alias tai laaja teknologiamerkintä ei riitä.
- Varmista, että sovellus valitsi aiotun toteutuksen. Käytä sen dokumentoitua diagnostiikkaa ja tuettua vararatkaisua, kun vaatimukset eivät täyty.
- Tee yksi tuettu muutos kerrallaan ja toista sama työkuorma. Pidä alkuperäinen kokoonpano ja palautuspolku saatavilla.
Jos ominaisuus on luettelossa, mutta ohjelmisto ei voi käyttää sitä
Aloita tarkasta vikaantuvasta komponentista. Laitteistotietokanta kuvaa tallennettua kykyä; käyttöjärjestelmä tai hypervisori voi tuoda esiin erilaisen todellisen ympäristön. Virheellisen käskyn virhe vaatii myös todellisen virheellisen käskyn ja binaarikäännöksen tutkimista, koska korruptio tai liittymätön tukematon käsky voi aiheuttaa samanlaisen oireen.
Asenna kyseiselle alustalle tuettu sovellus-, ajuri- tai ajoympäristöversio ja käytä tarvittaessa toimittajan dokumentoitua perus- tai varakäännöstä. Ohjelmistopäivitys ei voi luoda käskyä, joka suorittimelta puuttuu. Laiteohjelmisto- ja tietoturvakäytäntömuutosten tulee noudattaa järjestelmävalmistajan menettelyä ja palautussuunnitelmaa yleisen optimointiohjeen sijaan.
Tämän selityksen lähteet ja laajuus
Intel 64 and IA-32 Architectures Software Developer's Manual · Linux-ydin: XSTATE-ominaisuuksien käyttäminen käyttäjätilassa · x86-64 psABI: prosessoriarkkitehtuurin ja mikroarkkitehtuurin tasot
Nämä viitteet määrittävät arkkitehtuurisen käyttäytymisen ja ohjelmistovaatimukset. Ne eivät itsenäisesti vahvista kaikkia ominaisuusarvoja linkitetyllä laitteistomallisivulla. Mallikohtaista tukea varten käytä kyseisen sivun valmistajan todisteita ja tarkista todellinen järjestelmäkokoonpano. Tämä artikkeli ei tarjoa suorituskykytestiä, sertifiointia tai riippumatonta arviointipäivämäärää.
Lähteet ja vahvistus
Toimituksellinen omistajuus: Feex. Riippumatonta tarkistuspäivämäärää ei ole kirjattu. Miten tutkimme.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Osat 1 ja 2 kuvaavat nimetyt käskyperheet ja CPUID:n; Osa 3 kuvaa tila-, sivutus-, VMX- ja suojausohjaukset. Arkkitehtuuridokumentaatio ei vahvista tukea tietylle mallille.
- Linux-ydin: XSTATE-ominaisuuksien käyttäminen käyttäjätilassa · Käyttöjärjestelmän käyttöönottama vektoritila, dynaamisesti käyttöön otettu ruututila, signaalipinovaatimukset ja AMX-käyttöoikeuskulku. Linux-kohtainen käyttäytyminen ei ole lupaus toisesta käyttöjärjestelmästä.
- x86-64 psABI: prosessoriarkkitehtuurin ja mikroarkkitehtuurin tasot · Konerajapinta, prosessoriarkkitehtuuri: perustason ja kumulatiivinen v2/v3/v4-ominaisuustaulukko, käyttöjärjestelmätilan tarkistukset ja käyttöönottosuositukset.
Oliko tämä artikkeli hyödyllinen?
Kyllä tai ei riittää. Valitse halutessasi syy tai lisää lyhyt viesti.
Kiitos. Se auttaa meitä parantamaan tätä sivua.