grid - PBS/扭矩 : how do I submit a parallel job on multiple nodes?

标签 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

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

最佳答案

按照您的方法,您需要让 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/

相关文章:

c++ - 如果可执行文件在两个或多个节点上运行,为什么无法看到环境变量?

android - obd适配器的初始化

javascript - dhtmlxgrid : getting an xml string of grid data

javascript - 为什么在调用 ExtJS Grid Store Load 时执行了太多请求?

javascript - 在 SlickGrid 中保存更改

memory - 查找 PBS 作业使用的最大内存

javascript - ASP.NET MVC 应用程序最快的网格组件是什么

scripting - 为什么 pbs(dsh) 将我的任务安排到一个节点上?

python - 如何在 Python 脚本中获取 PBS/Torque/Slurm 作业完成状态

pbs - 使用扭矩/PBS "access from host not allowed"创建新队列