Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

MATLAB už uměle neškrtí výkon procesorů AMD

1.4.2020, Jan Vítek, aktualita
MATLAB už uměle neškrtí výkon procesorů AMD
Loni na podzim se objevila zpráva, že platforma MATLAB zcela zbytečně snižuje výkon procesorů AMD, a to pouze proto, že tyto procesory se zcela pochopitelně nehlásí s CPUID řetězcem GenuineIntel. 
MATLAB dokáže využít výhody poskytované knihovnou Intel MKL (Math Kernel Library), která však donedávna byla velice pomalá při běhu na procesorech AMD včetně nejnovějších Ryzen. Už dříve se ale dalo MATLAB donutit k tomu, aby využíval všechny nabízené možnosti procesorů AMD, což přineslo mezi 20 až dokonce 300 procenty výkonu navíc, a to zvláště na modelech Ryzen či Ryzen Threadripper. Šlo přitom pouze o detekci procesoru v rámci MATLAB, aby ten striktně nevyžadoval GenuineIntel pro využití moderních instrukcí jako AVX2. 
 
 
Zmíněný tweak tak manuálně aktivoval podporu AVX2 v rámci MKL na procesorech AMD, které danou technologii nabízejí.  A nešlo o nic složitého, jen o krátký dávkový soubor, který spustil MATLAB v příslušném režimu, anebo bylo možné provést úpravy rovnou v rámci Proměnného prostředí:
 
 
Je pak o to podivnější, že tento stav trval tak dlouho, zvláště když šlo pouze o to, aby se odstranila omezení daná způsobem detekování použitých procesorů a umožnilo se využívat instrukce jako SSE4, AVX a AVX2. Na druhou stranu, vývojáři se přeci jen odhodlali přijít s nápravou hned bezprostředně v další verzi softwaru poté, co se problém s výkonem na procesorech AMD dostal na veřejnost loni v listopadu. Celá věc také ilustruje celkovou (ne)oblíbenost CPU od AMD mezi uživateli MATLABu, ostatně procesory AMD podporují SSE4 a AVX už od nástupu Bulldozerů v roce 2011 a AVX2 pak od roku 2017 díky generaci Ryzen, takže na to, že je s jejich výkonem v MATLABu něco v nepořádku, se mohlo přijít už dávno. 
 
nahoře výsledky starší verze, dole už nové opravené verze
 
Nicméně máme to tady a MATLAB od verze R2020a automaticky aktivuje i AVX2 na procesorech AMD a dle rychlého testu serveru Extremetech jsou rozdíly skutečně enormní, a to právě v případě procesorů AMD, zatímco u Intelu se nezměnilo zhola nic. Čili to znamená, že testované Threadrippery se ihned dostaly před Core i9, zvláště pak model 3970X a Intel ztratil další výhodu.