我正在尝试并行处理我的代码。我的鳕鱼的第一部分与Rmpi相似,并且可以正常工作。现在我想通过并行和Snow包并行第二部分(估计泛化错误) 当我想使用此行
cl <- makeMPIcluster(mpi.universe.size())
我收到此错误:makeMPIcluster(mpi.universe.size())中的错误:群集已存在1。 我使用此函数:getMPIcluster(),它返回null! 我该怎么解决?
答案 0 :(得分:1)
我也偶然发现了这个问题。
我认为R中实现的MPI集群是运行单个并行会话,然后需要在下一个会话之前将其关闭,因此您可以保存第一个任务的输出,然后使用:
mpi.quit()
在您的第一个任务结束时,它将关闭R会话。下一步将是重新打开R并加载第一个任务的输出,然后开始第二个并行任务。
但是,如果您的脚本不需要打开-关闭-打开集群,那么我将使用已经打开的集群来完成任务的第二部分。