Запуск MPI-кода на моем ноутбуке - PullRequest
4 голосов
/ 19 февраля 2010

Я новичок в мире параллельных вычислений. Можете ли вы сказать мне, возможно ли запустить код c ++, использующий подпрограммы MPI на моем ноутбуке с двухъядерным процессором, или для этого есть какой-нибудь симулятор / эмулятор?

Ответы [ 4 ]

6 голосов
/ 20 февраля 2010

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

Используя двухъядерный ноутбук, вы можете запустить два ранга, и планировщик ОС будет стремиться разместить их на отдельных ядрах. Планировщик WinXP стремится обеспечить некоторую степень «привязки процессора», потому что по умолчанию задания обычно планируются на ядре, где они выполнялись в последний раз. Тем не менее, большинство реализаций MPI также допускают явное «связывание с процессором», которое вынуждает планировать ранг на одном конкретном ядре. Синтаксис для этого является нестандартным и должен быть получен из документации конкретной реализации.

Вы должны попытаться использовать «ту же» версию и реализацию MPI на своем ноутбуке, на котором работают компьютеры университета. Это поможет убедиться, что флаги времени выполнения MPI одинаковы.

Большинство реализаций MPI поставляются с некой «оболочкой компилятора» или, по крайней мере, с набором инструкций для создания приложения, которое будет включать библиотеку MPI. Либо используйте эти обертки, либо следуйте этим инструкциям.

4 голосов
/ 16 февраля 2013

Если вы заинтересованы в симуляторе приложений MPI, вам, вероятно, стоит проверить SMPI.

Этот симулятор с открытым исходным кодом (в котором я участвую) может запускать многие приложения MPI C / C ++ / Fortran без изменений и довольно точно прогнозировать время выполнения приложения, при условии, что у вас есть точное описание вашей аппаратной платформы. Возможны как онлайн, так и оффлайн исследования.

Существует много других преимуществ использования симулятора для изучения приложений MPI:

  • Воспроизводимость : несколько прогонов приводят к одинаковому поведению, если вы не укажете это. У вас не будет никаких ошибок, когда добавление еще нескольких трассировок изменяет поведение приложения;
  • Анализ «что-если» : возможность тестирования на платформе, к которой у вас нет доступа или которая еще не построена;
  • Ясновидение : вы можете наблюдать за всеми частями системы, даже на ядре сети.

Для получения дополнительной информации см. эту презентацию или эту статью .

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

1 голос
/ 19 февраля 2010

Я не совсем уверен, понимаю ли я твой вопрос, но ноутбук - это компьютер, как и любой другой. При условии, что вы правильно настроили свои MPI-библиотеки и задали свои пути, вы, конечно, можете использовать подпрограммы MPI на своем ноутбуке.

Что касается меня, я использую Debian Linux (http://www.debian.org) для всех моих параллельных вещей. Я написал небольшую статью, посвященную Как запустить MPI на машинах Debian . Вы может захотеть сослаться на это.

1 голос
/ 19 февраля 2010

MPI-сообщения транспортируются по сети TCP (существуют и другие высокопроизводительные возможности, например, совместная работа, но по умолчанию используется сеть).Поэтому совершенно не важно, где приложение работает, пока узлы могут соединяться друг с другом.Я предполагаю, что вы хотите протестировать приложение на своем ноутбуке, поэтому все узлы работают локально и могут легко подключаться друг к другу через петлевую сеть.

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