
How to Bypass Matlab’s ‘Cripple AMD CPU’ Function - BlackMonday
https://www.extremetech.com/computing/302650-how-to-bypass-matlab-cripple-amd-ryzen-threadripper-cpus
======
bscphil
I'm glad I clicked on this story, because the title kind of buries the lede.
Apparently Intel was asked to suggest a real world application for comparing
its top desktop processor to AMD's top Threadripper for the desktop AM4
socket. Intel suggested Matlab.

Then this reviewer discovered via Reddit that Matlab includes an Intel library
that doesn't generate SIMD optimized code for AMD processors. Forcing the
library to generate the optimized code in an environment variable results in
AMD crushing Intel with both tested processors.

It's remarkable both for AMD becoming clearly dominant in the desktop
performance market, and for Intel promoting a dishonest benchmark, whether
they knew it or not.

~~~
weare138
Intel has been accused of many things over the years, unfortunately honesty
wasn't one of them.

------
olliej
This is hardly the first time this has happened.

In this case their math library didn't do a CPUID feature test, but rather a
vendor name test. It would be equivalent to testing website compatibility by
doing a user agent check with just the browser name (e.g.
navigator.userAgent.indexOf("Netscape"), etc)

ICC also historically generated intentionally bad code for non-intel platforms
- deliberately making function loaded depend on intel vs. everyone else rather
than by feature set.

~~~
rasz
Nvidia is also pretty good at this, shipping FPU optimized PhysX library when
SSE was widespread.

~~~
olliej
Nice!

