Diit.cz - Novinky a informace o hardware, software a internetu

MATLAB po 3 letech stížností opravil 10 řádků kódu, které snižovaly výkon Zenů

Tři roky stížností a téměř pět měsíců od chvíle, když uživatel ukázal na jádro problému a napsal opravu, trvalo společnosti MathWorks, než odstranila cílenou limitaci procesorů AMD ve svém softwaru…

MATLAB (matrix laboratory) je interaktivní programové prostředí a skriptovací programovací jazyk čtvrté generace. Program MATLAB je vyvíjen společností MathWorks a […] je k dispozici pro operační systémy Linux (32-bit, 64-bit), Windows (32-bit, 64-bit), Mac OS X (64-bit). MATLAB umožňuje počítání s maticemi, vykreslování 2D i 3D grafů funkcí, implementaci algoritmů, počítačovou simulaci, analýzu a prezentaci dat i vytváření aplikací včetně uživatelského rozhraní. Původně byl jazyk určen pro matematické účely, ale časem byl upraven, byly přidány nové funkce a rozšíření, rozrostl se různými směry a dnes je využitelný v široké paletě aplikací. V roce 2004 měl MATLAB přes milión uživatelů a to především z řad vědeckotechnických pracovníků, studentů a zaměstnanců vysokých škol. MATLAB je využíván pro vědecké a výzkumné účely a to jak v soukromém sektoru, tak i v akademických řadách. Hlavní oblastí využití jsou technické obory a ekonomie.

Wikipedie: Otevřená encyklopedie: MATLAB [online]. c2020 [citováno 2. 04. 2020]. Dostupný z WWW

Definici MATLABu máme za sebou (raději ji nechávám na Wikipedii, neboť sám jsem toto prostředí viděl naposledy léta před tím, než vůbec první článek na téma MATLAB na Wikipedii vznikl) a můžeme přejít rovnou k jádru věci. Od vydání Zenu uživatelé MATLABu poukazovali na nečekaně nízký výkon těchto procesorů ve srovnání s výkonem v jiných aplikacích, ovšem bez reakce ze strany výrobce, který software prodává za €2000, případně pronajímá za €800 ročně. Přitom nejde o jednotky ani desítky procent, jde o 2-5× nižší výkon, než by bylo možné očekávat.

Loni v listopadu se na Redditu ozval uživatel nedflanders1976, který přišel na zdroj problémů a předložil i konkrétní řešení. Zádrhel spočíval v knihovně Intel MKL (Math Kernel Library), která detekovala procesor na principu „jde o procesor Intelu -> použijeme moderní instrukční sady včetně AVX2“ / „nejde o procesor Intelu -> použijeme pouze SSE z roku 1999“). Knihovna zkrátka nezjišťovala, co procesor reálně umí a pokud CPUID string neodpovídalo hodnotě „GenuineIntel“, měl procesor a tedy i uživatel smůlu, zůstalo u SSE a tedy instrukční výbavy z doby Pentia III.

Listopadové zveřejnění tohoto přístupu ze strany autora knihovny i liknavost ze strany autora €2000 softwaru vyvolala značnou mediální odezvu. S reakcí společnosti MathWorks to ale bylo výrazně vlažnější. Řešení, které má podle zmíněných diskuzí deset řádků kódu, do svého softwaru implementovala až téměř pět měsíců poté, co jej nedflanders1976 publikoval, což je zároveň 3 roky od vydání prvního Zenu a bezmála dekádu od vydání AVX-kompatibilních procesorů AMD.

Tabulka uvádí časy potřebné k provedení různých operací - nahoře s dosavadní verzí softwaru, dole s opravenou (aktuální) verzí. Protože jde o časy, znamená nižší číslo lepší výsledek.

Zdroje: 

ExtremeTech, nedflanders1976 (1, 2)

Diskuse ke článku MATLAB po 3 letech stížností opravil 10 řádků kódu, které snižovaly výkon Zenů

Čtvrtek, 23 Duben 2020 - 16:13 | Spirit_pcf | Neskutocny ster. :D +1 Bohuzial pre neho,...
Čtvrtek, 23 Duben 2020 - 16:08 | Spirit_pcf | Je to uboziak, ktory si to nikdy neprizna. Bez...
Úterý, 7 Duben 2020 - 14:24 | spidsta | "P. S. Těm dvanácti procentům zákazníků, co...
Pondělí, 6 Duben 2020 - 11:43 | rathanuviel | Někdo by měl pořádně přiložit...
Pondělí, 6 Duben 2020 - 09:53 | rathanuviel | Víte pane Vágnere, vaše příspěvky jsou plné...
Pondělí, 6 Duben 2020 - 09:17 | rathanuviel | Není.
Neděle, 5 Duben 2020 - 23:55 | pete-x | nema ako logicky zdovodnit nakup intelu, tak sa...
Neděle, 5 Duben 2020 - 23:52 | pete-x | pisat chvalospevy na drahsi, nevykonny, a...
Neděle, 5 Duben 2020 - 20:57 | polish-shop | Prepacte vy ste cistokrvny k*k*t? Asi ano. Tvrdit...
Sobota, 4 Duben 2020 - 22:29 | nevidany | Když už tedy nastala fáze zpytování a tázání sebe...

Zobrazit diskusi