slurm random use cpu annotations
This commit is contained in:
@@ -97,7 +97,6 @@ do if [[ "${!i}" == */_command ]]
|
||||
sleep 1; [ "$retrys" -gt 15 ] && break;
|
||||
}
|
||||
done ' >> "$JOBFILE"
|
||||
grep ^metadata.CPU "${!i}"
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
@@ -48,7 +48,20 @@ do
|
||||
done
|
||||
|
||||
mkdir -p "$JOBROOT"
|
||||
JOBNAME=job_$( date +"%y%m%d_%H%M%S" )_$( echo $@ | md5sum | cut -f1 -d" " )
|
||||
for (( i=1; i<=$#; i++ ))
|
||||
do if [[ "${!i}" == */_command ]]
|
||||
then JOBNAME=job_
|
||||
COMPONENTNAME=$( grep ^metadata.componentName= "${!i}" | sed s,^metadata.componentName=,, | sed -e 's/[^A-Za-z0-9._-]/_/g' )
|
||||
INSTANCENAME=$( grep ^metadata.instanceName= "${!i}" | sed s,^metadata.instanceName=,, | sed -e 's/[^A-Za-z0-9._-]/_/g' )
|
||||
JOBNAME="$JOBNAME"$( grep ^metadata.sourceLocation= "${!i}" | sed s,^metadata.sourceLocation=,, | sed -e 's/[^A-Za-z0-9._-]/_/g' )
|
||||
JOBNAME="$JOBNAME"_$INSTANCENAME
|
||||
JOBNAME="$JOBNAME"_$COMPONENTNAME
|
||||
JOBNAME="$JOBNAME"_$( date +"%y%m%d_%H%M%S" )
|
||||
CPU=$( grep ^metadata.cpu= "${!i}" | sed s,^metadata.cpu=,, )
|
||||
MEMORY=$( grep ^metadata.memory= "${!i}" | sed s,^metadata.cpu=,, )
|
||||
export USERDEFINED=$( grep ^metadata.userDefined= "${!i}" | sed s,^metadata.userDefined=,, )
|
||||
fi
|
||||
done
|
||||
JOBPATH="$JOBROOT/$JOBNAME"
|
||||
while [ -d "$JOBPATH" ]
|
||||
do echo Jobpath "$JOBPATH" exists
|
||||
@@ -60,6 +73,8 @@ JOBFILE="$JOBPATH/job"
|
||||
STATFILE="$JOBPATH/statistics"
|
||||
STRMFILE="$JOBPATH/stream"
|
||||
EXECPATH=$( pwd )
|
||||
[[ -z "$CPU" ]] || export CPU="-c $CPU"
|
||||
[[ -z "$MEMORY" ]] || export MEMORY="--mem $MEMORY"
|
||||
|
||||
# create the jobfile
|
||||
echo '#!/bin/bash' > "$JOBFILE"
|
||||
@@ -95,19 +110,17 @@ echo 'EC=$?' >> "$JOBFILE"
|
||||
echo "date +'Stop: %s' >> \"$STATFILE\" " >> "$JOBFILE"
|
||||
echo 'exit $EC' >> "$JOBFILE"
|
||||
|
||||
echo "The job file is in $JOBFILE"
|
||||
# send the job
|
||||
echo \#srun $CPU $MEMORY -J $INSTANCENAME --nodelist=${NODELIST[$INDEX]} slurm-cake "$JOBFILE" "$JOBFILE" >> "$JOBFILE"
|
||||
srun $CPU $MEMORY -J $INSTANCENAME --nodelist=${NODELIST[$INDEX]} slurm-cake "$JOBFILE" "$JOBFILE"
|
||||
EC=$?
|
||||
# clear out old job definitions (semirandomly)
|
||||
(
|
||||
[[ -e "$JOBROOT"/.lastdel ]] || touch "$JOBROOT"/.lastdel
|
||||
if test "$( find $JOBROOT/.lastdel -mmin +30 )"
|
||||
then touch "$JOBROOT"/.lastdel
|
||||
find "$JOBROOT" -maxdepth 2 -mindepth 2 -type f -mtime +20 -delete 2>/dev/null
|
||||
find "$JOBROOT" -type d -depth -empty -delete 2>/dev/null
|
||||
fi
|
||||
) &
|
||||
|
||||
echo "The job file is in $JOBFILE"
|
||||
# send the job
|
||||
srun --nodelist=${NODELIST[$INDEX]} slurm-cake "$JOBFILE" "$JOBFILE"
|
||||
EC=$?
|
||||
wait
|
||||
exit $EC
|
||||
|
||||
Reference in New Issue
Block a user