Grid PBS/TORQUE:如何在多个节点上提交并行作业?

Grid PBS/TORQUE:如何在多个节点上提交并行作业?,grid,pbs,torque,grid-computing,Grid,Pbs,Torque,Grid Computing,所以,现在我正在使用qsub提交集群上的作业,但它们似乎总是在单个节点上运行。我目前通过以下方式运行它们: #PBS -l walltime=10 #PBS -l nodes=4:gpus=2 #PBS -r n #PBS -N test range_0_total = $(seq 0 $(expr $total - 1)) for i in $range_0_total do $PATH_TO_JOB_EXEC/job_executable & done wait 如果

所以,现在我正在使用
qsub
提交集群上的作业,但它们似乎总是在单个节点上运行。我目前通过以下方式运行它们:

#PBS -l walltime=10
#PBS -l nodes=4:gpus=2
#PBS -r n
#PBS -N test

range_0_total = $(seq 0 $(expr $total - 1)) 

for i in $range_0_total
do
    $PATH_TO_JOB_EXEC/job_executable &
done
wait

如果您能告诉我我是否做错了什么,或者只是我的测试任务太小,我将不胜感激。

按照您的方法,您需要让for循环遍历$PBS_NODEFILE指向的文件中的所有条目,然后在循环中需要“ssh$I$PATH\u to\u JOB\u EXEC/JOB\u executable&”

另一种更简单的方法是将for循环替换为等待:

pbsdsh $PATH_TO_JOB_EXEC/job_executable

这将在分配给作业的每个核心上运行程序的副本。如果您需要修改此行为,请查看pbsdsh手册页中的可用选项。

碰巧看到这篇文章,这里有一个后续问题-您提到pbsdsh会在每个节点上创建一个程序副本-如果我的每个副本都有不同的变量名,请怎么办?