Mathwork Matlab is a very popular and authoritative computing software, but last November, it was discovered that the AMD Ryzen processor was suspected of being “degraded” by it, and could not correctly invoke the latest instruction set, resulting in performance blood. Matlab detects the processor identity, or CPUID string, in advance, and if it finds GenuineIntel, or genuine Intel processor, it takes advantage of Intel MKL (path kernel library) and calls the AVX2 instruction set for optimal performance.
But if it’s something else, such as the AMD processor represented by Authentic AMD, it will ignore the new instruction sets it supports, such as SSE4, AVX, AVX2, and use only the old SSE instruction set, which naturally decreases in efficiency.
Developers have done tests, if you change the system environment variables, you can let Matlab AMD processor identified as Intel processor, performance can be improved in an instant 20%, more than 300%!
Matlab has been questioned for this reason, but fortunately in the latest version of Matlab 2020a, the problem has finally been fixed, and the latest instruction set is called by default, regardless of Intel or AMD processors.
The test shows that the performance of the 24 core thread tearer 3960X and 32 core thread tearer 3970X can be 48% higher than the previous version of the Matlab, respectively, and thus lead the 18 core Core i9-10980XE by 52%, 80%, The previous 3960X was not able to hit 10980XE.