ARCHIVED: On Quarry at IU, what is the paralleljob script, and how do I use it to submit jobs?
On Quarry at Indiana University, the paralleljob
script provides a convenient method for submitting parallel
(multiple-processor) programs to the TORQUE resource
manager. The paralleljob
script works only for parallel
applications that are "single-program, multiple-data" (i.e., a single
binary). It does not work for parallel applications that consist of
more than one binary (i.e., "multiple-programs, multiple-data"). For
complete documentation, enter man paralleljob
.
On this page:
Setting up your user environment
On the research supercomputers at Indiana University, the Modules environment management system provides a convenient method for dynamically customizing your software environment.
To use the paralleljob
script, your user environment
must include the local-utils/20130301
module. To
determine whether the local-utils/20130301
is already
added, on the command line, enter:
module list
If you don't see local-utils/20130301
listed, use the
module load
command to add it to your environment:
module load local-utils/20130301
For example, to automatically load the
local-utils/20130301
module every time you log into
Quarry, add the following line to your ~/.modules
file:
module load local-utils/20130301
Using the script
When you use paralleljob
to submit a job on Quarry,
you can specify the number of processes to start, how long the job
should be allowed to run, and the queue to which the job should be
submitted. By default, the script launches four processes for up to
two hours. The syntax is paralleljob
is (the flags in
brackets are optional):
paralleljob program_name program_options [-CPUS np] [-wallhours n] [-jobname my_job]
In the example above, replace:
program_name
with the name of the program you want to runprogram_options
with any command-line options you want passed to the programnp
with the number of processes to startn
with the number of hours the job should be allowed to runmy_job
with the name of your job
For example, to run a program called speedster
on an
input file called my_data.dat
), setting the application's
-speed
option to super
and launching four
processes for up to two hours, on the command line, you would enter:
paralleljob speedster -speed super mydata.dat
To run the same application (with the same options on the same input file), but launch 16 processes and run for up to 48 hours, you would enter:
paralleljob speedster -speed super mydata.dat -CPUS 16 -wallhours 48
To run the same application (with the same options on the same
input file), but launch 512 processes, run for up to 10 hours, and
label the job my_job
, you would enter:
paralleljob speedster -speed super mydata.dat -CPUS 512 -wallhours 10 -jobname my_job
Note the following:
- When your job runs, the current working directory of your program
will be the directory where you invoked
paralleljob
. If the program you want to run is not in your your default path, you must specify the full path to the program. - The
paralleljob
script accepts only double-quoted arguments; it treats single quotes as double quotes. - An appropriate version of
mpirun
must be in your path or specified by the MPIRUN environment variable. Each flavor of MPI has its own version ofmpirun
. If you have compiled your parallel application usingmpicc
or another appropriate compiler,mpirun
should already be in your path.
If you need help or have questions about using the
paralleljob
script on Quarry, contact the UITS
Scientific Applications and Performance Tuning (SciAPT) team.
If you have system-specific questions about Quarry, contact the UITS High Performance Systems group.
This is document axtp in the Knowledge Base.
Last modified on 2023-04-21 16:57:04.