Job Control Frequently Asked Questions

For a tutorial on Job Control, see Jobcontrol.

How do I request a GPU for my job?

There is no argument for specifying a GPU for a job. Instead, GPU resources are specified per-host. To request a GPU for your job, check which hosts are available to your machine and submit to a host that includes a GPU resource (e.g. submit to the host bolt-gpu instead of bolt-cpu).

What does the argument -NJOBS mean?

This is an alias for the number that comes after the -HOST argument. See the next question for more information.

I’ve seen a number specified after the host (e.g. -HOST bolt-cpu:8). What does this number mean?

This value specifies to a driver job how many concurrent active subjobs it should have at the same time. Continuing the example in the question, if your job will launch 40 subjobs, you’ll only ever see 8 active (WAITING or RUNNING) at a time. The job will never have more than 8 subjobs running at a time.


NJOBS is ultimately just a bit of information passed along to the backend. It is not automatically enforced by jobcontrol. Instead, a job backend must use JobDJ in order to implement this feature automatically.

What is the default value for NJOBS?

When submitting a job to localhost, NJOBS defaults to 1. When submitting a job to any other host, NJOBS defaults to the number of processors per node (specified by the Schrodinger host entry).

What do the arguments -DRIVERHOST and -SUBHOST mean?

A driver host is the host that will run your driver job. The subhost is the host that all descendant jobs will be submitted to.


SUBHOST will only be automatically used as the host for subjobs if subjobs are launched through JobDJ.

How does -HOST relate to the other host arguments?

-HOST specifies a default for both -DRIVERHOST and -SUBHOST . This means that if you only specify -HOST, that host will be used as both your driver host and the host for your job’s subjobs. If you specify both -HOST and -DRIVERHOST, then the host you supply for -HOST will be used as your subhost.