Mpi как подключить в visual studio

Подключение MPI в Visual Studio

В этой заметке показано как установить MPI, подключить его к Visual Studio, а затем использовать с заданными параметрами (числом вычислительных узлов). В статье используется Visual Studio 2015, т.к. именно с ней возникали проблемы у моих студентов (эта заметка написана студентами для студентов), однако вероятно инструкция подойдет и для других версий.

Шаг 1:
Необходимо установить пакет HPC Pack 2008 SDK SP2 (в вашем случае может быть уже другая версия), доступный на официальном сайте Microsoft. Разрядность пакета и системы должны соответствовать.

Шаг 2:
Необходимо настроить пути, для этого переходим во вкладку Debug — Properties:

Далее во вкладке VC++ Directories необходимо прописать в поле Include Directories:

В поле Library Directories:

В поле с библиотеками, если стоит 32 разрядная версия, вместо amd64 нужно прописать i386.

Далее во вкладке Linker – Input в поле Additional Dependencies необходимо указать библиотеку

:

Шаг 3:

Для настройки запуска необходимо перейти во вкладку Debugging и в поле Command указать:

В поле Command Arguments указать, например,

Число 4 указывает на количество процессов.

Для запуска программы необходимо подключить библиотеку

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

Для этого после установки достаточно прописать в поле Command вкладки Debugging путь:

“C:\Program Files\Microsoft MPI\Bin\mpiexec.exe”

Также перед запуском программы не забудьте указать её разрядность:

Пример запуска программы с MPI:

Работа программы на 2 узлах:

READ  Как подключить модем lte к планшету андроид

Источник

Установка и начала использования библиотеки MPI

Установка библиотеки MPICH2 под Windows

Для того чтобы начать работу с библиотекой MPICH2, необходимо скачать совместимую с используемой операционной системой версию продукта здесь. Для ОС Windows – это установочный пакет формата MSI, поэтому инсталляция библиотеки проходит стандартным образом. Важно, что установку в этом случае надо проводить для всех пользователей системы.

Теперь необходимо добавить два основных исполняемых файла библиотеки mpiexec.exe и smpd.exe в список правил брандмауэра. Это необходимо, поскольку, при организации кластера используется сеть и доступ к каждому узлу сети должен быть разрешен для компонентов MPI. Конкретные настройки зависят от типа используемого брандмауэра.

На следующем этапе необходимо создать пользователя в системе, от имени которого будут исполняться компоненты библиотеки. Важно, что данный пользователь обязательно должен иметь свой пароль, т.к. MPICH2 не позволяет зарегистрировать исполняющего пользователя с пустым паролем. Регистрация осуществляется с помощью компонента wmpiregister.exe, находящегося в папке bin библиотеки и имеющего понятный оконный интерфейс:

Установка практически завершена. Осталось проверить правильность всех сделанных настроек. Для этой цели в папке examples есть примеры программ с параллельными алгоритмами. Для запуска можно использовать компонент wmpiexec.exe, который использует оконный интерфейс, который не нуждается в дополнительных комментариях.

Проверка работоспособности

В качестве IDE для разработки используется MVS 2005. Напишем программу, которая будет привествовать этот мир от имени разных новорожденных процессов процессов. Для этого используется пустой проект (empty project) с изменением некоторых настроек проекта.

#include «stdio.h»
#include «mpi.h»
#include «stdlib.h»
#include «math.h»

int ProcNum;
int ProcRank;

int main( int argc, char *argv[]) <
MPI_Status status;

MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &ProcRank);
MPI_Comm_size(MPI_COMM_WORLD, &ProcNum);

Компилируем его и запускаем полученный бинарник через wmpiexec на 4 процессах.

Как видим, мир поприветствовал каждый рождённый процесс.

Я умышленно приводил код без каких либо комментариев, а только с целью демонстрации работы библиотеки. В будущем я планирую посвятить статью списку функций MPI. Также интересной является тема избыточной параллельности и, вообще, вопрос когда стоит распарарллеливать приложение, а когда нет. Эти исследования также будут приведены позже. Поэтому у меня возник основной вопрос — сфера применимости в web технологиях? Пока мой интерес к параллельным вычислениям вызван другой проблемой: ускорение моделирования разного рода процессов.

