What is the syntax of PBS job limit directive

225 views Asked by At

I'm trying to write a (Python) function to generate PBS job submission scripts. The user should be able to request some limits for the job for instance the number of process per node, the amount of memory and the walltime. I have found many example on how to set those resources but I have never found an accurate description.

For instance the number of nodes (node) and the number of processes per node (ppn) are often written on the same line but I don't know if it's mandatory. Will it work if I set those 2 parameters on 2 different (possibly non-contiguous) lines? This would greatly simplify the implementation. mem, which is also related to the node configuration, is often set on another line which makes me think that it possible.

In a previous implementation, I have tried to write all the options on the same line but I have noticed that the walltime for instance was not honored. Does anyone know an exhaustive documentation on that? If no, does anyone know if I can separate nodes and ppn.

1

There are 1 answers

1
Jon Lund Steffensen On BEST ANSWER

Here is the description from the TORQUE software (one implementation of PBS): http://docs.adaptivecomputing.com/suite/8-0/basic/help.htm#topics/torque/2-jobs/requestingRes.htm

From the document it seems that the nodes resource has to be specified on one line, specifically as

{<node_count> | <hostname>} [:ppn=<ppn>][:gpus=<gpu>] [:<property>[:<property>]...] [+ ...]

Keep in mind that PBS (https://en.wikipedia.org/wiki/Portable_Batch_System) is a general system with more than one implementation, so there may be differences in how the resources are requested.