我在集群上使用 Slurm 和 openMPI 时遇到了一些问题。每当我运行任何使用
mpirun
的作业时,我都会收到以下错误:
--------------------------------------------------------------------------
An ORTE daemon has unexpectedly failed after launch and before
communicating back to mpirun. This could be caused by a number
of factors, including an inability to create a connection back
to mpirun due to a lack of common network interfaces and/or no
route found between them. Please check network connectivity
(including firewalls and network routing requirements).
--------------------------------------------------------------------------
这个问题突然出现,而且这个问题似乎在计算节点上普遍存在。
看似相关,
srun
现在也失败了,并显示以下消息:
srun: error: Task launch for <jobid> failed on node <nodename>: Job credential expired
srun: error: Application launch failed: Job credential expired
srun: Job step aborted: Waiting up to 32 seconds for job step to finish.
感谢任何人可能提供的帮助!
编辑:添加示例
如果我在头节点上运行
mpirun hostname
,一切正常。但是,在 slurm 分配 (salloc
) 中,当我运行 mpirun hostname
时,我收到错误。
我遇到了困难,因为日志没有足够的信息。如果您通过
mpiexec
运行此程序,我建议使用 -d
和 --debug-daemons
选项。这让我发现了 openmpi4/gcc/4.1.2/bin/orted
所需的一些缺失的库。
例如
mpiexec --d --np 2 ....
和
mpiexec --debug-daemons --np 2 ....
查看
mpiexec
的联机帮助页以了解更多调试选项。看起来 mpirun
有类似的调试选项。我正在使用 OpenMPI-4.1.2。