Ask.Cyberinfrastructure

In a PBS Pro select statement, what's the difference between procs and mpiprocs?

pbs
scheduler

#1

In my job script when I’m using the following options, what are the differences between each of them?
#PBS -l select=8:ncpus=8:mpiprocs=8

CURATOR: Scott Yockel


#2

ANSWER:

The line #PBS -l select=8:ncpus=8:mpiprocs=8, controls how the system allocates processor cores for your MPI jobs.

select=# -- allocate # separate nodes
ncpus=# -- on each node allocate # cpus (cores)
mpiprocs=# -- on each node allocate # cpus (of the ncpus allocated) to MPI

By varying the above, you can control how cpu resources are allocated, The above example allocates 64 cores all of which are for use by MPI (8 nodes with 8 cpus on each node).

If, for example, your program is hybrid MPI/OPENMP program that runs 8 MP threads on 4 mpi control processes, you would use something like: #PBS -l select=4:ncpus=12:mpiprocs=4.