Среда программирования MPI
Общие сведения
Название "интерфейс передачи сообщений", говорит само за себя. Это хорошо стандартизованный механизм для построения параллельных программ в модели обмена сообщениями. Существуют стандартные "привязки" MPI к языкам С/С++, Fortran 77/90. Существуют бесплатные и коммерческие реализации почти для всех суперкомпьютерных платформ, а также для сетей рабочих станций UNIX и Windows NT. В настоящее время MPI - наиболее широко используемый и динамично развивающийся интерфейс из своего класса.
Стандартизацией MPI занимается
MPI Forum.
Последняя версия стандарта - 2.0. В этой версии к MPI добавлены такие
важные элементы функциональности, как динамическое управление
процессами, односторонние коммуникации (Put/Get), параллельный
ввод/вывод. Однако ни в одной реализации на настоящее время интерфейс
MPI 2.0 полностью не поддерживается.
Установлена mvapich - оптимизированная реализация MPI для коммуникационной сети InfiniBand. Использование - абсолютно аналогично mpich (ссылки см. ниже). MPICH.
Переносимая реализация (работает почти на всех UNIX-системах и Windows NT),
разработанная в Argonne National Laboratory.
Поддерживаются кластеры на базе SMP-узлов.
Поддерживается стандарт MPI 1.2
и некоторые элементы стандарта MPI 2.0.
Для настройки компилятора, с которым хочет работать пользователь,
необходимо воспользоваться утилитой mpi-selector:
Реализация на кластере СКИФ МГУ
ВНИМАНИЕ! для корректной работы в mvapich следует использовать команду mpicxx вместо применяемой в mpich mpiCC.
Примеры