Preskočiť na obsah

AVX2

Architektonická referenciaFeex

AVX2 rozširuje vektorové spracovanie x86 o 256-bitové celočíselné operácie a dodatočné inštrukcie na presun údajov. Kompatibilný procesor, povolený stav AVX a softvér, ktorý skutočne vyberá kódovú vetvu AVX2, sú nevyhnutné.

Čo potrebujete vedieť

AVX2 rozširuje vektorové spracovanie x86 o 256-bitové celočíselné operácie a dodatočné inštrukcie na presun údajov. Kompatibilný procesor, povolený stav AVX a softvér, ktorý skutočne vyberá kódovú vetvu AVX2, sú nevyhnutné.

Ako to funguje

AVX2 prináša mnohé operácie so zbalenými celými číslami do 256-bitových registrov YMM a pridáva schopnosti, ako sú celočíselné operácie gather, variabilné posuny a širšie permutácie. 256-bitový celočíselný vektor môže obsahovať 32 bajtov, 16 slov, 8 dvojslov alebo 4 štvoritých slov; interpretáciu pruhov určuje inštrukcia. Niektoré operácie pôsobia nezávisle v rámci 128-bitových polovíc, takže široký register neznamená neobmedzený presun medzi všetkými pruhmi.

Kde je to užitočné

Knižnica na spracovanie obrazu môže vo vektore spracovávať 32 bajtových zložiek, zatiaľ čo jadro databázy porovnáva 8 32-bitových celých čísel. To ilustruje dátovú kapacitu, nie prisľúbené zrýchlenie. Operácie gather stále závisia od pamäťovej lokality a slučka môže zostať obmedzená výpadkami vyrovnávacej pamäte, vetveniami alebo konverziou údajov, a nie aritmetickou šírkou.

Ako overiť podporu a povolenie

Najprv vykonajte hardvérové kontroly AVX a kontroly OSXSAVE/XCR0. Následne overte, či CPUID podporuje leaf 7, a skontrolujte CPUID.07H.00H:EBX bit 5. Otestujte prostredie v reálnom hosťovskom systéme alebo v kontajneri a tam, kde je dostupné, použite podporované diagnostické rozhranie aplikácie.

Program musí obsahovať vhodnú implementáciu a zároveň ju vybrať pri spustení. Hardvérová enumerácia, stav registrov povolený operačným systémom a skompilovaný základ binárneho súboru predstavujú samostatné kontroly. Virtuálny počítač môže zámerne sprístupňovať menej funkcií než jeho hostiteľ a kontajner nepridáva inštrukcie do CPU hostiteľa.

Čo táto funkcia nezakladá

AVX2 nezahŕňa FMA ako automatický architektonický dôsledok. Samo osebe tiež nezakladá nárok na AVX-512, hardvér na akceleráciu AI ani na spôsobilosť pre x86-64-v3. Zostavenie globálne preložené pre AVX2 môže zlyhať ešte pred spustením záložného dispečera, ak inicializačný kód už obsahuje nepodporované inštrukcie.

Kompatibilita a výkon v praxi

Merajte kompletné pracovné zaťaženie s reprezentatívnymi dátami. Širšie vektory môžu znížiť počet inštrukcií, pričom pamäťová prevádzka, synchronizácia alebo náklady na konverziu zostanú nezmenené. Latencia inštrukcií, priepustnosť a spotreba energie závisia od presnej mikroarchitektúry a prevádzkových podmienok.

Praktický kontrolný zoznam na overenie

  1. Zaznamenajte presný model procesora alebo platformy a príslušné verzie aplikácie, operačného systému a runtime prostredia. Zachovajte presné znenie skutočnej chyby alebo požiadavky.
  2. Skontrolujte referenčnú dokumentáciu výrobcu pre daný presný model a potom preverte efektívnu schopnosť a povolený stav v prostredí, kde program beží.
  3. Porovnajte každú požiadavku vybraného binárneho súboru alebo backendu. Podobne pomenovaná funkcia, alias alebo široké technologické označenie nepostačujú.
  4. Uistite sa, že aplikácia vybrala zamýšľanú implementáciu. Ak požiadavky nie sú splnené, použite jej dokumentovanú diagnostiku a podporované náhradné riešenie.
  5. Vykonávajte vždy len jednu podporovanú zmenu a zopakujte rovnaké pracovné zaťaženie. Ponechajte si k dispozícii pôvodnú konfiguráciu a postup obnovy.

Ak je funkcia uvedená, ale softvér ju nemôže použiť

Začnite presne pri zlyhávajúcom komponente. Hardvérová databáza popisuje zaznamenanú schopnosť; operačný systém alebo hypervízor však môže sprístupniť iné efektívne prostredie. Chyba neplatnej inštrukcie si vyžaduje aj preskúmanie skutočnej chybujúcej inštrukcie a zostavenia binárneho súboru, pretože poškodenie alebo nesúvisiaca nepodporovaná inštrukcia môže vyvolať podobný príznak.

Nainštalujte verziu aplikácie, ovládača alebo runtime prostredia podporovanú pre presnú platformu a v prípade potreby použite dodávateľom dokumentované základné alebo záložné zostavenie. Aktualizácia softvéru nedokáže vytvoriť inštrukciu, ktorú procesor nemá. Zmeny firmvéru a bezpečnostných politík by sa mali riadiť postupom výrobcu systému a plánom obnovy, nie generickým návodom na optimalizáciu.

Zdroje a rozsah tohto vysvetlenia

Intel 64 and IA-32 Architectures Software Developer's Manual · Jadro Linuxu: používanie funkcií XSTATE v používateľskom priestore · x86-64 psABI: úrovne architektúry a mikroarchitektúry procesora

Tieto referencie definujú architektonické správanie a softvérové požiadavky. Neoverujú nezávisle každú hodnotu funkcie na prepojenej stránke hardvérového modelu. Podporu modelu nájdete v podkladoch od výrobcu na danej stránke a skontrolujte efektívnu konfiguráciu systému. Tento článok neposkytuje dátum benchmarku, certifikácie ani nezávislej recenzie.

Zdroje a overenie

Redakčné vlastníctvo: Feex. Nie je zaznamenaný žiadny dátum nezávislej kontroly. Ako robíme výskum.

Bol tento článok užitočný?

Stačí áno alebo nie. Ak chcete, vyberte dôvod, alebo pridajte krátku poznámku.

Bol tento článok užitočný?