OpenMPI
Особенности
- В сборке Open MPI для ALT LInux по-умолчанию включен флаг "--no-as-needed" для компиляции пользовательских программ
- Бинарники находятся в каталоге /usr/lib64/openmpi, имеет смысл добавить его в $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"/`"