【问题标题】:Qsub job using subprocess from worker node on cluster使用集群上工作节点的子进程的 Qsub 作业
【发布时间】:2014-06-04 07:48:40
【问题描述】:

我正在尝试使用 qsub 提交一个 python 作业,该作业又使用 subprocess 和 qsub 提交几个其他作业。

我使用如下所示的 2 个 bash 脚本提交这些作业。 run_test 是第一个提交的,run_script 是通过子进程提交的。

$ cat run_test
#$ -cwd
#$ -V
#$ -pe openmpi 1
mpirun -n 1 python test_multiple_submit.py

$ cat run_script
#$ -cwd
#$ -V
#$ -pe openmpi 1
mpirun -n 1 python $1

我遇到了第二个脚本的问题,它似乎在 mpirun 调用时挂起。之前我从 bash 收到一个关于“模块”未找到但最近消失的错误。

python脚本的简化版本如下所示

import subprocess

subprocess.Popen(cmd)

subprocess.Popen('qsub run_script '+input)

<Some checks to see if jobs are still running>

第一个子进程在当前节点上运行一个案例,第二个子进程应该将作业外包给另一个节点,然后进行一些检查以查看作业是否仍在运行。还有一些其他位也可以提交其他作业,但我很确定这不是脚本的问题。

谁能解释第二个脚本失败的原因?

【问题讨论】:

    标签: python bash qsub


    【解决方案1】:

    我发现集群上的计算节点没有提交主机,因此出现错误。唯一的提交主机是头节点。

    qconf -ss
    

    上面列出了提交主机。以管理员身份将节点添加到峰会列表如下所示:

    qconf -as < host name>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多