High Performance Computing
This module generates a qsub script and submits it to the cluster if needed.
Subcommand: hpc
Available Options
--email <arg>
Some cluster requires the user to specify the email for a submitted job. This option can specify the email address.
--ram <arg>
It specifies the memory required for the job. The default memory is 10G. The argument must be an integer.
--name <arg>
It specifies the name of the job. The default name of a job is gear.
--submit
If this option is set, the generated script will be submitted to the cluster.
Examples
gear hpc --name hpc-test --ram 80G --email guobo.chen@uq.edu.au --he-sd --grm test --pheno test.phe --mpheno 1 --out test
gear hpc --name hpc-test --ram 80G --email guobo.chen@uq.edu.au --submit --he-sd --grm test --pheno test.phe --mpheno 1 --out test
The first example generates a shell script "hpc-test.sh", which reads below:
#$ -cwd
#$ -l vf=80G
#$ -N HE_MAF_01
#$ -m eas
#$ -M guobo.chen@uq.edu.au
java -jar -Xmx80G /clusterdata/gc5k/bin/gear.jar --he-sd --grm test --pheno test.phe --mpheno 1 --out test
The second example generates the shell script same as above and submits it onto the cluster.
Why not just use qsub command directly instead?
Another reason is that the queuing system may be quite different from one HPC to another.
For example, I configure the shell script only for the QBI cluster, which manages jobs different from Cheaha.
I don't know what the difference of QBI and Cheaha is, maybe QBI doesn't use qsub? But seems that an abstraction of different HPC platform is needed, if there're platform specific qsub options, or we want to support different HPC platforms other than qsub.
Last edit: Zhixiang Zhu 2013-09-15
I see in the code that the default value of --email is guobo.chen@uq.edu.au. I'll remove this default value; otherwise Guobo you will receive junk mails and will have to change the code once you change your frequently used mail address.