MATLAB и использование нескольких ядер для выполнения расчетов - PullRequest
5 голосов
/ 21 июля 2010

Привет всем. Я пытаюсь разобраться, как запустить MATLAB как можно лучше. У меня довольно приличная новая машина.

12 ГБ ОЗУ Core i7 3.2 ГГц процессор и много свободного места. и сильная видеокарта.

Однако, когда я запускаю тест производительности MATLAB (командный стенд), он показывает, что компьютер находится на худшем уровне, на одноядерной машине с Windows XP 1,7 ГГц.

Любые идеи, почему и как я могу улучшить это ??

Большое спасибо

Ответы [ 3 ]

10 голосов
/ 21 июля 2010

Во-первых, я бы порекомендовал повторить команду bench несколько раз, чтобы убедиться, что MATLAB полностью загрузил все библиотеки и т. Д., В которых он нуждается. Большая часть MATLAB загружается по требованию, поэтому всегда лучше рассчитывать время второго или третьего запуска.

MATLAB автоматически использует преимущества нескольких ядер при выполнении определенных операций, которые являются многопоточными. Например, множество поэлементных операций, таких как +, .* и т. Д., А также операций с поддержкой BLAS (и, возможно, других). На этой странице перечислены вещи, которые являются многопоточными.

Parallel Computing Toolbox полезен, когда внутренняя многопоточность MATLAB не может помочь (если это возможно, то обычно это самый быстрый способ сделать что-либо). Это дает вам явный параллелизм через распределенные массивы PARFOR , SPMD и .

2 голосов
/ 02 августа 2010

Это может быть очевидно, но убедитесь, что вы включили многопоточные вычисления в настройках (Файл> Предпочтения> Общие> Многопоточность). В некоторых версиях MATLAB он не включен по умолчанию.

2 голосов
/ 21 июля 2010

Вам необходим Набор инструментов параллельной обработки . Многие функции MATLAB являются многопоточными, но для распараллеливания собственного кода он вам понадобится. Тупой взломать - открыть несколько экземпляров командной строки MATLAB. Вы также можете написать многопоточные MEX файлы , но правильным решением будет покупка и использование вышеупомянутого набора инструментов.

...