pbs - 了解 qsub 中的 -t 选项

标签 pbs qsub torque

关于 -t 选项在使用 qsub 提交作业时究竟做了什么,文档有点不清楚

http://docs.adaptivecomputing.com/torque/4-0-2/Content/topics/commands/qsub.htm

来自文档:

-t Specifies the task ids of a job array. Single task arrays are allowed. The array_request argument is an integer id or a range of integers. Multiple ids or id ranges can be combined in a comma delimited list. Examples: -t 1-100 or -t 1,10,50-100

这是一个出错的例子,我请求了 2 个节点,每个节点 8 个进程,以及一个包含 16 个作业的数组。我曾希望将其自然分布在 2 个节点上,但 16 个任务是临时分布在 2 个以上的节点上。

$ echo 'hostname' | qsub -q gpu -l nodes=2:ppn=8 -t 1-16
52727[]
$ cat STDIN.o52727-* | sort
gpu-3.local
gpu-3.local
gpu-3.local
gpu-3.local
gpu-5.local
gpu-5.local
gpu-5.local
gpu-5.local
gpu-5.local
gpu-5.local
gpu-7.local
gpu-7.local
gpu-7.local
gpu-7.local
gpu-7.local
gpu-7.local

最佳答案

我怀疑这不会完全回答您的问题,但您希望完成的具体目标仍不清楚。

使用 qsub -t 指定数组只会创建单独的作业,所有作业都具有相同的主 ID。按照您指定的方式提交将创建 16 个作业,每个作业总共需要 16 个核心。这种语法只是让一次提交大量作业变得更容易,而无需编写提交循环脚本。

单独使用 Torque(即忽略调度程序),您可以通过这样说来将作业强制到特定节点:

qsub -l nodes=gpu-node01:ppn=8+gpu-node02:ppn=8

更高级的调度程序可以为您提供更大的灵 active (例如,Moab 或 Maui 允许“-l nodes=2:ppn=8,nallocpolicy=exactnode”,它将 NODEALLOCATIONPOLICY EXACTNODE 应用于作业调度,并将在正好两个节点(在本例中为任意两个节点)上分别为您提供 8 个内核。

关于pbs - 了解 qsub 中的 -t 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37777648/

相关文章:

machine-learning - Tensorflow:启动新 session 时出现扭矩和 GPU 问题:CUDA_ERROR_INVALID_DEVICE

python - 在没有实际作业文件的情况下提交 qsub 作业的语法?

pbs - PBS_NODEFILE在pbs中是如何工作的?

sungridengine - 确保 Star Cluster/SunGridEngine (AGE) 上的每个节点一个作业

python - 复制文件描述符时什么时候调用flush()?

pbs - PBS 批处理系统是否跨节点移动多个串行作业?

fortran - PBS 工作和 Fortran

php - PBS 作业返回队列时间和运行时间

parallel-processing - 何时使用 MPI、OpenMP 和 PBS Pro 进行超线程?

bash - QSUB:为作业数组中的每个任务指定输出和错误文件