Konec neoficiálního používání AVX-512 na Alder Lake. Intel ho natvrdo odstřelí aktualizací

4. 1. 2022

Sdílet

 Autor: Intel
Pokud vás potěšilo, že se u Alder Lake dají neoficiálně zapnout 512bitové SIMD instrukce AVX-512, ačkoliv je procesor nemá podporovat, špatné zprávy. Intel tuto možnost zruší.

Když vyšly první procesory Alder Lake (125W modely pro nadšence), ukázalo se rychle, že ačkoliv podle Intelu měly mít u jader Golden Cove nenávratně vypnuté AVX-512, ve skutečnosti bylo vypnuté docela návratně ve firmwaru. BIOSy mnohých desek ho dovolily zapnout, pokud uživatel deaktivoval E-Core. K potěšení těch, kdo 512bitové instrukce chtěli. Bohužel to ale vypadá, že oslavy byl předčasné a Intel tento bonus zase zruší.

Jak jsme psali v listopadu, Intel u procesorů Alder Lake doteď nevypínal AVX-512 tak, že by ho kompletně znefunkčnil v továrně nějakým fyzickým zásahem (i když je možné, že nějaká budoucí revize toto zavede). Vypnutí bylo v rámci nízkoúrovňové konfigurace, kterou procesoru nastavuje BIOS. Intel se pokusil v kódu, který dodává výrobcům desek, existenci tohoto mechanismu schovat, ale nepovedlo se a výrobci desek ještě před vydáním procesorů uměli AVX-512 znovu zapnout. Tuto volbu najdete v BIOSu Z690 desek, pokud u procesoru deaktivujete všechna E-Core. AVX-512 pak normálně funguje v aplikacích stejně jako třeba na Rocket Lake. Nicméně na jeho korektní fungování není záruka.

Nadcházející aktualizace mikrokódu zabrání používání AVX-512

Bohužel se zdá, že se Intelu tento zásah do fungování nelíbí a nebude ho tolerovat. Web Igor'sLAB informuje, že Intel chystá aktualizace mikrokódu procesorů, které mají tento trik opět znefunkčnit a zřejmě odstraní AVX-512 nějakým jiným způsobem. Aktualizace mikrokódu jsou něco jako update firmwaru samotného CPU, takže mohou jeho fungování takto měnit. Až vám tato aktualizace dorazí, bohužel vám ono polooficiální AVX-512 bude odebráno. Tato změna se bohužel tedy bude týkat i již dříve koupených procesorů, ne jen nějakých nových prodávaných po této aktualizaci.

Jak asi víte, aktualizace mikrokódu má to specifikum, že v procesoru není nahraná napevno, musí ji při každém spouštění nebo restartu zavést buď BIOS desky, nebo operační systém. To znamená, že pokud se nemíníte podpory AVX-512 vzdát, máte tu možnost, že jednak zakážete nahrávání nových mikrokódů operačnímu systému (ve Windows musíte zakázat a odinstalovat aktualizaci, která se o to stará, na Linuxu bývá mikrokód distribuován obvykle asi z repozitářů zvláštním balíčkem).

Zapnutí AVX 512 u procesoru Alder Lake na desce Asus Zapnutí AVX-512 u procesoru Alder Lake na desce Asus (Zdroj: AnandTech)

Protože ale nové mikrokódy budou také součástí nově vydávaných BIOSů pro desky, budete také muset přestat aktualizovat BIOS (UEFI) desky a zůstat na současné verzi. Pokud bude budoucí verze přidávat nějaké důležité funkce nebo opravy, budete je muset oželet. Také potenciálně přijdete o bezpečnostní opravy, pokud by budoucí BIOSy nebo aktualizace mikrokódu přes OS opravovaly nějaké bezpečnostní díry.

Podle Igor'sLAB jsou určitou nadějí neoficiálně modifikované BIOSy. Někdy by asi mělo být možné vzít novější BIOS a nahradit v něm nový mikrokód pro procesor za starou verzi. Jde totiž o binární objekt, který se celý nahrává do CPU a neinteraguje z kódem samotného BIOSu. Toto má ale nevýhodu všech úprav BIOSu – zvýšená rizika chyb nebo problémů a pak také to, kde takový BIOS vezmete. Pokud mod neuděláte sami, vystavujete se bezpečnostnímu riziku, protože v modifikovaném firmwaru z nedůvěryhodného zdroje teoreticky může být malware/backdoor.

Škoda, AVX-512 byl bonus navíc

Dokud u procesorů Alder Lake bylo polooficiálně možné AVX-512 používat, byla to nesporně výhoda. Zejména u procesorů Core i5 (vyjma 125W odemčené varianty) a Core i3, které mají samá velká jádra a žádná malá, to mohl být výkon navíc víceméně zadarmo (snad jen se zvýšenou spotřebou coby cenou). Teď se zdá, že už tento skrytý bonus u těchto levnějších modelů AVX-512 nemůžeme moc brát v potaz.

Intel Core i9-12900K, nejvýkonnější model Alder Lake (Zdroj: HWCooling.net)

Není jasné, z jakého důvodu Intel proti znovuzapínání AVX-512 zaujal tak tvrdý postoj. Firma evidentně není ochotná pohlížet na něj třeba jako na přetaktování a jako potenciální lákadlo pro zájemce o koupi. Je teoreticky možné, že implementace AVX-512 má nějaké známé chyby a není plně korektní, takže za vzácných okolností může způsobovat problémy. Pak by bylo vypnutí podobně jako třeba vypínání TSX u Skylake motivováno stabilitou – Intel nechce, aby mu vzácné pády nebo zamrznutí v aplikacích kazily pověst.

Igor'sLAB ale údajně o takovémto zdůvodnění žádné zprávy nezískal. Ve hře je i méně pochopitelné vysvětlení, že Intel nechce, aby levné procesory s AVX-512 vytvářely konkurenci jeho výkonným modelům s těmito rozšířeními, jako je Ice Lake-SP. Ovšem toto vysvětlení trošku oslabuje fakt, že existuje mnoho starších procesorů, které AVX-512 měly, jako Tiger Lake nebo Rocket Lake. Také je možné, že Intel proti AVX-512 u hybridních procesorů brojí z trošku „puristických“ pohnutek – pokud by AVX-512 měly jen levné modely Core i3 a i i5 a ne i7 a i9, vypadalo by to neelegantně. A podobně asi nemusí být po chuti, když se vypínají malá jádra E-Core. To v očích zákazníků může vytvořit tendenci k negativnímu nahlížení na hybridní technologii a averzi ke kupování dražších CPU Intelu, které všechny E-Core obsahují.

bitcoin_skoleni

Každopádně pokud AVX-512 používáte buď proto, že vám pomáhá v nějakém specifickém softwaru (jedno takové využití je například v emulátoru RPCS3), nebo protože jste programátoři (nebo programátorky, samozřejmě), pak si budete muset dát pozor na aktualizace. Nebo případně přejít na jiné CPU.

Zdroj: igor'sLAB