matlab mkl codepath kniebiens ievērojami palielina amd ryzen mkl sniegumu - Matlab

MATLAB MKL Codepath Tweak ievērojami palielina AMD Ryzen MKL sniegumu



MATLAB is a popular math computing environment in use by engineering firms, universities, and other research institutes. Some of its operations can be made to leverage Intel MKL (Math Kernel Library), which is poorly optimized for, and notoriously slow on AMD Ryzen processors. Reddit user Nedflanders1976 devised a way to restore anywhere between 20 to 300 percent performance on Ryzen and Ryzen Threadripper processors, by forcing MATLAB to use advanced instruction-sets such as AVX2. By default, MKL queries your processor's vendor ID string, and if it sees anything other than 'GenuineIntel…, ' it falls back to SSE, posing a significant performance disadvantage to 'AuthenticAMD' Ryzen processors that have a full IA SSE4, AVX, and AVX2 implementation.

Kniebiens, kuru bija paredzēts manuāli lietot AMD Ryzen lietotājiem, liek MKL izmantot AVX2 neatkarīgi no CPU pārdevēja ID vaicājuma rezultāta. Kniebiens ir tikpat vienkāršs, cik spēcīgs. Vienkāršs 4 rindu Windows pakešfails ar argumentu kopu sāk MKL AVX2 režīmā. Jūs varat arī padarīt kniebienu “pastāvīgu”, izveidojot sistēmas vides mainīgo. Vides mainīgais attieksies uz visiem MATLAB gadījumiem, un ne tikai uz tiem, kurus izveidojis sērijveida fails. Nedflanders1976 arī ievietoja etalona skriptu, kas izceļ AVX2 veiktspējas ietekmi, tomēr jūs varat izmantot savus skriptus un izlikt rezultātus.
Source: Nedflanders1976 (Reddit)