Skoči na sadržaj

AVX-VNNI

Arhitekturna referencaFeex

AVX-VNNI pruža VEX-kodirane instrukcije za vektorski skalarni produkt (dot-product) koje koriste prikladne jezgre za cjelobrojno zaključivanje i obradu signala. Razlikuje se od AVX-512 VNNI i od NPU-a.

Što trebate znati

AVX-VNNI pruža VEX-kodirane instrukcije za vektorski skalarni produkt (dot-product) koje koriste prikladne jezgre za cjelobrojno zaključivanje i obradu signala. Razlikuje se od AVX-512 VNNI i od NPU-a.

Kako funkcionira

Izvorno proširenje AVX-VNNI uključuje operacije množenja i akumulacije za bajtove i riječi na 128-bitnim ili 256-bitnim vektorima. Na primjer, VPDPBUSD množi neoznačene bajtove s označenim bajtovima, zbraja grupe u dvostruke riječi i akumulira u odredište. Zasićujuće varijante imaju vlastito ponašanje pri prekoračenju. Kvantizacija i označenost moraju odgovarati odabranoj operaciji.

Gdje je korisno

Biblioteka za neuronske mreže može koristiti ove skalarne produkte za jezgru kvantizirane matrice nakon pakiranja težina i odabira odgovarajuće implementacije u vremenu izvođenja. Pretvorba podataka, mjerila, nulte točke i prijenos memorije i dalje su važni. Brži unutarnji produkt ne jamči cjelokupnu točnost modela ili latenciju aplikacije.

Kako provjeriti podršku i omogućavanje

Provjerite omogućeno stanje AVX, zatim CPUID.07H.01H:EAX bit 4 za izvorno proširenje AVX-VNNI, nakon verifikacije podržanih raspona za leaf i subleaf. Provjerite zasebne bitove za kasnije varijante. Potvrdite da je biblioteka odabrala odgovarajući VEX put umjesto AVX-512 puta.

Program mora sadržavati odgovarajuću implementaciju i odabrati je u vrijeme izvođenja. Hardversko pobrojavanje, stanje registara omogućeno u OS-u i kompilirana osnova binarne datoteke zasebne su provjere. Virtualni stroj može namjerno izložiti manje značajki od svog domaćina, a kontejner ne dodaje instrukcije CPU-u domaćina.

Što ova značajka ne utvrđuje

AVX-VNNI ne podrazumijeva AVX-512, AMX, svako kasnije proširenje VNNI ili podršku za svaki cjelobrojni tip. AVX-VNNI-INT8 i AVX-VNNI-INT16 imaju zasebnu enumeraciju značajki i ne smiju se izvoditi iz izvornog bita AVX-VNNI.

Kompatibilnost i performanse u praksi

Izmjerite cjelokupno radno opterećenje s reprezentativnim podacima. Širi vektori mogu smanjiti broj instrukcija, dok memorijski promet, sinkronizacija ili troškovi pretvorbe ostaju nepromijenjeni. Latencija instrukcija, propusnost i ponašanje potrošnje energije ovise o točnoj mikroarhitekturi i radnim uvjetima.

Praktičan kontrolni popis za provjeru

  1. Zabilježite točan model procesora ili platforme te verzije aplikacije, OS-a i izvršnog okruženja. Sačuvajte formulaciju stvarne pogreške ili zahtjeva.
  2. Provjerite proizvođačevu referencu za taj točan model, a zatim pregledajte stvarnu sposobnost i omogućeno stanje u okruženju u kojem se program izvodi.
  3. Usporedite svaki zahtjev odabrane binarne datoteke ili pozadinskog sustava. Slično nazvana značajka, pseudonim ili široka tehnološka oznaka nisu dovoljni.
  4. Potvrdite da je aplikacija odabrala predviđenu implementaciju. Koristite njezinu dokumentiranu dijagnostiku i podržanu zamjensku opciju kada zahtjevi nisu ispunjeni.
  5. Napravite jednu po jednu podržanu promjenu i ponovite isto radno opterećenje. Zadržite izvornu konfiguraciju i put oporavka dostupnima.

Ako je značajka navedena, ali je softver ne može koristiti

Počnite s točnom komponentom koja zakazuje. Hardverska baza podataka opisuje zabilježenu sposobnost; operacijski sustav ili hipervizor mogu izložiti drukčije stvarno okruženje. Pogreška nedopuštene instrukcije također zahtijeva istragu stvarne instrukcije koja uzrokuje pogrešku i binarne građe, jer oštećenje ili nepovezana nepodržana instrukcija mogu proizvesti sličan simptom.

Instalirajte verziju aplikacije, upravljačkog programa ili izvršnog okruženja podržanu za točnu platformu i upotrijebite proizvođačevu dokumentiranu osnovnu ili zamjensku građu ako je potrebno. Softversko ažuriranje ne može stvoriti instrukciju koja procesoru nedostaje. Promjene u firmwareu i sigurnosnim pravilima trebaju slijediti postupak proizvođača sustava i plan oporavka, a ne generički recept za optimizaciju.

Izvori i opseg ovog objašnjenja

Intel 64 and IA-32 Architectures Software Developer's Manual · Linux kernel: korištenje značajki XSTATE u korisničkom prostoru

Ove reference utvrđuju arhitekturno ponašanje i softverske zahtjeve. One ne verificiraju neovisno svaku vrijednost značajke na povezanoj stranici hardverskog modela. Za podršku modela upotrijebite proizvođačeve dokaze s te stranice i provjerite stvarnu konfiguraciju sustava. Ovaj članak ne pruža mjerilo performansi, certifikaciju ili datum neovisnog pregleda.

Izvori i provjera

Uredničko vlasništvo: Feex. Nije zabilježen datum neovisnog pregleda. Kako istražujemo.

Je li ovaj članak bio koristan?

Dovoljno je odgovoriti s da ili ne. Odaberite razlog ako želite ili dodajte kratku bilješku.

Je li ovaj članak bio koristan?