Queue
eval15 is a cpu intensive program. Different experiments or even
different boxfiles can be processed independently. The following set
of commands use the gridengine queue system to process a set of boxfiles.
Syntax: queuesetup -m experiment/first/rest/set/thread [-s/-ns] [-c/-nc]
Default: queuesetup -m set -s -c
-
- -m experiment
eval15 integration for all boxfiles in one experiment. The average
shifts will propagate through the sequeuence of boxfiles.
- -m first
eval15 integration on all first boxfiles of every experiment.
When the average shifts for these boxfiles have been determined, you can
use queuesetup -m rest to run eval15 on
the remaining boxfiles. The saved shifts of the first boxfile will
be used as initial shifts of the remaining boxfiles of the
corresponding experiment.
- -m rest
Independent eval15 run on on boxfiles. The initial shifts used for every
boxfile are the results of the average shifts of a first boxfile in
every experiment (i.e. after queuesetup -m first)
- -m set
eval15 integration per boxfile. One job for each boxfile. If the number
of boxfiles is large, consider -m thread.
If, by coincidence, the average shifts
of a specific boxfile sNNfMMM.shoe have been saved, they will be
used if sNNfMMM+1 is started.
- -m thread
eval15 integration per boxfile. The number of jobs is set with the
-t option (default=48). Every job will process
a number of sets. This option is useful with large numbers
of boxfiles.
If, by coincidence, the average shifts
of a specific boxfile sNNfMMM.shoe have been saved, they will be
used if sNNfMMM+1 is started.
- A list of experiments/boxfiles (joblist) is
created. This list is sorted on boxfile size or experiment size
(largest one first), unless the commandline
argument -ns has been specified.
-
A script joba is created. This script will be invoked
by the gridengine system using an environment variable SGE_TASK_ID.
This variable specifies the n'th line in joblist.
An eval15all run will be executed for that specific line (experiment or
boxfile or list of boxfiles).
-
A script jobb is created.
If -c has been specified,
jobb will try to remove:
- for every zero-length error file joba.eJJJJ.K
(with JJJJ the job id of joba and K the sequence
number of the array job):
- If no non-zero errorfiles exist:
- for every boxfile sMMfNNN.shoe:
- sMMfNNN.log (eval15 text output)
- sMMfNNN.y (eval15 reflection output)
- joblist. The list of jobs.
- joba jobb. The batch scripts.
jobb will create a file jobb.done
once the yfiles are merged. The cleanup will be running after the creation
of jobb.done.
-
A script jobc can be created by queuestart.
This script can be used to
wait for termination of jobb. See the
wait argument of queuestart.
syntax: queuestart [wait]
- submits the arrayjob joba to the gridengine
queue eval.q. The number of lines in
joblist is specified as argument to the qsub command
to indicate the size of the arrayjob. The gridengine system will
start joba
for every entry in joblist.
- submits job jobb to the gridengine
queue eval.q. This job will only start running
if all the processes of joba have finished.
- queuestart ends here, unless the the optional
argument wait has been given. In that case, a
third job jobc is submitted to the queuesystem.
This job will simply wait for completion of jobb
and the terminal window will synchronize on jobc.
A (premature) control-c in the terminal window will
abort jobc and will not affect
joba or jobb.
- The jobs will be submitted to the queue eval.q.
The environment variable queuename
may be used to select a different queue. For example:
export queuename=main.q
queuestart
or
queuename=main.q queuestart
Use this command to monitor the progress of the batch process, started
with queuestart.
As long as jobb.done is not created, this command
repeatedly invokes
qstat -q $queuename -s r | tail -n +3 | sort -k 6; qstat -s p
queuename defaults to eval.q
syntax: queuestart [-a]
When the batch process has finished, a lot of files are created.
- joblist. The list of jobs.
- joba jobb jobc. The batch scripts.
- jobb.done. Finished signal of jobb
- for every boxfile sMMfNNN.shoe:
- sMMfNNN.evc average shifts
- sMMfNNN.log eval15 text output
- sMMfNNN.y eval15 reflection output
- joba.oJJJJ.K stdout of eval15 run
- joba.eJJJJ.K stderr of eval15 run
JJJJ is the job id of joba. K is the sequence
number of the array job.
- jobb.oLLLL stdout of jobb
- jobb.eLLLL stderr of jobb
If all processes terminated normally,
joba.eJJJJ.K and
jobb.eLLLL will
be empty files, otherwise they will contain the error message describing
the failure of the job.
EVPY Suite Overview