This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
script_tricks [2014/02/16 19:53] rdiazgar |
script_tricks [2014/02/16 20:08] (current) rdiazgar |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Script Tricks ====== | + | ====== Job Parameters ====== |
- | Here's the meaning of useful parameters that we can add in the header of our job scripts. | + | Here's the meaning of useful parameters that we can add in the header of our job scripts. You can either add them on the header of a script or directly in the qsub command. |
<code> | <code> | ||
#$ -N NAME = Names our job in the cluster as specified in NAME | #$ -N NAME = Names our job in the cluster as specified in NAME | ||
#$ -q QUEUE = Automatically sends our job to the specified queue in QUEUE, so we don't need to specify it in the qsub command. | #$ -q QUEUE = Automatically sends our job to the specified queue in QUEUE, so we don't need to specify it in the qsub command. | ||
- | #$ -M EMAIL = Sends notifications of the job status to the specified address in EMAIL, according to criteria below | + | #$ -M EMAIL = Sends notifications of the job status to the specified address in EMAIL, according to criteria below. |
- | #$ -m beas = Send you email of job status (b)egin, (e)rror, (a)bort, (s)suspend | + | #$ -m beas = Send you email of job status (b)egin, (e)rror, (a)bort, (s)suspend. |
+ | #$ -e DIRNAME = redirects error logs to DIRNAME. Default is home directory | ||
+ | #$ -o DIRNAME = redirects standard output to DIRNAME. Default is home directory. | ||
+ | #$ -l hostname=HNAME = forces queue to submit job in the specified HNAME (cronus, rhea, etc...). | ||
</code> | </code> | ||
- | Sample header for some script myscript.sh: | + | Sample header for hello_world.sh: |
<code> | <code> | ||
- | #!/bin/csh | + | #!/bin/bash |
# | # | ||
- | #$ -N parsedisco | + | #$ -N hello_world |
#$ -M someaddress@uci.edu | #$ -M someaddress@uci.edu | ||
#$ -m beas | #$ -m beas | ||
#$ -q ttn.q | #$ -q ttn.q | ||
+ | |||
+ | echo "hello world" | ||
</code> | </code> | ||
- | more info at [[http://hpc.oit.uci.edu/running-jobs|http://hpc.oit.uci.edu/running-jobs]] | + | Another way to do it is by removing the #$ parameters of the header and run: |
- | + | ||
- | ====== Log files ====== | + | |
- | + | ||
- | Another cool thing from SGE is that it automatically creates a log file in the root of your home folder, and leaves two log files, JOBNAME.eJOBID and JOBNAME.oJOBID. 'e' is for error messages and 'o' is for standard output. To create these log files in the directory where you actually make the qsub call, add the following parameter: | + | |
<code> | <code> | ||
- | qsub foo.sh -cwd | + | qsub -N hello_world -M someaddress@uci.edu -m beas -q ttn.q hello_world.sh |
</code> | </code> | ||
- | More info at [[http://www.ics.uci.edu/computing/linux/sge.php|http://www.ics.uci.edu/computing/linux/sge.php]] | + | ====== Log files ====== |
+ | |||
+ | SGE automatically creates 2 log files in the default/specified folder, JOBNAME.eJOBID and JOBNAME.oJOBID. 'e' is for error messages and 'o' is for standard output. | ||