From 00ff6fddbef56d312f2b45f9900ba6d3383eb51c Mon Sep 17 00:00:00 2001 From: Moises Fernandez <moisesf@fmrib.ox.ac.uk> Date: Thu, 28 Feb 2013 16:13:43 +0000 Subject: [PATCH] Change to don't repeat all slices in case of fail in one --- CUDA/bedpostx_multigpu_LSF | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/CUDA/bedpostx_multigpu_LSF b/CUDA/bedpostx_multigpu_LSF index 34d17f8..5ec32c8 100755 --- a/CUDA/bedpostx_multigpu_LSF +++ b/CUDA/bedpostx_multigpu_LSF @@ -205,7 +205,6 @@ echo "Compilation Time: $diff seconds" >> ${subjdir}.bedpostX/times echo "CUDA CODE compiled successfully" -mailto=`whoami`@fmrib.ox.ac.uk before=`date +%s` echo Preprocessing stages ${FSLDIR}/bin/bedpostx_preproc.sh ${subjdir} ${gflag} @@ -224,21 +223,27 @@ post_string="bsub -o ${subjdir}'.bedpostX/logs/output.log -e ${subjdir}.bedpostX post_string=$post_string" -w " echo Submitting slices to GPUs +first_job=1 while [ $slice -lt $nslices ];do - - string=$(bsub -o ${subjdir}'.bedpostX/logs/output.log' -e ${subjdir}'.bedpostX/logs/error.log' -W 0:15 -n 1 ${FSLDIR}'/bin/splitter_multigpu' $subjdir $gflag $nfibres $slice $opts) - array=(`echo $string | tr "<" ' '`) - aux=${array[1]} - array=(`echo $aux | tr ">" ' '`) - job=${array[0]} - #echo $job - -if [ $slice -eq $(($nslices-1)) ];then - post_string=$post_string"done("${job}")" -else - post_string=$post_string"done("${job}")&&" -fi - slice=$(($slice + 1)) + slicezp=`$FSLDIR/bin/zeropad $slice 4` + if [ `$FSLDIR/bin/imtest ${subjdir}.bedpostX/diff_slices/data_slice_$slicezp/dyads1` -eq 1 ];then + echo "Slice $slice has already been processed" + else + string=$(bsub -o ${subjdir}'.bedpostX/logs/output.log' -e ${subjdir}'.bedpostX/logs/error.log' -W 0:30 -n 1 ${FSLDIR}'/bin/splitter_multigpu' $subjdir $gflag $nfibres $slice $opts) + array=(`echo $string | tr "<" ' '`) + aux=${array[1]} + array=(`echo $aux | tr ">" ' '`) + job=${array[0]} + #echo $job + + if [ $first_job -eq 1 ];then + post_string=$post_string"done("${job}")" + first_job=0 + else + post_string=$post_string"&&done("${job}")" + fi + fi + slice=$(($slice + 1)) done post_string=$post_string" ${FSLDIR}/bin/bedpostx_postproc.sh $subjdir" -- GitLab