Siirry sisältöön

AVX2

ArkkitehtuuriviiteFeex

AVX2 laajentaa x86-vektorinkäsittelyä 256-bittisillä kokonaislukuoperaatioilla ja lisätyillä tiedonsiirtokäskyillä. Yhteensopiva suoritin, käyttöön otettu AVX-tila ja ohjelmisto, joka todella valitsee AVX2-koodipolun, ovat kaikki välttämättömiä.

Mitä sinun tulee tietää

AVX2 laajentaa x86-vektorinkäsittelyä 256-bittisillä kokonaislukuoperaatioilla ja lisätyillä tiedonsiirtokäskyillä. Yhteensopiva suoritin, käyttöön otettu AVX-tila ja ohjelmisto, joka todella valitsee AVX2-koodipolun, ovat kaikki välttämättömiä.

Miten se toimii

AVX2 tuo useita pakattuja kokonaislukuoperaatioita 256-bittisiin YMM-rekistereihin ja lisää ominaisuuksia, kuten kokonaislukujen poimintoja (gather), muuttuvia siirtoja ja laajempia permutaatioita. 256-bittinen kokonaislukuvektori voi sisältää 32 tavua, 16 sanaa, 8 kaksoissanaa tai 4 neloisanaa; käsky määrää kaistan tulkinnan. Jotkin operaatiot toimivat itsenäisesti 128-bittisten puolikkaiden sisällä, joten leveä rekisteri ei tarkoita rajoittamatonta siirtoa jokaisen kaistan välillä.

Missä siitä on hyötyä

Kuvankäsittelykirjasto voi käsitellä vektorissa 32 tavukomponenttia, kun taas tietokantaydin vertaa 8:aa 32-bittistä kokonaislukua. Tämä havainnollistaa datakapasiteettia, ei luvattua nopeutusta. Poiminnat riippuvat edelleen muistin lokaalisuudesta, ja silmukka voi pysyä välimuistihuti-, haarauma- tai datamuunnosrajoitteisena aritmeettisen leveyden sijaan.

Tuen ja käyttöönoton tarkistaminen

Suorita ensin AVX-laitteiston ja OSXSAVE/XCR0-tilojen tarkistukset. Varmista sitten, että CPUID tukee lehteä 7, ja tarkista CPUID.07H.00H:EBX-bitti 5. Testaa todellisessa vieras- tai konttiympäristössä ja käytä sovelluksen tuettua diagnostiikkarajapintaa, jos sellainen on käytettävissä.

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

AVX2 ei sisällä FMA-tukea automaattisena arkkitehtuurisena seurauksena. Se ei myöskään yksinään takaa AVX-512-tukea, tekoälykiihdytinlaitteistoa tai x86-64-v3-kelpoisuutta. Globaalisti AVX2:lle käännetty koontiversio voi kaatua ennen varajärjestelmän valitsimen suorittamista, jos alustuskoodi sisältää jo ei-tuettuja käskyjä.

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

  1. Kirjaa tarkka suoritin- tai alustamalli sekä kyseessä olevat sovellus-, käyttöjärjestelmä- ja ajonaikaiset versiot. Säilytä todellisen virheen tai vaatimuksen sanamuoto.
  2. Tarkista kyseisen tarkan mallin valmistajaviite ja tutki sitten todellinen suorituskyky ja käyttöönottotila ympäristössä, jossa ohjelma suoritetaan.
  3. Vertaa valitun binaarin tai taustajärjestelmän jokaista vaatimusta. Samankaltaisesti nimetty ominaisuus, alias tai laaja teknologiamerkintä ei riitä.
  4. Varmista, että sovellus valitsi aiotun toteutuksen. Käytä sen dokumentoitua diagnostiikkaa ja tuettua vararatkaisua, kun vaatimukset eivät täyty.
  5. 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.

Oliko tämä artikkeli hyödyllinen?

Kyllä tai ei riittää. Valitse halutessasi syy tai lisää lyhyt viesti.

Oliko tämä artikkeli hyödyllinen?