back to Table of Contents
15. Batch jobs
If several independent EGAD jobs need to be run, possibly on several
hosts, the batch option may be used:
EGAD.exe batch list_of_inputfiles
The list_of_inputfiles file is simply a
list of inputfiles (end the file w/ newline). For example:
my_favorite_mutant.input
/blah/path/repack_core.input
core_design.input
This is equivalent to running a script:
EGAD.exe my_favorite_mutant.input
EGAD.exe /blah/path/repack_core.input
EGAD.exe core_design.input
EGAD will make a inputfile.working
copy of the inputfile, launch a slave job to run it, then delete the
working inputfile copy. The success and failure of each job is recorded
in list_of_inputfiles.log. After all the
jobs are completed (assayed by the presence of the output pdb file for
each job), the master will exit.
The batch mode makes parallelization very simple. If one wishes to use
multiple cpus to process an inputfile list, all that has to be done is
to launch independent batch jobs with the same list of inputfiles file.
Each of these masters will check whether a particular inputfile is
being worked on (by the existence if a .working
file), or is completed (by the existence of the appropriate .pdb file) and work on it. For example
EGAD.exe batch list_of_inputfiles &
EGAD.exe batch list_of_inputfiles &
launches two independent master processes. Each master will read
list_of_inputfiles, and launch the first
inputfile that is not being worked on by another process or has already
been completed. This can be done with any number of independent master
processes, as long as all can access the same directory.
The source code dealing with batch jobs is in batch_jobs.cpp.
back to Table of Contents