2011-01-15 4 views
3

Я запускаю алгоритм, который требует много ресурсов и максимизирует процессор.Множественные ядра Matlab

Проблема в том, что он использует только один процессор.

Как сделать MATLAB многопоточным вычислениями и использовать более 1 процессора?

+0

вам нужна среда подходит для многоядерных и MATLAB не очень подходит –

+0

я знаю, что это возможно, документация действительно говорит, что это, но Я не мог найти КАК это сделать. –

ответ

2

Если вы специально не используете параллельные конструкции - то есть, используя явный параллелизм - или используйте встроенные функции, которые уже были распараллелированы для вас - Matlab не будет работать быстрее на многоядерной машине. Это сообщение содержит список встроенных функций, которые были распараллеливаемый и так будет использовать несколько ядер:

http://www.walkingrandomly.com/?p=1894

Вот пример использования параллельной конструкции, чтобы свернуть свой собственный параллелизм:

http://www.mathworks.com/matlabcentral/fileexchange/13775

+0

Это просто неправда. Он будет работать быстрее на параллельных машинах. –

+0

@Yochai - отредактирован для уточнения (он работает быстрее, если вы используете уже распараллеливаемые функции, в противном случае - нет). – EmeryBerger

+2

+1 Правильно, но сам MATLAB параллелизирует даже основные операции с матрицей (умножение, MIN, MAX, INV, SQRT, POW). Для матриц, размер которых превышает 40K элементов. НО вы дали хороший пример того, как распараллелить свои собственные функции. –

Смежные вопросы