Az AMD egyik mérnöke által beküldött hivatalos GCC-patch mindössze néhány sort módosít a Zen 4 és Zen 5 processzorok költségtábláján, mégis látványos eredményt hozott egy fordítótesztben. A fejlesztői mérés szerint a SPEC CPU 544.nab_r tesztje Zen 5-ön 12, Zen 4-en pedig 9 százalékkal gyorsult.
Nem új processzorról vagy mikrokód-frissítésről van szó. A GCC-nek azt kell megbecsülnie, milyen műveleteket érdemes előnyben részesítenie, amikor a programot egy adott CPU-ra fordítja. Az ágpredikciós hibák költségét eddig túl alacsonyra állították a znver4 és znver5 célprofilokban, ezért a fordító bizonyos kódoknál nem feltétlenül választotta a legjobb útvonalat.

Mit módosítottak pontosan?
A patch a branch misprediction scale értékét emeli meg: a korábbi COSTS_N_INSNS (2) értékhez három extra költségegység társul a Zen 4 és Zen 5 költségtáblájában. Ez nem általános gyorsítókapcsoló, hanem a fordító belső modelljének finomhangolása. A cél az, hogy a GCC jobban büntesse azokat a kódútvonalakat, amelyeknél a processzor gyakran rosszul jósolja meg az elágazást.
A 12 százalékos érték ezért egy konkrét, erősen optimalizált mérésből származik: -O3 -march=native -flto beállításokat használtak, és egyetlen példányban futott a 544.nab_r. Más programoknál lehet kisebb a nyereség, semleges az eredmény, vagy akár visszaesés is előfordulhat. A benchmark nem azt bizonyítja, hogy minden Zen 5-ös gép 12 százalékkal gyorsabb lesz, hanem azt, hogy a fordító korábbi becslése egy fontos kódtípusnál javítható.
A patch bootstrappelési és x86_64-linuxos teszten is átment, a fejlesztő pedig a GCC karbantartóitól kért jóváhagyást. Ha a felülvizsgálat nem talál problémát, a módosítás a következő nagy, GCC 17-es kiadásban jelenhet meg, és felmerült a GCC 16.3-as visszaportolása is.
Miért érdekes ez a felhasználónak?
A legtöbb asztali alkalmazásban nem fog egyik napról a másikra két számjegyű gyorsulás megjelenni, hiszen ehhez a programot újra kell fordítani a javított GCC-vel. Linuxos disztribúciók, fejlesztői toolchain-ek és forrásból épített szoftverek viszont idővel profitálhatnak belőle. A módosítás azt is mutatja, hogy a Zen 5 teljesítményét nemcsak új BIOS-verziókkal, hanem a fordító költségmodelljének pontosításával is lehet még kiaknázni.
Az igazi kérdés az lesz, hogy a javulás mennyire terjed át valós alkalmazásokra. A hivatalos patch egyelőre ígéret és mérési eredmény, nem kész, minden gépen bekapcsolható funkció. A számok azonban elég nagyok ahhoz, hogy a GCC következő kiadásait Zen 4 és Zen 5 tulajdonosként is érdemes legyen figyelni.