Почему импорт MPI из mpi4py прерывает вызовы подпроцесса в mpiexe c? - PullRequest
0 голосов
/ 31 марта 2020

Если я инициирую вызов подпроцесса для mpiexe c в сценарии python, в который импортируется MPI, то вызов завершится неудачно. Например, при вызове python test.py, где test.py имеет следующий код

import subprocess

if __name__ == "__main__":
    subprocess.check_call(["mpiexec","-n","2", "echo", "hello world!"])

, вывод будет

hello world!
hello world!

Но когда test.py равен

import subprocess
from mpi4py import MPI
from mpi4py.futures import MPICommExecutor


if __name__ == "__main__":
    subprocess.check_call(["mpiexec","-n","2", "echo", "hello world!"])

вывод

Traceback (most recent call last):
  File "test.py", line 10, in <module>
    subprocess.check_call(["mpiexec","-n","2", "echo", "hello world!"])
  File "anaconda3/lib/python3.7/subprocess.py", line 347, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['mpiexec', '-n', '2', 'echo', 'hello world!']' returned non-zero exit status 1.

Может кто-нибудь объяснить, почему это происходит?

...