FMA and FMA3
Quhet gjithashtu FMA, FMA3
FMA llogarit një shumëzim dhe mbledhje me pikë notuese me një rrumbullakim të vetëm përfundimtar. FMA3 i referohet familjes së instruksioneve x86 me tre operandë të shkrirë për shumëzim-mbledhje; ajo numërohet veçmas nga AVX2.
Çfarë duhet të dini
FMA llogarit një shumëzim dhe mbledhje me pikë notuese me një rrumbullakim të vetëm përfundimtar. FMA3 i referohet familjes së instruksioneve x86 me tre operandë të shkrirë për shumëzim-mbledhje; ajo numërohet veçmas nga AVX2.
Si funksionon
Një operacion i shkrirë vlerëson një prodhim dhe shumë si një operacion të vetëm aritmetik përpara rrumbullakimit në formatin e destinacionit. Kjo mund të ruajë një kontribut që do të humbiste nëse shumëzimi do të rrumbullakosej i pari. Format e instruksioneve 132, 213 dhe 231 zgjedhin se cilët operandë ofrojnë prodhimin, mbledhësin dhe destinacionin e mbishkruar. Format skalare dhe të paketuara kanë sjellje të ndryshme korsie.
Ku është e dobishme
Vlerësimi polinomik, shumëzimi i matricave dhe filtrat dixhitalë mund të përdorin FMA për të kombinuar operacionet aritmetike. Rezultati i shkrirë mund të ndryshojë nga një program që përdor qëllimisht dy operacione të ndara. Parametrat e tkurrjes së përpiluesit dhe kërkesat e riprodhueshmërisë numerike kanë rëndësi po aq sa disponueshmëria e instruksioneve.
Si të kontrollohet mbështetja dhe aktivizimi
Për instruksionet VEX FMA3, kontrolloni bitin 12 të CPUID.01H:ECX së bashku me kontrollet e plota të gjendjes së OS-it për AVX. Nëse përdorni forma EVEX, kontrolloni nënbashkësitë dhe gjendjen shtesë të AVX-512 të kërkuara nga ato forma. Shqyrtoni flamujt e përpiluesit kur rezultatet numerike ndryshojnë pas një rindërtimi.
Programi duhet të përmbajë një implementim të përshtatshëm dhe ta zgjedhë atë gjatë ekzekutimit. Numërimi i harduerit, gjendja e regjistrave e aktivizuar nga OS-i dhe baza e kompiluar e binarit janë kontrolle të veçanta. Një makinë virtuale mund të ekspozojë qëllimisht më pak veçori sesa strehuesi i saj, dhe një kontejner nuk shton instruksione në CPU-në strehuese.
Çfarë nuk përcakton kjo veçori
FMA nuk nënkupton që çdo shprehje me pikë notuese vlerësohet me saktësi shtesë, dhe nuk garanton rezultate identike përgjatë parametrave të ndryshëm të përpiluesit. FMA4 është një familje tjetër instruksionesh. As AVX dhe as AVX2 vetëm nuk provojnë mbështetjen për FMA3.
Përputhshmëria dhe performanca në praktikë
Matni ngarkesën e plotë të punës me të dhëna përfaqësuese. Vektorët më të gjerë mund të zvogëlojnë numrin e instruksioneve duke lënë të pandryshuar trafikun e memories, sinkronizimin ose kostot e konvertimit. Vonesa e instruksioneve, xhiroja dhe sjellja e energjisë varen nga mikroarkitektura e saktë dhe kushtet e funksionimit.
Një listë praktike kontrolli për verifikim
- Regjistroni modelin e saktë të procesorit ose platformës dhe versionet e përfshira të aplikacionit, sistemit operativ dhe mjedisit të ekzekutimit. Ruani formulimin e gabimit ose kërkesës aktuale.
- Kontrolloni referencën e prodhuesit për atë model të saktë, më pas inspektoni aftësinë efektive dhe gjendjen e aktivizuar në mjedisin ku ekzekutohet programi.
- Krahasoni çdo kërkesë të binarit ose prapavijës së zgjedhur. Një veçori me emër të ngjashëm, një pseudonim ose një etiketë e gjerë teknologjike nuk mjafton.
- Konfirmoni që aplikacioni ka zgjedhur implementimin e synuar. Përdorni diagnostikimet e dokumentuara të tij dhe një alternativë të mbështetur kur kërkesat nuk plotësohen.
- Bëni një ndryshim të mbështetur në një moment dhe përsëritni të njëjtën ngarkesë pune. Mbajeni të disponueshme konfigurimin origjinal dhe rrugën e rikuperimit.
Nëse veçoria listohet por softueri nuk mund ta përdorë atë
Filloni me komponentin e saktë që dështon. Një bazë të dhënash harduerike përshkruan aftësinë e regjistruar; sistemi operativ ose hipervizori mund të ekspozojë një mjedis efektiv të ndryshëm. Një gabim instruksioni të paligjshëm kërkon gjithashtu hetim të instruksionit aktual me defekt dhe të ndërtimit të binarit, sepse dëmtimi ose një instruksion i palidhur i pambështetur mund të prodhojë një simptomë të ngjashme.
Instaloni versionin e aplikacionit, drajverit ose mjedisit të ekzekutimit të mbështetur për platformën e saktë, dhe përdorni versionin bazë ose alternativ të dokumentuar nga prodhuesi nëse është e nevojshme. Një përditësim softueri nuk mund të krijojë një instruksion që procesorit i mungon. Ndryshimet në firmware dhe politikat e sigurisë duhet të ndjekin procedurën e prodhuesit të sistemit dhe një plan rikuperimi në vend të një recete të përgjithshme optimizimi.
Burimet dhe fusha e këtij shpjegimi
Intel 64 and IA-32 Architectures Software Developer's Manual · Bërthama Linux: përdorimi i veçorive XSTATE në hapësirën e përdoruesit
Këto referenca përcaktojnë sjelljen arkitekturore dhe kërkesat e softuerit. Ato nuk verifikojnë në mënyrë të pavarur çdo vlerë të veçorive në faqen e lidhur të modelit të harduerit. Për mbështetjen e modelit, përdorni dëshmitë e prodhuesit në atë faqe dhe kontrolloni konfigurimin efektiv të sistemit. Ky artikull nuk ofron një test standard vlerësimi, certifikim ose datë shqyrtimi të pavarur.
Burimet dhe verifikimi
Pronësia editoriale: Feex. Nuk është regjistruar asnjë datë shqyrtimi të pavarur. Si hulumtojmë.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Vëllimet 1 dhe 2 përshkruajnë familjet e emërtuara të instruksioneve dhe CPUID; Vëllimi 3 përshkruan gjendjen, faqosjen, VMX dhe kontrollet e mbrojtjes. Dokumentacioni i arkitekturës nuk përcakton mbështetjen për një model të caktuar.
- Bërthama Linux: përdorimi i veçorive XSTATE në hapësirën e përdoruesit · Gjendja vektoriale e aktivizuar nga OS-i, gjendja e pllakave e aktivizuar dinamikisht, kërkesat e stivës së sinjaleve dhe rrjedha e lejeve AMX. Sjellja specifike e Linux-it nuk është një premtim për një sistem tjetër operativ.
A ishte i dobishëm ky artikull?
Një po ose jo mjafton. Zgjidhni një arsye nëse dëshironi, ose shtoni një shënim të shkurtër.
Faleminderit. Kjo na ndihmon ta përmirësojmë këtë faqe.