Você precisa compilá-lo com icc
compilador intel . Verifique se você está usando a versão recente, por isso é compatível com o seu gcc. Em seguida, você precisa configurá-lo e compilá-lo seguindo estas instruções sugeridas por @liqizuiyang :
-
Copie o código-fonte para
$HOME
e descomprima.tar -xf openmpi-2.0.1.bz2
-
Crie um novo diretório chamado
build
em seu$HOME
.mkdir build
The 'build' directory is a sub-directory of $HOME, not 'openmpi-1.6.4'. Both 'build' and 'openmpi-1.6.4' are sub-directories of $HOME.
-
Ir para criar e definir variáveis ambientais.
cd build export CC=icc export CXX=icpc export FC=ifort export F77=ifort export CFLAGS=-O2 export CXXFLAGS=-O2 export FCFLAGS=-O2 export FFLAGS=-O2
-
Execute o configure.
../openmpi-2.0.1/configure --prefix="$HOME/code/openmpi-2.0.1
-
Construa o openmpi.
make
-
Execute o conjunto de testes.
make check
-
Instalar.
make install
Aqui estão alguns outros guias para construir o Open MPI:
- Como eu construo o MPI aberto?
- Requisitos para criar a partir de um Checkout do desenvolvedor
- veja o arquivo HACKING na pasta de origem
Outra solução alternativa, como sugerido na FAQ , é criar o Open MPI como uma biblioteca estática configurando o Open MPI com --disable-shared
e --enable-static
. Isso tem o mesmo efeito que --disable-dlopen
, mas também faz libmpi.a
(em oposição a uma biblioteca compartilhada).
Se você ainda tiver o problema seguindo os guias oficiais, aumente o problema em open-mpi , poderia ser algum problema específico para sua distribuição Linux.