Wednesday, April 1st 2020
AMD Processors No Longer Crippled with Latest MATLAB MKL Update
MATLAB received an update that no longer cripples users of AMD processors. Back in November 2019, there was quite some controversy when it emerged that MATLAB, a popular computing platform popular with engineering firms, universities, and research institutes, wasn't working optimally with AMD processors. Specifically, the suite's Intel MKL (math kernel library) component was designed such that if it didn't recognize the "GenuineIntel" CPUID string, it would disable fast AVX2 code-paths and fall back to SSE. This would inflict anywhere between 20-300 percent performance penalties on "AuthenticAMD" processors.
Reddit user Nedflanders1976 developed a tweak back in November, which spoofs MKL into thinking AMD processors are "GenuineIntel," enabling it to leverage modern instruction sets such as SSE4, AVX, and AVX2. AMD processors have been supporting SSE4 and AVX since its 2011 FX-series, and AVX2 since 2017 Ryzen. With the latest R2020a version, MATLAB automatically enables AVX2 execution on AMD processors that support the instruction set. A quick set of tests by ExtremeTech confirms that the update does indeed leverage the faster code-path by default, with Ryzen Threadripper 3960X and 3970X gaining over 200% performance and beating the Core i9-10980XE (something that needed the Nedflanders1976 tweak earlier).
Sources:
Nedflanders1976 (Reddit), ExtremeTech
Reddit user Nedflanders1976 developed a tweak back in November, which spoofs MKL into thinking AMD processors are "GenuineIntel," enabling it to leverage modern instruction sets such as SSE4, AVX, and AVX2. AMD processors have been supporting SSE4 and AVX since its 2011 FX-series, and AVX2 since 2017 Ryzen. With the latest R2020a version, MATLAB automatically enables AVX2 execution on AMD processors that support the instruction set. A quick set of tests by ExtremeTech confirms that the update does indeed leverage the faster code-path by default, with Ryzen Threadripper 3960X and 3970X gaining over 200% performance and beating the Core i9-10980XE (something that needed the Nedflanders1976 tweak earlier).
42 Comments on AMD Processors No Longer Crippled with Latest MATLAB MKL Update
Not to mention Ryzen is here since 2017... talk about lazy.
The issue has been present since the launch of Zen 1. So your "every week" has actually been 3 years.
"Because of what they did, I lost X time that translates to Y money that is way much more than what Matlab costs. So from here on I am going to pitrate this software until I cover up my loses".
How much wrong would he be?
This is exactly why Intel is a so dislikable corp. Meh!
They can't stay behind now that Ryzen is gaining market share. You can bet that is why they just had to release now :) Yesterday we could read about a certain 4900HS CPU.
They release twice a year. Testing probably takes a month.
Did you even read OP's post?
Have you checked the ExtremeTech source he linked (thankfully)?
"A random guy" provided a workaround few months ago.
The reason we're discussing this today is that Matlab 2020a now runs AVX2 on AMD CPUs. So yes, it's an update made by MathWorks.
It's entirely the software company that makes Matlab. "Yeah we know our laziness is bad for you, just wait for next release cycle."
You could have shared the source link though.
What extremetech mentions is they have covered the topic that MatLab didn't run the the workloads with fools speed few months ago not that the tweak was found.
Here's the link BTW: www.extremetech.com/computing/308501-crippled-no-longer-matlab-2020a-runs-amd-cpus-at-full-speed
The article came out yesterday mentioning "the guy". I didn't find anything that he had done it months ago.
For better part of a decade no one used AMD CPUs for Matlab. Simple as that.
Ad BTW: keep that in mind next time you'll write a post about how great ARM is and how easy it will be to migrate form x86.