F16C
Az F16C x86-os átalakításokat biztosít a félpontosságú és az egyszeres pontosságú lebegőpontos ábrázolások között. Átalakítási utasításokat kínál, nem pedig általános célú félpontosságú aritmetikai motort.
Amit tudni érdemes
Az F16C x86-os átalakításokat biztosít a félpontosságú és az egyszeres pontosságú lebegőpontos ábrázolások között. Átalakítási utasításokat kínál, nem pedig általános célú félpontosságú aritmetikai motort.
Hogyan működik
A VCVTPH2PS a félpontosságú értékeket egyszeres pontosságúvá terjeszti ki; a VCVTPS2PH az egyszeres pontosságú értékeket félpontosságúvá alakítja az utasítás kerekítési vezérlői szerint. A 16 bites ábrázolás elemenként kevesebb tárhelyet használ, mint a 32 bites ábrázolás, de a tartománya és a pontossága is eltérő. A speciális értékek átalakítási viselkedése és a kerekítés az utasítás specifikációját követi.
Ahol hasznos
Egy program képes egy nagy tömböt félpontosságban tárolni, az értékeket kiterjeszteni a számításokhoz, majd az eredményeket visszaalakítani a tároláshoz. Hogy ez segít-e, az az átalakítási költségtől, a gyorsítótár viselkedésétől és az elfogadható hibahatártól függ. Az ismételt átalakítások semmissé tehetik a memóriasávszélességből származó előnyt.
A támogatás és az engedélyezés ellenőrzése
Ellenőrizze a CPUID.01H:ECX 29. bitjét és az AVX operációsrendszer-állapotra vonatkozó követelményeit. Győződjön meg arról, hogy a szoftver F16C átalakítást igényel, nem pedig egy későbbi FP16 aritmetikai kiterjesztést. Biztosítson támogatott tartalék megoldást (fallback) azon processzorok vagy vendégek számára, amelyek nem teszik elérhetővé.
A programnak tartalmaznia kell a megfelelő implementációt, és futásidőben ki is kell választania azt. A hardveres lekérdezés, az operációs rendszer által engedélyezett regiszterállapot és a bináris fordítási alapja különálló ellenőrzéseket jelentenek. Egy virtuális gép szándékosan kevesebb funkciót tehet elérhetővé, mint a gazdagépe, és a konténer nem ad hozzá új utasításokat a gazdagép processzorához.
Amit a funkció nem biztosít
Az F16C nem azonos az AVX-512 FP16 vagy BF16 kiterjesztésekkel, és nem jelent natív félpontosságú összeadó, szorzó vagy mátrixutasításokat sem. Az F16C megléte nem igazolja egy modell numerikus pontosságát kvantálás vagy átalakítás után.
Kompatibilitás és teljesítmény a gyakorlatban
A teljes munkaterhelést reprezentatív adatokkal mérje fel. A szélesebb vektorok csökkenthetik az utasítások számát, miközben a memóriaforgalom, a szinkronizálás vagy az átalakítás költségei változatlanok maradhatnak. Az utasítás-késleltetés, az átviteli sebesség és a fogyasztási viselkedés a pontos mikroarchitektúrától és a működési körülményektől függ.
Gyakorlati ellenőrzőlista
- Rögzítse az érintett processzor vagy platform pontos modelljét, valamint az alkalmazás, az operációs rendszer és a futtatókörnyezet verzióját. Őrizze meg a tényleges hiba vagy követelmény pontos szövegezését.
- Ellenőrizze az adott modellhez tartozó gyártói referenciát, majd vizsgálja meg a tényleges képességet és az engedélyezett állapotot abban a környezetben, ahol a program fut.
- Vesse össze a kiválasztott bináris vagy háttérrendszer minden követelményét. Egy hasonló elnevezésű funkció, álnév vagy tág technológiai címke nem elegendő.
- Győződjön meg arról, hogy az alkalmazás a kívánt implementációt választotta ki. Használja annak dokumentált diagnosztikai eszközeit és egy támogatott tartalék megoldást, ha a követelmények nem teljesülnek.
- Egyszerre csak egy támogatott módosítást hajtson végre, és ismételje meg ugyanazt a munkaterhelést. Tartsa elérhetően az eredeti konfigurációt és a helyreállítási útvonalat.
Ha a funkció szerepel a listán, de a szoftver nem tudja használni
Kezdje a hibát jelző pontos komponenssel. A hardveradatbázis a rögzített képességet írja le; az operációs rendszer vagy a hipervizor ettől eltérő tényleges környezetet tehet elérhetővé. Az érvénytelen utasítás miatti hiba (illegal-instruction) esetén a ténylegesen hibát okozó utasítást és a bináris összeállítást is vizsgálni kell, mivel az adatsérülés vagy egy nem kapcsolódó, nem támogatott utasítás is hasonló tünetet produkálhat.
Telepítse az adott platformhoz támogatott alkalmazás-, illesztőprogram- vagy futtatókörnyezet-verziót, és szükség esetén használja a gyártó által dokumentált alapértelmezett vagy tartalék változatot. Egy szoftverfrissítés nem hozhat létre olyan utasítást, amellyel a processzor nem rendelkezik. A firmware- és biztonságipolitika-módosítások során a rendszer gyártójának eljárását és egy helyreállítási tervet kell követni egy általános optimalizálási recept helyett.
A magyarázat forrásai és hatóköre
Intel 64 and IA-32 Architectures Software Developer's Manual · Linux kernel: XSTATE funkciók használata a felhasználói térben
Ezek a hivatkozások az architekturális viselkedést és a szoftverkövetelményeket határozzák meg. Nem ellenőrzik függetlenül a hivatkozott hardvermodell oldalán található összes funkcióértéket. A modell támogatásához használja az adott oldal gyártói bizonyítékait, és ellenőrizze a tényleges rendszerkonfigurációt. Ez a cikk nem tartalmaz teljesítménytesztet, tanúsítást vagy független felülvizsgálati dátumot.
Források és ellenőrzés
Szerkesztői jogtulajdonos: Feex. Független felülvizsgálati dátum nincs rögzítve. Hogyan kutatunk.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Az 1. és 2. kötet a megnevezett utasításcsaládokat és a CPUID-t ismerteti; a 3. kötet az állapot-, lapozás-, VMX- és védelmi vezérlőket tárgyalja. Az architektúra-dokumentáció nem igazolja egy adott modell támogatását.
- Linux kernel: XSTATE funkciók használata a felhasználói térben · Operációs rendszer által engedélyezett vektorállapot, dinamikusan engedélyezett csempeállapot, jelverem-követelmények és AMX engedélyezési folyamat. A Linux-specifikus viselkedés nem jelent garanciát más operációs rendszerekre.
Hasznos volt ez a cikk?
Egy igen vagy nem is elég. Válasszon egy indokot, ha szeretne, vagy írjon egy rövid megjegyzést.
Köszönjük. Ez segít az oldal fejlesztésében.