forked from jmansour/scaling_scripts
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathscaling_test_job_launcher.sh
executable file
·71 lines (62 loc) · 2.39 KB
/
scaling_test_job_launcher.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/bin/bash
source params.sh
if (($SCALING_TYPE==1)); then
TYPE="Weak"
elif (($SCALING_TYPE==2)); then
TYPE="Strong"
else
echo "Scaling type must be 1 (weak) or 2 (strong)."
exit 1
fi
export NAME="Results_${TYPE}_${UW_NAME}_DIM_${UW_DIM}_BASE_${SCALING_BASE}_ORDER_${UW_ORDER}_MAXITS_${UW_MAX_ITS}_TOL_${UW_SOL_TOLERANCE}_PENALTY_${UW_PENALTY}_IO_${UW_ENABLE_IO}_MODEL_${UW_MODEL}"
## find the BATCH environment ##
#################################
if qstat --version &> /dev/null ; then
BATCH_SYS="PBS"
export NAME="${NAME}_Gadi"
elif squeue --version &> /dev/null ; then
BATCH_SYS="SLURM"
export NAME="${NAME}_Setonix"
else
echo "Can't determine batch system"
exit 1
fi
echo "Batch system is $BATCH_SYS"
#################################
mkdir -p ${NAME}
cp *.sh ${NAME}
cp *.py ${NAME}
cd ${NAME}
for i in ${JOBS}
do
if (($SCALING_TYPE==1)); then
export UW_RESOLUTION="$((${SCALING_BASE} * ${i}))"
else
export UW_RESOLUTION=${SCALING_BASE}
fi
export NTASKS="$((${i}*${i}*${i}))"
export EXPORTVARS="UW_RESOLUTION,NTASKS,UW_ENABLE_IO,UW_ORDER,UW_DIM,UW_SOL_TOLERANCE,UW_MAX_ITS,UW_PENALTY,UW_MODEL,PICKLENAME"
if [ $BATCH_SYS == "PBS" ] ; then
PBSTASKS=`python3 <<<"print((int(${NTASKS}/48) + (${NTASKS} % 48 > 0))*48)"` # round up to nearest 48 as required by nci
# memory requirement guess: 3GB * nprocs
MEMORY="$((3*${PBSTASKS}))GB"
CMD="qsub -v ${EXPORTVARS} -N ${NAME} -l storage=gdata/m18+gdata/q97,ncpus=${PBSTASKS},mem=${MEMORY},walltime=${WALLTIME},wd -P ${ACCOUNT} -q ${QUEUE} gadi_container_go.sh"
echo ${CMD}
${CMD}
else
#export IMAGE=/group/m18/singularity/underworld/underworld2_2.10.0b_rc.sif
#export IMAGE=/group/m18/singularity/underworld/underworld2_v29.sif
if [[ "$QUEUE" == "express" ]] ; then
export QUEUE="work"
else
export QUEUE="work"
fi
export OUTNAME="Res_"${UW_RESOLUTION}"_Nproc_"${NTASKS}"_JobID_"%j".out"
# Container
#CMD="sbatch --export=IMAGE,${EXPORTVARS} --job-name=${NAME} --output=${OUTNAME} --ntasks=${NTASKS} --time=${WALLTIME} --account=${ACCOUNT} --partition=${QUEUE} setonix_container_go.sh"
# Baremetal
CMD="sbatch --export=IMAGE,${EXPORTVARS} --job-name=${NAME} --output=${OUTNAME} --ntasks=${NTASKS} --time=${WALLTIME} --account=${ACCOUNT} setonix_baremetal_go.sh"
echo ${CMD}
${CMD}
fi
done