3 # This is the generic jobscript to run jobs on GridEngine
5 # The script supports up to 7 parameters.
7 # The user specific part of the script is indicated below.
21 echo "Usage : jobScript.sh par1 [par2] [par2] [par3] [par4] [par5] [par6] [par7]"
63 *) echo "Unsupported number of arguments"
64 echo "Usage : jobScript.sh par1 [par2] [par2] [par3] [par4] [par5] [par6] [par7]"
70 echo "--------------------------------"
71 echo "SLURM_JOBID : " $SLURM_JOBID
72 echo "SLURM_ARRAY_JOB_ID : " $SLURM_ARRAY_JOB_ID
73 echo "SLURM_ARRAY_TASK_ID: " $SLURM_ARRAY_TASK_ID
74 echo "--------------------------------"
81 ((myline=${SLURM_ARRAY_TASK_ID}+${arrayoffset}))
82 # map back params for the job
83 input=$(awk "NR==${myline}" $jobarrayFile) # get all params for this job
86 par1=$(echo $input | cut -d " " -f1)
87 par2=$(echo $input | cut -d " " -f2)
88 par3=$(echo $input | cut -d " " -f3)
89 par4=$(echo $input | cut -d " " -f4)
90 par5=$(echo $input | cut -d " " -f5)
91 par6=$(echo $input | cut -d " " -f6)
92 par7=$(echo $input | cut -d " " -f7)
95 echo "--------------------------------"
100 echo "par4 = ${par4}"
101 echo "par5 = ${par5}"
102 echo "par6 = ${par6}"
103 echo "par7 = ${par7}"
104 echo "--------------------------------"
108 format='+%Y/%m/%d-%H:%M:%S'
112 echo "--------------------------------"
113 echo "RUNNING ON HOST : " $(hostname)
114 echo "WORKING DIR : " $(pwd)
115 echo "USER is : " $USER
116 echo "DISK USAGE /tmp :"
118 echo "--------------------------------"
122 echo "--------------------------------"
124 echo "==> Kernel version information :"
126 echo "==> C compiler that built the kernel:"
128 echo "==> load on this node:"
130 echo "==> actual compiler is"
132 echo "--------------------------------"
142 ###################################################################
143 ###################################################################
144 # EDIT THIS PART TO EXECUTE YOUR JOB!
148 #----------------------
150 echo "==> running enironment script ${par1}"
152 #----------------------
154 echo "==> ldd ${par2}"
157 echo "==> execute program "
160 if [[ $par4 =~ '#' ]] # format file#filevertex : use vertex ntuple
165 if [ $useVertex -eq 0 ]
167 files=$(echo $par4 | sed 's/,/ /g')
170 echo "==> $par2 $par3 $file $par5 $par6 $par7"
171 time $par2 $par3 $file $par5 $par6 $par7
172 # prog outdir outfile type nev switch
175 files=$(echo $par4 | sed 's/,/ /g')
178 outfile=$(echo $file | cut -d "#" -f1)
179 vertexfile=$(echo $file | cut -d "#" -f2)
180 echo "==> $par2 $par3 $outfile $par5 $par6 $par7 $vertexfile"
181 time $par2 $par3 $outfile $par5 $par6 $par7 $vertexfile
182 # prog outdir outfile type nev switch $vertexntuple
186 #---------------------------------------------------------------------
190 # END EDIT YOUR EXECUT JOB!
191 ###################################################################
192 ###################################################################
201 echo "--------------------------------"
202 echo "Job with params "
203 echo "par1 = ${par1}"
204 echo "par2 = ${par2}"
205 echo "par3 = ${par3}"
206 echo "par4 = ${par4}"
207 echo "par5 = ${par5}"
208 echo "par6 = ${par6}"
209 echo "par7 = ${par7}"
211 echo "--------------------------------"
217 echo "--------------------------------"
218 echo "MONITOR ENVIRONMENT:"
219 echo "SLURM_JOBID : " $SLURM_JOBID
220 echo "SLURM_ARRAY_JOB_ID : " $SLURM_ARRAY_JOB_ID
221 echo "SLURM_ARRAY_TASK_ID: " $SLURM_ARRAY_TASK_ID
222 echo "RUNNING ON HOST : " $(hostname)
223 echo "WORKING DIR : " $(pwd)
224 echo "USER is : " $USER
225 echo "DISK USAGE /tmp :------------"
227 echo "--------------------------------"
234 # when running single file move log file name
236 if [ "$par4" == "$files" ]
238 echo "MOVING LOG FILE"
239 outfile=$(basename $par4)
240 mv ${pathoutputlog}/slurm-${SLURM_ARRAY_JOB_ID}_${SLURM_ARRAY_TASK_ID}.out ${pathoutputlog}/${outfile}.log