реклама на сайте
подробности

 
 
> При моделировании Matlab'ом загрузка процессора не более 50%, Как бы сделать что бы Matlab использовал весь ЦПУ
GenEv
сообщение Apr 4 2008, 12:28
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 29-11-06
Пользователь №: 22 884



При моделировании загрузка процессора не более 50%.
Используется Matlab2008a x64 на WinViste x64.
Процессор 2-ядерный E6750 2.66 ГГц, 4 гига оперативки.
Есть ли какие настройки в Matlabe позволяющие использовать на полную процессор? или настройки Windows. Так же пробывал на WinXP x64 то же самое не более 50%.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
syoma
сообщение Apr 4 2008, 13:48
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Все зависит от модели, но даже при включенной многопроцессорности - опция в File - Preferences - Multithreading - у меня она больше одного процессора не загружает. В принципе все доходчиво описано самими Mathworks http://www.mathworks.com/access/helpdesk/h...ttonName=Search
то есть в основном вычисления выполняются последовательно, для каждой следующей команды нужны результаты предыдущей. Только некоторые инструкции можно распарралелить. Поэтому загрузить оба проца на 100% можно только вручную распараллелив вычисления - Distributed toolbox, но это уже другой вопрос и так легко не делается.
А по повоказаниям таскменеджера у меня на одной машине матлаб по 50% двух проциков забирал, а на другой 100%, но только одного. Помоему ему нельзя верить.
Go to the top of the page
 
+Quote Post
samurad
сообщение May 9 2008, 17:40
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 121
Регистрация: 9-05-08
Из: Япония
Пользователь №: 37 385



Цитата(syoma @ Apr 4 2008, 16:48) *
Все зависит от модели, но даже при включенной многопроцессорности - опция в File - Preferences - Multithreading - у меня она больше одного процессора не загружает. В принципе все доходчиво описано самими Mathworks http://www.mathworks.com/access/helpdesk/h...ttonName=Search
то есть в основном вычисления выполняются последовательно, для каждой следующей команды нужны результаты предыдущей. Только некоторые инструкции можно распарралелить. Поэтому загрузить оба проца на 100% можно только вручную распараллелив вычисления - Distributed toolbox, но это уже другой вопрос и так легко не делается.
А по повоказаниям таскменеджера у меня на одной машине матлаб по 50% двух проциков забирал, а на другой 100%, но только одного. Помоему ему нельзя верить.

Наблюдал похожую ситуацию. У меня 4-х ядерный ЦПУ, модель Xeon и WinXP x64. Ни настройки Матлаба, ни Windows не помогли преодолеть барьер 50% загрузки ЦПУ.
Мне удалось реально (с планированных 1,5 месяцев до 1 нед.) ускорить вычисления следующим нехитрым способом, изменив свою программу на Матлабе (но подойдет для любого языка стандартного последовательного программирования).

0. Изначально имею последовательную прогу (.М) с большим количеством итераций в цикле (иначе нет смысла городить огород). Границы цикла задаю параметрами, промежуточные или конечные данные сливаю в файл с уникальным именем-параметром и размножаю прогу копированием, по проге на ядро ЦПУ с хотя бы немного различными именами.
1. Запускаю параллелные сессии Матлаба (по кол-ву ядер) и в каждой загружаю свою размноженную копию проги. В них параметры цикла инициализирую в непересекаемые районы, как и названия выходных файлов - это легко автоматизировать. Чтобы не зависал интерфейс Windows, перед пуском прог понижаю приоритет всех сессий Матлаба.
2. Пускаю проги одну за другой. Проверяю (временно) загрузку ЦПУ в штатном Диспетчере Задач - каждое ядро занято на 100%.
3. После отработки всех прог (некот. могут придти к финишу раньше других), склеиваю выходные файлы всех прог в один (надо соблюсти неразрывность записей) - это тоже легко автоматизировать. Если в файлах были конечные данные, напр., сигнал, то конец работе; если промежуточные, напр., данные случайного процесса, то придется дополнительной прогой обработать их и получить конечные, напр., статистику типа мат.ожидание и дисперсия. Конец работе, пьем кофе salmari.gif .

Сообщение отредактировал samurad - May 9 2008, 17:47
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th August 2025 - 16:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.01364 секунд с 7
ELECTRONIX ©2004-2016