54 lines
1.2 KiB
Bash
Executable File
54 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
USAGE="Usage: "$( basename $0 )" [options] [--] [command including srun options]
|
|
Sends the command to a queue with srun
|
|
Version (c) Ville.Rantanen@helsinki.fi
|
|
Options:
|
|
--possess Possess the whole node for the run
|
|
-c N Request number of CPUs [Def 4]
|
|
--mem M Request M Gb of memory [Def 20]
|
|
-h This help
|
|
|
|
Use the -- switch to separate switches assigned to slurp vs anything after..
|
|
"
|
|
if [ -z "$1" ]
|
|
then echo -e "$USAGE"
|
|
exit 1
|
|
fi
|
|
SHARE=-s
|
|
CPU=4
|
|
MEM=20
|
|
declare -a argv=("$@")
|
|
for (( i=1; i<=${#} ;i++ ))
|
|
do [[ ${!i} == "--possess" ]] && {
|
|
echo Will possess the whole node.
|
|
SHARE=""
|
|
unset argv[$(( $i - 1 ))]
|
|
}
|
|
[[ ${!i} == "-c" ]] && {
|
|
CPU=${argv[$i]}
|
|
unset argv[$(( $i - 1 ))]
|
|
unset argv[$(( $i ))]
|
|
}
|
|
[[ ${!i} == "--mem" ]] && {
|
|
MEM=${argv[$i]}
|
|
unset argv[$(( $i - 1 ))]
|
|
unset argv[$(( $i ))]
|
|
continue
|
|
}
|
|
[[ ${!i} == "--mem="* ]] && {
|
|
MEM=${argv[$(( $i - 1 ))]#*=}
|
|
unset argv[$(( $i - 1 ))]
|
|
}
|
|
[[ ${!i} == "-h" ]] && {
|
|
echo -e "$USAGE"
|
|
exit 1
|
|
}
|
|
[[ ${!i} == "--" ]] && {
|
|
break
|
|
}
|
|
done
|
|
MEM=$(( 1024*$MEM ))
|
|
echo Running command: srun $SHARE -c $CPU --mem $MEM "${argv[@]}"
|
|
srun -v $SHARE -c $CPU --mem $MEM "${argv[@]}"
|