FMA i FMA3
Takođe se naziva FMA, FMA3
FMA izračunava množenje i sabiranje sa pomičnim zarezom uz jedno završno zaokruživanje. FMA3 se odnosi na x86 porodicu instrukcija spojenog množenja i sabiranja sa tri operanda; zasebno se popisuje u odnosu na AVX2.
Šta treba da znate
FMA izračunava množenje i sabiranje sa pomičnim zarezom uz jedno završno zaokruživanje. FMA3 se odnosi na x86 porodicu instrukcija spojenog množenja i sabiranja sa tri operanda; zasebno se popisuje u odnosu na AVX2.
Kako funkcioniše
Spojena operacija evaluira proizvod i zbir kao jednu aritmetičku operaciju prije zaokruživanja na ciljni format. Ovo može sačuvati doprinos koji bi bio izgubljen kada bi se množenje prvo zaokružilo. Forme instrukcija 132, 213 i 231 biraju koji operandi obezbjeđuju proizvod, sabirak i prepisano odredište. Skalarni i pakovani oblici imaju različito ponašanje po linijama (lanes).
Đe je korisno
Izračunavanje polinoma, množenje matrica i digitalni filteri mogu koristiti FMA za kombinovanje aritmetičkih operacija. Spojeni rezultat može se razlikovati u odnosu na program koji namjerno koristi dvije odvojene operacije. Zbog toga su podešavanja kontrakcije u prevodiocu i zahtjevi za numeričkom ponovljivošću podjednako važni kao i dostupnost instrukcija.
Kako provjeriti podršku i omogućenost
Za VEX FMA3 instrukcije provjerite CPUID.01H:ECX bit 12 zajedno sa kompletnim provjerama AVX stanja operativnog sistema. Ako koristite EVEX oblike, provjerite dodatne AVX-512 podskupove i stanje koje ti oblici zahtijevaju. Provjerite zastavice prevodioca kada se numerički rezultati promijene nakon ponovnog prevoda.
Program mora i sadržati odgovarajuću implementaciju i odabrati je tokom izvršavanja. Pobrojavanje hardvera, stanje registara omogućeno u OS-u i kompajlirana osnova binarnog koda su zasebne provjere. Virtuelna mašina može namjerno izložiti manje funkcija od svog domaćina, a kontejner ne dodaje instrukcije procesoru domaćina.
Šta ova funkcija ne utvrđuje
FMA ne znači da se svaki izraz sa pomičnim zarezom računa sa dodatnom tačnošću i ne garantuje identične rezultate pri različitim podešavanjima prevodioca. FMA4 je drugačija porodica instrukcija. Ni AVX ni AVX2 sami po sebi ne dokazuju podršku za FMA3.
Kompatibilnost i performanse u praksi
Izmjerite kompletno radno opterećenje sa reprezentativnim podacima. Širi vektori mogu smanjiti broj instrukcija dok memorijski saobraćaj, sinhronizacija ili troškovi konverzije ostaju nepromijenjeni. Kašnjenje instrukcija, protok i ponašanje potrošnje energije zavise od tačne mikroarhitekture i uslova rada.
Praktična lista za provjeru verifikacije
- Zabilježite tačan model procesora ili platforme, kao i verzije aplikacije, OS-a i runtime-a koji se koriste. Sačuvajte formulaciju stvarne greške ili zahtjeva.
- Provjerite referencu proizvođača za taj tačan model, a zatim pregledajte efektivnu sposobnost i omogućeno stanje u okruženju đe se program izvršava.
- Uporedite svaki zahtjev odabranog binarnog koda ili backend-a. Funkcija sličnog naziva, alias ili široka tehnološka oznaka nijesu dovoljni.
- Potvrdite da je aplikacija odabrala predviđenu implementaciju. Koristite njenu dokumentovanu dijagnostiku i podržanu rezervnu varijantu kada zahtjevi nijesu ispunjeni.
- Napravite po jednu podržanu promjenu u isto vrijeme i ponovite isto radno opterećenje. Držite originalnu konfiguraciju i putanju oporavka dostupnima.
Ako je funkcija navedena, ali je softver ne može koristiti
Počnite sa tačnom komponentom koja otkazuje. Baza podataka hardvera opisuje zabilježenu sposobnost; operativni sistem ili hipervizor mogu izložiti drugačije efektivno okruženje. Greška nelegalne instrukcije takođe zahtijeva istragu stvarne instrukcije koja je izazvala kvar i binarne verzije, jer oštećenje ili nepovezana nepodržana instrukcija mogu proizvesti sličan simptom.
Instalirajte verziju aplikacije, drajvera ili runtime-a podržanu za tačnu platformu i koristite dokumentovanu osnovnu ili rezervnu verziju proizvođača ako je potrebno. Ažuriranje softvera ne može stvoriti instrukciju koja procesoru nedostaje. Promjene firmvera i bezbjednosnih politika treba da prate proceduru proizvođača sistema i plan oporavka, a ne generički recept za optimizaciju.
Izvori i obim ovog objašnjenja
Intel 64 and IA-32 Architectures Software Developer's Manual · Linux kernel: using XSTATE features in user space
Ove reference utvrđuju arhitekturno ponašanje i softverske zahtjeve. One ne verifikuju nezavisno svaku vrijednost funkcije na povezanoj stranici hardverskog modela. Za podršku modela, koristite dokaze proizvođača sa te stranice i provjerite efektivnu konfiguraciju sistema. Ovaj članak ne pruža benčmark, sertifikaciju niti datum nezavisnog pregleda.
Izvori i verifikacija
Uredničko vlasništvo: Feex. Nije zabilježen datum nezavisne recenzije. Kako istražujemo.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Tomovi 1 i 2 opisuju imenovane familije instrukcija i CPUID; Tom 3 opisuje stanje, straničenje, VMX i kontrole zaštite. Dokumentacija o arhitekturi ne utvrđuje podršku za određeni model.
- Linux kernel: using XSTATE features in user space · Vektorsko stanje omogućeno u OS-u, dinamički omogućeno stanje pločica, zahtjevi za stekom signala i tok dozvola za AMX. Ponašanje specifično za Linux nije obećanje o drugom OS-u.
Da li je ovaj članak bio koristan?
Dovoljno je da označite sa da ili ne. Izaberite razlog ako želite, ili dodajte kratku napomenu.
Hvala. To nam pomaže da poboljšamo ovu stranicu.