Как выбрать компьютерное оборудование, которое наилучшим образом оптимизирует производительность MATLAB? - PullRequest
22 голосов
/ 03 июня 2009

Например:

  • Я хотел бы знать, какова минимальная спецификация для RAM

  • Я хотел бы знать, какой процессор лучше

  • Я хотел бы знать, какая система лучше, UNIX, Windows?

Ответы [ 4 ]

20 голосов
/ 03 июня 2009

Многим пользователям MATLAB необходимо оптимизировать производительность MATLAB для выполнения сложных вычислительных задач за минимальное время. Очевидно, что производительность любого приложения зависит от доступности системных ресурсов. Запуск MATLAB вместе с рядом других процессов ухудшит производительность MATLAB.

Я не рекомендую конкретные марки компьютерного оборудования, однако существуют определенные системные требования, которые MATLAB должен работать правильно. Для получения дополнительной информации о системных требованиях для MATLAB см. Следующее:

http://www.mathworks.com/support/sysreq/

http://www.mathworks.com/products/matlab/choosing_hardware.html

В этом документе рассматривается вопрос о том, какое компьютерное оборудование поможет MATLAB работать лучше.

ПРИМЕЧАНИЕ. Отвечая на этот вопрос, я могу предложить только некоторые корреляции, а не абсолюты. Если вы на самом деле не выполните команду BENCH в MATLAB для конкретной конфигурации, невозможно заранее предсказать какой-либо показатель производительности для MATLAB. Приложение может занимать много памяти или интенсивно использовать центральный процессор (ЦП) для численных вычислений. Вы можете протестировать свою систему, набрав BENCH в командном окне MATLAB.

Стоит также отметить, что MATLAB Accelerator, улучшение производительности, добавленное в MATLAB 6.5 (R13), наиболее эффективно работает на процессорах на базе x86, таких как Intel и AMD. Дополнительную информацию о написании кода MATLAB для повышения производительности можно найти в Связанном решении, указанном внизу страницы.

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

Также обратите внимание, что начиная с MATLAB 7.4 (R2007a) можно включить MATLAB для использования возможностей многопоточности вашего процессора. Это может повысить производительность при выполнении длительных поэлементных операций. Дополнительная информация доступна в разделе «MATLAB Multiprocessing» документации.

В примере «Многопоточные вычисления» измеряется эффект многопоточности. Категории, на которые ориентированы в этом тесте: - ЛУ: линейная алгебра. - БПФ: вычисления. - ODE: вызовы функций. - Разреженный: вычисления - 2D графика: - 3D графика:

Ниже приведены две группы корреляций. Сильный список я понимаю лучше и могу сильно связать с изменениями в производительности. Слабый список я понимаю меньше, и они обычно оказывают более туманное влияние на производительность.

I) Сильные корреляции:

  1. Тактовая частота и семейство процессоров: Производительность может быть математически рассчитана следующим образом:

Производительность = тактовая частота / (количество инструкций ЦП * циклов на инструкцию ЦП)

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

В семействе процессоров, чем выше тактовая частота, тем выше должна быть производительность. Скорость изменения производительности, вероятно, меньше при более высоких тактовых частотах, потому что другие системные параметры, такие как основная память и скорость шины, начинают играть критическую роль. Таким образом, переход с 600 МГц Pentium на 1,1 ГГц Pentium, вероятно, не покажет соответствующего изменения производительности.

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

  1. Другое необходимое оборудование: Приложение MATLAB может работать так же быстро, как самый медленный аппаратный компонент, такой как карта сбора данных, для считывания данных для моделирования в реальном времени или графическая карта для мгновенного отображения результатов. Чтобы получить максимальную производительность от графики MATLAB, используйте самую быструю карту, которую вы можете себе позволить, и ту, в которой реализовано максимально возможное количество аппаратных средств OpenGL.

  2. Достаточно основной памяти (RAM): Понятно, что добавление большего объема ОЗУ, чем будет использовать MATLAB, окажет лишь незначительное влияние на производительность, поскольку именно размер рабочего набора определяет, сколько памяти вам нужно, и это сильно зависит от приложения. Кроме того, другие приложения, работающие вместе с MATLAB в той же системе, различаются в использовании памяти. Я рекомендую минимум 512 МБ ОЗУ для систем Windows. См. Страницу системных требований, упомянутую выше. Скорость доступа к ОЗУ также является важным фактором.

Вы также можете ознакомиться с Руководством технической поддержки по управлению памятью, чтобы лучше понять, как MATLAB использует память:

http://www.mathworks.com/support/tech-notes/1100/1106.shtml

II) Слабые или несуществующие корреляции:

  1. Количество процессоров:

    Поскольку выполнение M-кода не является полностью многопоточным, добавление процессоров может не повлиять на производительность. Однако, если на компьютере запущено много приложений, то наличие нескольких процессоров может значительно повысить пропускную способность системы.

  2. Пропускная способность системной шины: Это сложная область для оценки. Это становится критически важным, если вы перемещаете большие объемы данных в основную память и из нее, что вызвано либо подкачкой в ​​память больших наборов данных, либо операциями ввода-вывода файлов для поддержки операций базы данных.

  3. Объем кеш-памяти: Кэш-память быстрая, но дорогая и поэтому обычно ограничена. Более дешевая, но более медленная оперативная память становится активной всякий раз, когда кэш-память исчерпана.

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

Наконец, вы можете рассмотреть возможность отправки сообщения в группу новостей (comp.soft-sys.matlab). Это пользовательская новостная группа MATLAB, которую ежедневно просматривают тысячи людей. Вполне вероятно, что кто-то там может иметь опыт работы с этими проблемами.

Вы можете получить доступ к этой группе новостей с веб-сайта MATLAB Central по адресу:

http://www.mathworks.com/matlabcentral

Это популярный URL для просмотра групп новостей.

4 голосов
/ 03 июня 2009
3 голосов
/ 03 июня 2009

Я использую 8-ядерный компьютер Widows x64 с большим объемом памяти. Это говорит о том, что у меня все еще возникают проблемы с производительностью (как во времени, так и в пространстве) с matlab, когда я пытаюсь вычислить все сначала и сразу, а затем подумать о том, что я действительно хочу вычислить. Это скорее то, как вы его вычисляете, чем то, на чем вы рассчитываете (если у вас есть «достаточно хороший» компьютер).

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

1 голос
/ 06 июня 2009

Если ваша проблема - старый ПК (512 МБ оперативной памяти и процессор Celeron P4 с частотой менее 3 ГГц, например, с Windows 2000 или XP), вы можете использовать Matlab 7 без проблем с производительностью. Коды, написанные в Matlab 7, могут работать в Matlab 7.6 (выпуск в 2008 году), и вы можете легко обновить позже. (Установщик Matlab 7 поставляется в 2 CD)

Я тестировал Matlab 7.6 на двухъядерном ноутбуке Toshiba с 2 ГБ оперативной памяти. Установщик поставляется на DVD. Слишком много для моего старого ПК с ... 512 МБ ОЗУ и процессором Celeron.

Я не рекомендую вам старый Matlab 6.5, потому что в Matlab 7x

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