所以,现在我正在使用 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_TO_JOB_EXEC/job_executable &”。
另一种更简单的方法是将 for 循环和 wait 替换为:
pbsdsh $PATH_TO_JOB_EXEC/job_executable
这将在分配给您作业的每个核心上运行您的程序副本。如果您需要修改此行为,请查看 pbsdsh 手册页中的可用选项。
关于grid - PBS/扭矩 : how do I submit a parallel job on multiple nodes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30881147/