2016-08-16 6 views
0

新しいサーバーにmpi4pyを設定しましたが、それはうまく動作しません。 mpi4py.MPIをインポートすると、クラッシュします。しかし、私がmpiexecの下で同じことをすると、それは動作します。私の他のサーバーと私のワークステーションで、どちらのテクニックも正常に動作します。新しいサーバーで何が欠けていますか?ここでmpi4pyはmpiexecでしか動作しません

は、新しいサーバー上で何が起こるかです:

$ python -c 'from mpi4py import MPI; print("OK")' 
-------------------------------------------------------------------------- 
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): 

    PMI2_Job_GetId failed failed 
    --> Returned value (null) (14) instead of ORTE_SUCCESS 
-------------------------------------------------------------------------- 
-------------------------------------------------------------------------- 
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): 

    orte_ess_init failed 
    --> Returned value (null) (14) instead of ORTE_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 "(null)" (14) instead of "Success" (0) 
-------------------------------------------------------------------------- 
*** 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) 
[Octomore:45430] Local abort before MPI_INIT completed successfully; not able to aggregate error messages, and not able to guarantee that all other processes were killed! 

私はmpiexecでそれを実行した場合、それは大丈夫です。

$ mpiexec -np 1 python -c 'from mpi4py import MPI; print("OK")' 
OK 

私はCentOS 6.7で動作しています。私はソフトウェアコレクションとしてPython 2.7をインストールしましたが、openmpi/gnu/1.10.2モジュールをロードしました。 MPICHとMPICH2もインストールされているため、OpenMPIと競合する可能性があります。私はMPICHモジュールをロードしていません。私はvirtualenvの中のPythonを実行している:

$ pip list 
mpi4py (2.0.0) 
pip (8.1.2) 
setuptools (18.0.1) 
wheel (0.24.0) 
+0

環境内に何か不具合があります。 'printenv'の出力を' mpiexec -np 1'を介して直接実行する場合と比較してください。ヒント:それぞれの出力を 'ソート 'し、' diff'を使います。 –

答えて

0

それはmpi4pyは、OpenMPIのバージョン1.10.2と互換性がないことが判明しました。それはバージョン1.6.5で正常に動作します。

$ module load openmpi/gnu/1.6.5 
$ python -c 'from mpi4py import MPI; print("OK")' 
OK 
関連する問題