У меня проблема с запуском кода python Hello World mpi4py на виртуальной машине.
Код hello.py:
#!/usr/bin/python
#hello.py
from mpi4py import MPI
comm = MPI.COMM_WORLD
size = comm.Get_size()
rank = comm.Get_rank()
print "hello world from process ", rank,"of", size
Я пытался запустить его с помощью mpiexec и mpirun, но он не работает. Выход:
$ mpirun -c 4 python hello.py
hello world from process 0 of 1
hello world from process 0 of 1
hello world from process 0 of 1
hello world from process 0 of 1
И из mpiexec:
$ mpiexec -n 4 python hello.py
hello world from process 0 of 1
hello world from process 0 of 1
hello world from process 0 of 1
hello world from process 0 of 1
Похоже, они не получают звание и размер комм. Что может вызвать это? Как это решить?
mpiexec --version
mpiexec (OpenRTE) 1.6.5
mpirun --version
mpirun (Open MPI) 1.6.5
Система - Ubuntu 14.04 на Virtal Machine.
Есть идеи, почему? Спасибо!
mpi4py.get_config()
возвращает компиляторы, которые находятся на том же пути, что и ваш mpirun? - person Jonathan Dursi   schedule 25.03.2015mpi4py.get_config()
возвращает{'mpicxx': '/usr/bin/mpicxx', 'mpif77': '/usr/bin/mpif77', 'mpicc': '/usr/bin/mpicc', 'mpif90': '/usr/bin/mpif90'}
Но я пробовал то же самое на моем локальном хосте и получил тот же результат (та же конфигурация), а на моем локальном хосте код работает. - person ziuu   schedule 27.03.2015mpirun: /usr/bin/mpirun.mpich /usr/bin/mpirun /usr/bin/mpirun.openmpi /usr/bin/X11/mpirun.mpich /usr/bin/X11/mpirun /usr/bin/X11/mpirun.openmpi /usr/share/man/man1/mpirun.1.gz
mpiexec:/usr/bin/mpiexec.mpich /usr/bin/mpiexec.hydra /usr/bin/mpiexec /usr/bin/mpiexec.openmpi /usr/bin/X11/mpiexec.mpich /usr/bin/X11/mpiexec.hydra /usr/bin/X11/mpiexec /usr/bin/X11/mpiexec.openmpi /usr/share/man/man1/mpiexec.1.gz
Извините за форматирование, я только узнаю, как использовать Stack Oerflow - person ziuu   schedule 28.03.2015