sudoParllelGarli is a collection of programs written in Python script that can be used to run multiple Garli v2.1 processes at the same time. The original program, sudoParallelGarli4pbs.py, was designed for our own cluster, ACE, and leverages on the PBS job scheduler. The newest program, sudoParallelGarli4bash.py, runs without a job scheduler.
Leveraging on the PBS job scheduler
sudoParallelGarli4pbs.py is designed to work in ACE or in very similar
environments using PBS. It requires two files: garli.conf and garli.pbs (these are only templates, modify them according to your needs).
General command line
$ python sudoGarliParallel4pbs.py [-r; -k; -s] [number of replicas; pbs prefix] [number to start with (default = 1)]
Sudo-parallelization of Garli
$ python sudoGarliParallel4pbs.py -r <number of replicas>
-h, --help show this help message and exit -c CONFIGURATION, --configuration CONFIGURATION Path to configuration file (defaulf = garli.conf) -g GARLI, --garli GARLI Path to garli executable (defaulf = garli) -p PROCESSORS, --processors PROCESSORS Maximum number of CPUs to use (default = 1) -r REPLICAS, --replicas REPLICAS Specify a valid number of replicas greater than 1 (default = 1) -s, --select Select best tree and quit (default = off) -S START, --Start START Specify replicate start number (default = 1) -V, --version print version number and exit
Quick tutorial for sudoParallelGarli4bash.py
Running in the background
The following command line would execute sudoParallelGarli_bash.py in the background and release the terminal window for other operations. In this exemple we are using 60 CPUs to run 120 replicates (2 per CPU), starting from the first replicate. All standard output and error will be discarded (into /dev/null).
This is am unpublished project that I am making available, without any guarantee, since it is helping me in my research and it might help ypu as whell. It is a laborious work to make a program available and explain its usage in a way that everyone can understand, and perhaps corrections will be needed to improve this page. Please contact me in case you have any doubts or suggestions.