Покалічений більше не: тепер Matlab працює на повній швидкості на процесорах AMD

Melek Ozcelik
Технологія

Matlab більше не має проблем із запуском на процесорах AMD. Популярна обчислювальна платформа є досить важливим і популярним інструментом серед представників наукового співтовариства. Це дозволяє їм, серед іншого, маніпулювати матрицями та функціями графіка.



Без розчарувань для користувачів процесорів AMD

MathWorks, компанія, яка розробила це програмне забезпечення, нещодавно випустила оновлення, яке полегшить життя тим, хто використовує його на системах із процесорами AMD. Випуск Matlab R2020a, як його називають, значно підвищує продуктивність процесорів AMD Ryzen і Threadripper.



AMD

Читайте також:

Подивіться, як Whisper залишив особисті дані людей, розкритих протягом багатьох років



Netflix: додаток пропонує нове оновлення, дозволяючи вимкнути автовідтворення для попереднього перегляду

Попередній обхідний шлях

Раніше користувачам, які мали комп’ютери з процесорами AMD, доводилося впроваджувати обхідні шляхи для належної роботи. Користувач Reddit u/nedflanders1976 вперше опублікував це обхідне рішення на субреддіті r/matlab. У своїй публікації він пояснив, чому процесори AMD демонструють нижчу продуктивність порівняно з їхніми аналогами Intel у Matlab.

Matlab працює дуже повільно на процесорах AMD для операцій, які використовують бібліотеку ядра Intel Math (MKL). Це пояснюється тим, що Intel MKL використовує дискримінаційний диспетчер ЦП, який не використовує ефективний кодовий шлях відповідно до підтримки SIMD центральним процесором, але на основі результату рядка запиту постачальника він зчитує.



Потім користувач пояснює, як вирішити цю проблему, у тому самому пості. Пропонуючи два різних рішення, цей користувач Reddit потім переглядає докладний, покроковий посібник, який інструктує інших, що вони можуть зробити, щоб вирішити цю проблему.

AMD

Перший метод — це тимчасове виправлення, яке не вимагає прав адміністратора Windows. Він звучить так: Створіть файл .bat з наступними рядками, щоб запустити Matlab в режимі AVX2



@echo off
встановити MKL_DEBUG_CPU_TYPE=5
matlab.exe

Це прямо вперед. Ви відкриваєте Блокнот, копіюєте та вставляєте три вищенаведені рядки та зберігаєте файл як Matlab-AVX2. Блокнот збереже файл як Matlab-AVX2.txt. Тепер замініть розширення .txt на .bat.

Якщо ви двічі клацнете цей файл, Matlab запустить MKL в режимі AVX2. Якщо почати звичайним способом, він залишиться як завжди.

Другий метод, запропонований цим користувачем, дозволяє іншим зробити цю зміну постійною. Це передбачає внесення змін до реєстру Windows, що вимагає прав адміністратора. Подивіться на u/nedflanders1976 повністю пост щоб прочитати весь посібник.

Обхідний шлях тепер підтримується офіційно

В іншому дописі u/nedflanders1976 поінформований людей, що MathWorks офіційно застосував це ж обхідне рішення в останньому оновленні. Ті, хто використовував цей обхідний шлях, або використовували останню версію Matlab, повинні побачити зростання продуктивності на 20-300% порівняно з попередніми показниками.

AMD

Розподіляти: