OpenMPI

Материал из ALT Linux Wiki

Особенности

  • В сборке Open MPI для ALT Linux по умолчанию включен флаг "--no-as-needed" для компиляции пользовательских программ
  • Бинарники находятся в пакете openmpi-devel и лежат в каталоге /usr/lib64/openmpi/bin, имеет смысл добавить его в $PATH

Компиляция

Используется mpicc, mpic++ (mpicxx), mpif77 (mpif99) в зависимости от языка.

Просмотр правил компиляции

На примере mpicc посмотреть команду вызова компилятора:

 mpicc --showme

Посмотреть команду вызова компилятора

 -showme:command

Посмотреть флаги, которые добавляются во время компиляции

 -showme:compile

Посмотреть флаги, которые добавляются во время связывания (линковки)

 -showme:link

Посмотреть список директорий include, используемых во время компиляции

 -showme:incdirs

Посмотреть список директорий библиотек, используемых во время связывания (линковки)

 -showme:libdirs

Посмотреть список библиотек, добавляемых во время связывания (линковки)

 -showme:libs

Посмотреть версию Open MPI

 -showme:version

Флаги компилятора и линкера

Дополнительные флаги могут быть добавлены с помощью префикса 'OMPI_' Например:

 OMPI_CFLAGS
 OMPI_LDFLAGS

Пример включения "--as-needed"

 export OMPI_LDFLAGS="-Wl,--as-needed,-Rpath=/usr/lib/openmpi/lib -L/usr/lib/openmpi/lib"

или, если версия Open MPI заранее неизвестна:

 export OMPI_LDFLAGS="`mpicc -showme:link | sed s/"--no-as-needed"/"--as-needed"/`"