2015-03-29 4 views
1

Я использовал команду matlabpool open 8 какое-то время, чтобы ускорить работу. Однако я просто попытался использовать его, и мне отказано в 8 ядрах и теперь ограничено до 4.Использование matlabpool с указанным числом работников

Мой ноутбук i7 с 4 ядрами, но с гиперпотоком, что означало, что у меня не было проблемы с тем, что Matlab работал на 8 виртуальных ядрах.

Одновременно я заметил следующее предупреждающее сообщение:

Warning: matlabpool will be removed in a future release. Use parpool instead.

Походит MathsWorks решил, что это было большое обновление по какой-то причине.

Любые идеи, как я могу снова запустить свой код на 8 ядер?

Примечание: Я использовал R2010b (думаю) и теперь использую R2014b.

+1

Вы пытались установить количество работников, использующих 'parpool'? – Daniel

+1

См. [Как установить максимальное количество рабочих в паркуте/matlabpool с консоли?] (Http://stackoverflow.com/questions/24639939/how-to-set-the-max-number-of-workers-in- parpool-matlabpool-from-console), может быть? – horchler

+0

Это работает спасибо. Однако я надеялся на способ «исправления» «matlabpool», поскольку он более удобен для пользователя. – TAllieri

ответ

3

Похоже, что @horchler предоставил вам прямой solution на ваш вопрос в комментариях.

Однако я бы рекомендовал придерживаться стандартных 4 рабочих, предложенных MATLAB, и не использовать 8. Вы вряд ли получите значительное ускорение, перейдя на 8, и вы даже можете немного замедлить работу ,

У вас есть четыре физических ядра, и они могут делать столько работы. Hyperthreading позволяет операционной системе делать вид, что имеется 8 ядер, посредством операций чередования, выполняемых на парах виртуальных ядер.

Это замечательно подходит для таких приложений, как Outlook, которые не являются интенсивными с точки зрения вычислительной мощности, но требуют много операций для одновременного отображения, чтобы, например, поддерживать графический интерфейс при проверке электронной почты по сетевому соединению.

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

По моему опыту, MATLAB немного выиграет, повернув hyperthreading от. (Конечно, другие вещи, такие как Outlook, не будут: ваш выбор).

+0

Благодарим вас за объяснения, это правда, что он не всегда ускоряет вычисления и даже замедляет работу в зависимости от вычислений. – TAllieri