MPI 機能を備えた IPython クラスターを開始しようとして非常に苦労しています。まず、MPI と MPI4py がインストールされており、動作しています。ipython内からmpi pythonコードを実行する方法をついに見つけました。ただし、IPython ノートブックで動作する mpi プロファイルを取得しようとしていて、途方に暮れています。私はすべてのドキュメントを読み、このテーマに関する講義をたくさん見ましたが、誰かがしていることを再現しようとするたびに、常にエラーが発生します。わかりましたので、bashプロンプトから入力すると:
ipython profile create --parallel --profile=mpi
ノートブックに移動して、そのクラスターを確認できます。次に、アクション開始ボタンを押して開始すると、起動します。しかし、そうすると:
%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
bashプロンプトから、そこからクラスターを開始しようとすると、いつでもプロンプトが返されません。GUIボタンでprofile = mpiを開始した後にノートブックからこれを配置すると、次のようになります。
from IPython.parallel import Client
c=Client(profile='mpi')
c.IPClusterEngines.engine_launcher_class='MPIEngineSetLauncher'
別のエラーが表示されます。この 2 日間シミュレーションを実行できるように、このことを実行しようとしてきましたが、これを行う方法を誰も知らない学校にいます。誰か助けてください