matlab mkl codepath tweak øker amd ryzen mkl ytelsen betydelig - Matlab

MATLAB MKL Codepath Tweak øker AMD Ryzen MKL-ytelsen betydelig



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.

Tweak, som er ment å brukes manuelt av AMD Ryzen brukere, tvinger MKL til å bruke AVX2 uavhengig av CPU-leverandørens ID-spørringsresultat. Tweak er så enkel som den er kraftig. En enkel 4-linjers Windows-batchfil med et sett argumenter starter MKL i AVX2-modus. Du kan også gjøre justeringen 'permanent' ved å opprette en systemmiljøvariabel. Miljøvariabelen vil gjelde for alle forekomster av MATLAB, og ikke bare de som gis av batch-filen. Nedflanders1976 la også ut et referanseskript som fremhever ytelseseffekten av AVX2, men du kan bruke dine egne skript og legge ut resultater.
Source: Nedflanders1976 (Reddit)