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)
100 echo "par6 = ${par6}"
101 echo "par7 = ${par7}"
104 format='+%Y/%m/%d-%H:%M:%S'
110 echo "--------------------------------"
111 echo "RUNNING ON HOST : " $host
112 echo "WORKING DIR : " $(pwd)
113 echo "USER is : " $USER
114 echo "DISK USAGE /tmp :"
116 echo "--------------------------------"
120 echo "--------------------------------"
121 echo "par1 = ${par1}"
122 echo "par2 = ${par2}"
123 echo "par3 = ${par3}"
124 echo "par4 = ${par4}"
125 echo "par5 = ${par5}"
126 echo "par6 = ${par6}"
127 echo "par7 = ${par7}"
128 echo "--------------------------------"
134 echo "--------------------------------"
136 echo "==> Kernel version information :"
138 echo "==> C compiler that built the kernel:"
140 echo "==> load on this node:"
142 echo "==> actual compiler is"
144 echo "--------------------------------"
154 ###################################################################
155 ###################################################################
156 # EDIT THIS PART TO EXECUTE YOUR JOB!
160 #----------------------
162 echo "==> running enironment script ${par1}"
164 #----------------------
166 echo "==> ldd ${par2}"
169 echo "==> execute program "
178 echo created subdir $mysubdir
179 echo create link to input
182 # echo "==> ${par2} -b -c -f ${par3}"
183 # time $par2 -b -c -f $par3
184 files=$(echo $par3 | sed 's/,/ /g')
188 entr=$(cat /proc/sys/kernel/random/entropy_avail)
190 echo check entropy : ${entr}
194 if [[ $file =~ _([0-9]*).dat$ ]];
196 filenumber=${BASH_REMATCH[1]}
197 echo "filenumber is ${filenumber}"
200 replace=$(cat ../replaceMask.txt)
201 replace=$(echo $replace | sed "s/XXX/$filenumber/g")
202 echo "Setting up replace : $replace"
204 echo "==> Execute replace"
207 echo "==> ${par2} -b -c -f ${file}"
208 time $par2 -b -c -f $file
211 infile=$(../extract_outfile.pl -i ${file} ) # output file of hgeant
212 outdir=$(dirname $infile)
213 outfile=$(basename $infile)
215 ../testFiles2 $infile # return 0 if ok
221 echo "FILE $infile is corrupted, will be removed!"
223 par6="no" # do not do vertex ectract
225 if [ ! -d $outdir/crash ]
227 mkdir -p $outdir/crash
229 echo "write log $outfile ==> $outdir/crash/${outfile}.txt"
230 echo $outfile > $outdir/crash/${outfile}.txt
236 outdir=${outdir}/vertex
238 echo "==> ../${par6} $infile $outdir -1"
239 time ../${par6} $infile $outdir -1
247 if [ -d sub_${myline} ]
249 echo remove subdir sub_${myline}
253 # END EDIT YOUR EXECUT JOB!
254 ###################################################################
255 ###################################################################
264 echo "--------------------------------"
265 echo "Job with params "
266 echo "par1 = ${par1}"
267 echo "par2 = ${par2}"
268 echo "par3 = ${par3}"
269 echo "par4 = ${par4}"
270 echo "par5 = ${par5}"
271 echo "par6 = ${par6}"
272 echo "par7 = ${par7}"
274 echo "--------------------------------"
279 echo "--------------------------------"
280 echo "MONITOR ENVIRONMENT:"
281 echo "SLURM_JOBID : " $SLURM_JOBID
282 echo "SLURM_ARRAY_JOB_ID : " $SLURM_ARRAY_JOB_ID
283 echo "SLURM_ARRAY_TASK_ID: " $SLURM_ARRAY_TASK_ID
284 echo "RUNNING ON HOST : " $(hostname)
285 echo "WORKING DIR : " $(pwd)
286 echo "USER is : " $USER
287 echo "DISK USAGE /tmp :------------"
289 echo "--------------------------------"
299 files=$(echo $par3 | sed 's/,/ /g')
304 filename=$(basename $file)
305 filename=$(echo $filename | sed 's/.log//')
312 filename=${filename}_part
315 mv ${pathoutputlog}/slurm-${SLURM_ARRAY_JOB_ID}_${SLURM_ARRAY_TASK_ID}.out ${pathoutputlog}/${filename}.log