установка OpenMPI или MPICH2 в MSYS2-MinGW - PullRequest
1 голос
/ 14 марта 2020

Я хочу использовать любую из реализаций FLOSS MPI (то есть OpenMPI или MPICH2) с моей средой MSYS-MinGW и компиляторами. Учтите, что мне известен Microsoft MPI SDK mingw64/mingw-w64-x86_64-msmpi, который вы можете найти с помощью

pacman -Ss msmpi

и установить с помощью

pacman -S msmpi

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

pacman -Ss mpi

, но результатов слишком много, чтобы проверить их вручную, а поисковые запросы openmpi или mpich2 не дали результатов. Итак, у меня следующие вопросы:

  • Являются ли какие-либо реализации FLOSS MPI, поставляемые с MinGW или MSYS2
  • , если нет, как их можно установить?

PS1. У Cygwin есть некоторые openmpi связанные пакеты, поэтому удивительно, почему MSYS2, AFIK, являющийся вилкой Cygwin, не имеет!

PS2. Двоичные файлы MPICH2 доступны здесь , но они значительно отстают от последних сборок для других платформ. Это просто печально!

PS3. Удивительно, что реализация Microsoft MPI на самом деле с открытым исходным кодом! Похоже, что это форк MPICH или, по крайней мере, совместим с ним.

1 Ответ

1 голос
/ 14 марта 2020

Основная задача MSYS2 - предоставить вам среду для создания собственных Windows приложений.

Поэтому вполне естественно, что он будет экспортировать привязки в собственную реализацию Microsoft MPI, без предоставления портов других реализаций MPI, таких как OpenMPI или MPICH, которые зависят от полного уровня POSIX.

От Чем MSYS2 отличается от Cygwin :

MSYS2 пытается предоставить среду для создания собственного Windows программного обеспечения. MSYS2 предоставляет большую коллекцию пакетов, содержащих такое программное обеспечение, и библиотеки для их разработки. Поскольку большая часть программного обеспечения использует инструменты сборки GNU, тесно связанные с миром unix, эта среда также POSIX-совместима и фактически основана на Cygwin.

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

На этой странице содержится более подробная информация о том, как MSYS2 использует Cygwin и POSIX-совместимый слой, главным образом для предоставления портов инструментов. необходим в среде build , главным образом для поддержки POSIX-подобных систем сборки (таких как autoconf, make, meson и т. д. c.), в то же время, в основном, с целью предоставления этим инструментам поддержки для сборки Windows native двоичные файлы и портирование приложений для собственного запуска на Windows.

...