我最近尝试使用CentOS在集群上执行并行模型拟合和交叉验证。因为我需要进行10倍的交叉验证,所以我最初通过命令启动10个进程:
mpirun -np 10 --bynode -hostfile ./my_hostfile python my_program&
在每个过程中(进行一次折叠计算),首先进行模型拟合。由于模型拟合可以并行执行,我通过MPI生成函数生成一些额外的过程。额外进程的数量无法预先确定,因此我真的需要生成它们!
这样的程序在我自己的工作站(单节点)上完美运行。但是,当我尝试在群集(跨节点)上运行它时,我收到以下错误消息:
[fs3:06947] [[50533,0],0] ORTE_ERROR_LOG:在第758行的文件库/ plm_base_launch_support.c中找不到
并且所有进程终止。我无法弄清楚为什么会这样。我正在使用python库mpi4py,它绑定到open mpi。
更新
主机文件只包含我保留的节点列表。其中没有“max_slots”或“slot”规范。我相信我已经为这个计算保留了足够的节点。