Молодогвардейцев 454015 Россия, Челябинская область, город Челябинск 89085842764
MindHalls logo

Настройка библиотеки MPI в Eclipse

Доброго времени суток всем интересующимся параллельным программированием. В прошлый раз я рассказал о том, что такое MPI и как установить библиотеку MPICH на Linux Ubuntu. Сейчас я быстренько расскажу и покажу, как интегрировать библиотеку MPI в среду разработки Eclipse.

Причина простая до безобразия, писать на C/C++ без нормальной IDE равносильно самоубийству. Это на скриптовых языках типа Python или PHP можно обойтись одним Sublime Text или Notepad++, в которые зачастую вшиты все стандартные функции вроде sha1 или array_merge. В «сях» все гораздо мудренее, особенно беря во внимание указатели. В общем и целом, подружить MPICH и Eclipse это очень и очень хорошая идея, давайте начнем.

Настройка MPI в Eclipse

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

Начнем с «хедера». Создаем новый C/C++ проект, видим перед собой пустой файл и сходным кодом, и идем в настройки проекта: Project -> Properties -> C/C++ Build -> Settings. Далее в подразделе Cross G++ Compiler для C++ или Cross GCC Compiler для С, в разделе Includes жмакаем на кнопочку с плюсиком и вписываем адрес нашей библиотеки. Подробности на скриншотах.

Настройка библиотеки MPI в Eclipse

Настройка MPI путей в Eclipse

Теперь научим Eclipse собирать программу. Остаемся в той же вкладке настроек и переходим в подраздел Cross G++ Linker, где в поле command пишем команду mpic++ для C++ и mpicc для C соответственно.

Настройка MPI в Eclipse

Сборка и запуск проекта

Настройка завершена, теперь среда разработки уменьшит количество нашей головной боли на 90% и увеличит продуктивность программирования на 50%(я сам придумал эти цифры). Обмолвлюсь еще раз о том, как собирать и запускать программу, используя все прелести распараллеливания.

Сборку достаточно совершить с помощью Eclipse, нажав на наш любимый молоточек. А вот запускать Eclipse`ом программу бесполезно, потому что он запустит ее на одном процессе, и все наши параллельные натуги канут в лету. Выход простой: открываем консоль, идем в папку с только что собранным исполняемым файлом и запускаем его командой

mpiexec -n 5 ./prog

где 5 — количество процессов, ./prog наш исполняемый файл.

Заключение

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