READ  Как подключить гитару к айпаду

Источник

Начало работы с MPI в Visual Studio 2008 Express

Автор: The Supercomputing Blog

Привет, и добро пожаловать в моё первое руководство по MPI. Это руководство ориентировано на Visual Studio 2005 Express, Visual Studio 2005 Standard, Visual Studio 2008 Express, and Visual Studio 2008 Standard edition. Большая часть обучающего материала также может быть примененa в профессиональных версиях Visual Studio, с некоторыми незначительными отличиями.

Шаг 1. Загрузка Visual Studio 2008

Если у Вас еще нет установленной версии Visual Studio на Вашем компьютере, Вы можете загрузить бесплатную версию – Visual Studio 2008 Express. Это самая мощная развивающаяся среда разработки для ОС Windows. Загрузить можно здесь http://www.microsoft.com/exPress/download/.

Существует несколько версий Visual Studio 2008 Express. Т.к. данный блок ориентирован на высокопроизводительные вычисления, будем использовать С++ в Visual Studio.

Шаг 2. Загрузка HPC Pack 2008 SDK

Шаг 3. Теперь, когда все установлено, можно создавать свой проект

Откройте Visual Studio, перейдите в меню File и выберите New–> Project. Появится диалоговое окно:

После указания имени проекта, нажмите ОК.

Отключите опцию Precompiled Header. Это, как правило, делает проект проще, с точки зрения копмиляции исходного кода, за исплючением Windows платформ.

Шаг 4. Запуск программы Hello World

using namespace std;

//int _tmain(int argc, _TCHAR* argv[])

int main(int argc, char* argv[])

using namespace std;

//int _tmain(int argc, _TCHAR* argv[])

int main(int argc, char* argv[])

//cout «, получить список содержимого каталога «dir», и вернуться на каталог выше «CD..».

В директории проекта есть Mpiexec MPI_Tutorial_1.exe. На картинке выше, Вы увидите, что он работал с двумя потоками. В следующей команде, Вы видите, что, указав – n, Dы можете заставить вашу программу, начать с любым количеством потоков.

READ  Как подключить баню к центральной канализации

Если вы столкнулись с ошибкой при попытке запустить программу с mpiexe, пожалуйста прокрутки вверх и прочитать о проблеме с Windows XP, и как ее решить путем применения исправлений.

Шаг 8. Запуск программы без использования командной строки

Не было бы неплохо, если бы нам не приходилось использовать командную строку каждый раз, когда мы захотим запустить нашу программу? Ну, мы можем настроить Visual Studio делать это автоматически. Щелкните правой кнопкой мыши на окне обозревателя решений, выберите проект, щелкните правой кнопкой мыши и выберите свойства.

Примечание для пользователей Visual Studio Professional: если у вас есть профессиональная версия Visual Studio 2005 или 2008 года, вам повезло. выбрав раздел Отладки, Вы можете выбрать «отладчик для запуска» из выпадающего списка. Если вы видите MPI Cluster отладку, или нечто подобное, то Вам обязательно необходимо это использовать. Это дает много преимуществ по сравнению с экспресс и стандартной конфигурации Visual Studio. Эти преимущества будут рассмотрены в последующих учебниках. Если вы используете экспресс или стандартную версию Visual Studio, не паникуйте. Пожалуйста, следуйте приведенным ниже пояснениям, чтобы настроить вашу программу под запуск из под Visual Studio.

Делаем команду mpiexec.exe целевой. Как параметры командной строки, Вы можете указать количество процессоров, которое Вы хотите. Вы можете включить свой целевой путь в кавычки. Идем дальше и нажмите кнопку Применить и Запуск проекта. Visual Studio должна скомпилировать и запустить программу так же, как это было раньше!

И еще.

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

Источник

Поделиться с друзьями
Как подключить и установить...
Adblock
detector