Подтвердить что ты не робот

Как выбрать компьютерное оборудование, которое наилучшим образом оптимизирует производительность MATLAB?

Например:

  • Я хотел бы знать, что такое минимальная спецификация для ОЗУ

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

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

4b9b3361

Ответ 1

Многим пользователям 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. Приложение может быть интенсивным с точки зрения памяти или может в значительной степени использовать центральный процессор (CPU) для численных вычислений. Вы можете проверить свою систему, набрав BENCH в командном окне MATLAB.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Число процессоров:

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

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

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

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

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

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

http://www.mathworks.com/matlabcentral

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

Ответ 3

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

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

Ответ 4

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

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

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