我有一些python代碼,我經常產生多個進程。我得到一個錯誤:mpi4py:關閉MPI Spawn?
ORTE_ERROR_LOG: The system limit on number of pipes a process can open was reached in file odls_default_module.c at line 809
我的代碼大致是這樣的
import mpi4py
comm = MPI.COMM_WORLD
...
icomm = MPI.COMM_SELF.Spawn(sys.executable,args=["front_process.py",str(rank)],maxprocs=no_fronts)
...
message = icomm.recv(source=MPI.ANY_SOURCE,tag=21)
...
icomm.Free()
產卵命令被稱爲非常頻繁,我認爲他們保持「開放」,儘管給我完成後, icomm.Free()
命令。我如何正確「關閉」一個產生的過程?
您能否提供MWE? – MBR
根據mpi4py動態進程管理手冊(p14)的示例,應調用'icomm.Disconnect()'。 http://mpi4py.scipy.org/ – francis