PassMark ukazuje závislost výkonu Alder Lake a Raptor Lake na softwarové podpoře
PassMark patří mezi testy, které nevycházejí z jediného typu zátěže, ale využívají sadu nejrůznějších úloh. Z dílčích výkonnostních výsledků v jednotlivých úlohách pak sestaví výsledné skóre. Tyto úlohy se v rámci dílčích aktualizací benchmarku nemění a dalo by se tak očekávat, že výsledek v databázi v roce 2021, 2022 a 2023 bude stále plus mínus stejný.* Ve skutečnosti není.
*Přesněji řečeno, obvyklý je mírný pokles v čase: První výsledky totiž pocházejí od recenzentů a zákazníků high-endu, kteří používají co nejkvalitnější pastu, co nejlepší chladič a co nejrychlejší paměti. Procesor tak běží na svém maximu a výsledky tomu odpovídají. Později, s poklesem cen, se procesory dostanou do sestav a k zákazníkům, kteří více hledí na finance, takže v důsledku mainstreamovějších komponent je skóre mírně nižší.
V grafu níže vidíte zvýrazněné výsledky procesorů Intel Core i9-12900K (Alder Lake) a Core i9-13900K (Raptor Lake). Nižší skóre pochází z doby vydání dané generace, vyšší je aktuální výsledek zobrazovaný v databázi PassMark nyní:
~10% nárůst u Core i9-13900K a dokonce ~12% nárůst u Core i9-12900K je něco značně neobvyklého a stojí tedy za pozornost. Sama od sebe se nabízí otázka, co tento výkon přineslo. Logicky musela nastat přinejmenším jedna změna. Při pátrání v historii verzí testu PassMark je uvedeno několik optimalizací na míru těmto dvěma generacím procesorů, které by alespoň teoreticky neměly mít dopad na výkon (především se týkají správné detekce parametrů). Jedna optimalizace je však odlišná:
V10.2 Build 1005 - 1st/April/2022 Fixed an issue on 12th gen Intel CPUs that could result in the calling thread being locked to a low performing E-Core (thread affinity was not being set back to the original correctly) which would result in lower than expected 2D test scores |
Loni v dubnu měla být implementována oprava, která měla zamezit situaci, aby zátěž běžela na malých jádrech (pokud jsou k dispozici volná velká). Podle popisu se ale změna má týkat pouze „2D testu“ a ten není součástí standardního procesorového skóre, takže změnu výsledků nevysvětluje.
V10.2 Build 1000 - 15th/December/2021 Updated system information and user interface to distinguish between P (performance) and E (efficiency) cores, for Intel 12th Gen CPUs. Correct detection of available P and E cores also allowed the correct number of threads be run in the multi-threaded CPU tests. |
Další změnu týkající se velkých a malých jader najdeme až v prosinci 2021. Týká se detekce celkového počtu velkých a malých jader, podle kterého je procesoru servírován přesně takový počet vláken, který odpovídá jeho hardwarové konfiguraci.
Jiné změny, které by podle popisu mohly mít dopad na výkon dvou posledních generací procesorů Intelu, výpisy neuvádějí. V hypotetické rovině mohlo dojít i k nějaké aktualizaci ze strany Intelu servírované přes Windows Update, ovšem to je prakticky nemožné podchytit, natož určit, zda by taková optimalizace mohla mít dopad na výkon v PassMarku.
Z celé situace nicméně vyplývá, že bez specifické optimalizace pro architektury Intelu Alder Lake / Raptor Lake podávaly tyto procesory podstatně nižší výkon. Lze proto mít oprávněné obavy, zda po nástupu nové architektury Intelu, která bude stavět na odlišném konceptu, tyto optimalizace softwaru na míru neustanou a výkon se opět nevrátí na nižší úroveň.
V případě Alder Lake a Raptor Lake totiž ve srovnání s ARM big.LITTLE figuruje několik potenciálních problémů, které bez optimalizací na míru nelze řešit. Asi nejzásadnějším z tohoto soudku je skutečnost, že se velká a malá jádra velmi výrazně liší a to nejen co do podporovaných instrukčních sad, ale i co do (ne)podpory SMT / HT. Velká jádra zvládají dvě vlákna, malá jedno. Problém nastává v situaci, kdy jsou jednotlivým jádrům procesoru přiřazována vlákna ke zpracování. V okamžiku, kdy je každému velkému jádru přiřazeno jedno vlákno a je třeba rozdělit další, nastává otázka, zda mají být nejdříve využita druhá vlákna velkých jader, nebo jádra malá. Pro každý typ zátěže totiž může být výhodnějšího něco jiného a bez optimalizací ze strany aplikace, která toto nastaví, není jisté, zda je procesor využit optimálně a zda dosahuje maximálního výkonu.
Popsané omezení v kombinaci s faktem, že přítomnost malých jader neumožňuje využít plný instrukční set jader velkých, vysvětluje také, proč si Intel nemůže dovolit nasazení podobné kombinace v profesionální sféře jako jsou servery nebo pracovní stanice.
Tato situace neexistuje ani u ARM big.LITTLE (kdy absence podpory SMT znamená zcela jednoduchou situaci, kdy jsou vlákna přiřazována sestupně podle výkonu jader) a nemusí trápit ani APU Phoenix 2, které chystá AMD, kde jsou jádra stejné architektury, všechna s podporou SMT, takže opět stačí vlákna přiřazovat sestupně podle výkonu jader (a druhé kolo provést pro sekundární vlákna jednotlivých jader).