2017-01-04 3 views
1

J'ai Ubuntu Desktop LTS 16.04.1 et j'ai fait ce qui suit. Je suis allé à https://www.open-mpi.org/software/ompi/v2.0/, téléchargé le openmpi-2.0.1.tar.gz et installé à l'aide des commandes suivantes:Ubuntu mpi4py ne compilera pas

tar -xvf openmpi-2.0.1.tar.gz 
cd openmpi-2.0.1 
./configure --prefix="/home/$USER/.openmpi" 
make 
sudo make install 
export PATH="$PATH:/home/$USER/.openmpi/bin" 
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/$USER/.openmpi/lib/" 
echo export PATH="$PATH:/home/$USER/.openmpi/bin" >> /home/$USER/.bashrc 
echo export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/$USER/.openmpi/lib/" >> /home/$USER/.bashrc 

Après cela, j'ai installé le mpi4py en utilisant:

sudo apt-get update 
sudo apt-get install python-mpi4py 

Après cela, J'ai créé un fichier Python (ma version Python étant Python 2.7.12) nommé something.py ayant les lignes suivantes

from mpi4py import MPI 
comm = MPI.COMM_WORLD 
rank = comm.Get_rank() 
print "hello world from process ", rank 

Lorsque je tente de l'exécuter en utilisant mpiexec n5 python something.py, je reçois les éléments suivants:

------------------------------------------------------- 
Primary job terminated normally, but 1 process returned 
a non-zero exit code.. Per user-direction, the job has been aborted. 
------------------------------------------------------- 
-------------------------------------------------------------------------- 
It looks like orte_init failed for some reason; your parallel process is 
likely to abort. There are many reasons that a parallel process can 
fail during orte_init; some of which are due to configuration or 
environment problems. This failure appears to be an internal failure; 
here's some additional information (which may only be relevant to an 
Open MPI developer): 

    opal_init failed 
    --> Returned value Error (-1) instead of ORTE_SUCCESS 
-------------------------------------------------------------------------- 
*** An error occurred in MPI_Init_thread 
*** on a NULL communicator 
*** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort, 
*** and potentially your MPI job) 
[vlad-VirtualBox:3551] Local abort before MPI_INIT completed successfully; not able to aggregate error messages, and not able to guarantee that all other processes were killed! 
[vlad-VirtualBox:03551] mca: base: component_find: unable to open /usr/lib/openmpi/lib/openmpi/mca_shmem_mmap: /usr/lib/openmpi/lib/openmpi/mca_shmem_mmap.so: undefined symbol: opal_show_help (ignored) 
[vlad-VirtualBox:03551] mca: base: component_find: unable to open /usr/lib/openmpi/lib/openmpi/mca_shmem_sysv: /usr/lib/openmpi/lib/openmpi/mca_shmem_sysv.so: undefined symbol: opal_show_help (ignored) 
[vlad-VirtualBox:03551] mca: base: component_find: unable to open /usr/lib/openmpi/lib/openmpi/mca_shmem_posix: /usr/lib/openmpi/lib/openmpi/mca_shmem_posix.so: undefined symbol: opal_shmem_base_framework (ignored) 
-------------------------------------------------------------------------- 
It looks like opal_init failed for some reason; your parallel process is 
likely to abort. There are many reasons that a parallel process can 
fail during opal_init; some of which are due to configuration or 
environment problems. This failure appears to be an internal failure; 
here's some additional information (which may only be relevant to an 
Open MPI developer): 

    opal_shmem_base_select failed 
    --> Returned value -1 instead of OPAL_SUCCESS 
-------------------------------------------------------------------------- 
-------------------------------------------------------------------------- 
It looks like MPI_INIT failed for some reason; your parallel process is 
likely to abort. There are many reasons that a parallel process can 
fail during MPI_INIT; some of which are due to configuration or environment 
problems. This failure appears to be an internal failure; here's some 
additional information (which may only be relevant to an Open MPI 
developer): 

    ompi_mpi_init: ompi_rte_init failed 
    --> Returned "Error" (-1) instead of "Success" (0) 
-------------------------------------------------------------------------- 
-------------------------------------------------------------------------- 
It looks like orte_init failed for some reason; your parallel process is 
likely to abort. There are many reasons that a parallel process can 
fail during orte_init; some of which are due to configuration or 
environment problems. This failure appears to be an internal failure; 
here's some additional information (which may only be relevant to an 
Open MPI developer): 

    opal_init failed 
    --> Returned value Error (-1) instead of ORTE_SUCCESS 
-------------------------------------------------------------------------- 
*** An error occurred in MPI_Init_thread 
*** on a NULL communicator 
*** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort, 
*** and potentially your MPI job) 
[vlad-VirtualBox:3552] Local abort before MPI_INIT completed successfully; not able to aggregate error messages, and not able to guarantee that all other processes were killed! 
[vlad-VirtualBox:03552] mca: base: component_find: unable to open /usr/lib/openmpi/lib/openmpi/mca_shmem_mmap: /usr/lib/openmpi/lib/openmpi/mca_shmem_mmap.so: undefined symbol: opal_show_help (ignored) 
[vlad-VirtualBox:03552] mca: base: component_find: unable to open /usr/lib/openmpi/lib/openmpi/mca_shmem_sysv: /usr/lib/openmpi/lib/openmpi/mca_shmem_sysv.so: undefined symbol: opal_show_help (ignored) 
[vlad-VirtualBox:03552] mca: base: component_find: unable to open /usr/lib/openmpi/lib/openmpi/mca_shmem_posix: /usr/lib/openmpi/lib/openmpi/mca_shmem_posix.so: undefined symbol: opal_shmem_base_framework (ignored) 
-------------------------------------------------------------------------- 
It looks like opal_init failed for some reason; your parallel process is 
likely to abort. There are many reasons that a parallel process can 
fail during opal_init; some of which are due to configuration or 
environment problems. This failure appears to be an internal failure; 
here's some additional information (which may only be relevant to an 
Open MPI developer): 

    opal_shmem_base_select failed 
    --> Returned value -1 instead of OPAL_SUCCESS 
-------------------------------------------------------------------------- 
-------------------------------------------------------------------------- 
It looks like MPI_INIT failed for some reason; your parallel process is 
likely to abort. There are many reasons that a parallel process can 
fail during MPI_INIT; some of which are due to configuration or environment 
problems. This failure appears to be an internal failure; here's some 
additional information (which may only be relevant to an Open MPI 
developer): 

    ompi_mpi_init: ompi_rte_init failed 
    --> Returned "Error" (-1) instead of "Success" (0) 
-------------------------------------------------------------------------- 

La plupart des solutions à dire openmpi installer directement à partir de la source, que je l'ai fait, mais cela ne semblait pas résoudre mon problème. Quelqu'un a un problème similaire?

Répondre

1

Je viens de résoudre ceci: J'ai désinstallé mpi4py, j'ai installé python-pip et j'ai installé avec sudo le mpi4py via pip. Liste des comands:

sudo apt-get remove python-mpi4py 
sudo apt-get update && sudo apt-get -y upgrade 
sudo apt-get install python-pip 
sudo pip install mpi4py 

REMARQUE: Vous allez devoir attendre un peu après l'sudo apt-get update & & sudo apt-get -y mise à niveau. Cette question peut être fermée maintenant, merci.