Még a 2023-as év közepén írtunk arról, hogy új utasításkészletekkel készül az Intel, amelyek között az AVX10 lenne a hányattatott sorsú AVX-512 újragondolása. Jelenleg még aktívan zajlik a specifikációk lefektetése, amiben már aktívan részt vesz az x86 Ecosystem Advisory Group.
Hirdetés
Talán a fentiek miatt változott meg az AVX10.2 specifikációja, ugyanis az új követelményekből eltűnt az 512 bites vektorfeldolgozás opcionális lehetősége, mivel ezt kötelezővé tette a frissítés. Ez leginkább a fordítókat érinti, a módosítással ugyanis nem kell külön kezelni az 512 bites módot, vagyis amelyik hardver támogatja az AVX10.2-t, annak kötelezően kezelnie kell az összes lehetséges vektorhosszt. Ez persze nem feltétlenül jelenti azt, hogy az adott CPU-mag 512 bites adatutat fog használni hardveresen, elképzelhető a 256 bites is, de a kódot magát elfogadja, a hardver pedig minden mást kezelni fog belsőleg.
Hardveresen ez úgy oldható meg, hogy magának a CPU-magnak muszáj 512 bites regisztereket implementálni, hogy a fordított kód egyáltalán betölthető legyen, de onnan lehet alkalmazni 128 vagy 256 bites adatutat is a 128 vagy 256 bites vektorfeldolgozóhoz. A program felé tehát az AVX10.2-et támogató magok egységesnek látszódnak, vagyis kvázi mindegy, hogy a vektorfeldolgozó szélessége hardveresen milyen, bár nyilván a kisebb adatút negatívan befolyásolja majd a teljesítményt, de ezzel igazából nem kell kezdenie semmit a programnak, a hardver majd belül megbirkózik vele.
A változás azért nagyon fontos, mert így a programfejlesztők szemszögéből leegyszerűsítik az AVX10.2 támogatását, ugyanis lesz egy egységes specifikáció, aminek meg kell felelni, miközben ettől még lehetnek eltérő teljesítményű magok a lapkán belül, eltérő hosszúságú vektorfeldolgozóval. De a specifikációknak megfelelően írt program mindegyiken futni fog, a kérdés csak az, hogy milyen gyorsan.
Az alapötlet egyébként nem újdonság, mivel az AMD is ezt a trükköt alkalmazta még régebben a Zen 4-ben, hogy támogatni tudják az AVX-512-t úgy, hogy közben ne kelljen az 512 bites adatút és vektorfeldolgozó aránytalanul nagy tranzisztorköltségét felvállalni.