2014-09-27 2 views
2

У меня очень трудное время, пытаясь запустить кластер IPython с возможностями MPI. Прежде всего, у меня установлены MPI и MPI4py, и они работают. Я, наконец, понял, как запустить код python mpi из ipython. Тем не менее, я пытаюсь получить рабочий профиль mpi в ноутбуке IPython, и я в недоумении. Я прочитал всю документацию и даже просмотрел много лекций по этому вопросу, и каждый раз, когда я пытаюсь воспроизвести то, что делает кто-то, я всегда получаю ошибки. Хорошо, поэтому, если я напечатаю из приглашения bash:Запуск кластера MPI для IPython

ipython profile create --parallel --profile=mpi 

Я могу зайти в блокнот и увидеть этот кластер. Тогда, если я запустить его, нажав на кнопку запуска действий начинается up.But тогда, если я делаю:

%pylab inline 
from IPython.parallel import Client, error 
cluster=Client(profile="mpi") 
view=cluster[:] 
view.block=True 

%%px 

from mpi4py import MPI 
import numpy as np 
import time 

mpi=MPI.COMM_WORLD 
bcast=mpi.bcast 
barrier=mpi.barrier 
rank=mpi.rank 
print "MPI rank is %i/%i" % (rank,mpi.size) 

я получаю:

MPI rank is 0/1 
MPI rank is 0/1 
MPI rank is 0/1 
MPI rank is 0/1 
MPI rank is 0/1 
MPI rank is 0/1 
MPI rank is 0/1 
MPI rank is 0/1 

Далее, если я делаю:

from Ipython import parallel 

rc=parallel.Client() 
rc.block=True 
rc.ids 

Я получаю сообщение об ошибке, указывающее на строку rc = parallel.Client(). Тогда обе эти функции отлично работают с кластером по умолчанию ... Также я попытался

ipcluster start -n 8 --engines=MPIEngineSetLauncher 

Из Баш строки и я никогда не получить подсказки обратно в любое время я пытаюсь запустить кластер оттуда, и если я положил это из ноутбука после я начала профиль = МПИ с помощью кнопки GUI:

from IPython.parallel import Client 
c=Client(profile='mpi') 
c.IPClusterEngines.engine_launcher_class='MPIEngineSetLauncher' 

я получаю еще одну ошибку. Я пытался сделать это, поэтому я могу запускать симуляцию в течение последних двух дней, и я в школе, где никто не знает, как это сделать. Пожалуйста, помогите мне

+0

Что такое «еще одна ошибка»? –

ответ

1

Хорошо. Поэтому я просто не понимаю, что после запуска:

ipython profile create --parallel --profile=mpi 

затем:

ipcluster start -n 8 --engines=MPIEngineSetLauncher 

Вы должны просто открыть новый терминал, и пусть эти двигатели работают в старом терминале. ЭТО ОНО! Затем вы можете перейти на ipython, и все эти команды работают.