-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrun_1_testfit.sh
More file actions
executable file
·66 lines (52 loc) · 1.56 KB
/
run_1_testfit.sh
File metadata and controls
executable file
·66 lines (52 loc) · 1.56 KB
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
#!/usr/bin/env bash
set -euo pipefail
if [ $# -ne 3 ];
then echo "Incorrect number of arguments. Usage: ./run.sh runcard_name batch_name mode={gpu,cpu}" >&2; exit 1
fi
runcard="$1"
batch="$2"
mode="$3" # gpu or cpu
# pick DAG file
case "$mode" in
gpu) dag="DAG_GPU" && fit="n3fit.gpu.sub" ;;
cpu) dag="DAG_CPU" && fit="n3fit.cpu.sub" ;;
*) echo "mode must be gpu or cpu" >&2; exit 1 ;;
esac
echo $fit
dir=fit-${runcard}
workingdir=$(pwd)
#workingdir=/data/theorie/jkoorn/nnpdf/fits/test_runall
mkdir -p $workingdir/$dir
# Check for .yaml or .yml
if [ -f "${runcard}.yaml" ]; then
RCFILE="${runcard}.yaml"
elif [ -f "${runcard}.yml" ]; then
RCFILE="${runcard}.yml"
else
echo "Error: no runcard found for ${runcard} (.yaml or .yml)"
exit 1
fi
cp $RCFILE $workingdir/$dir
mkdir -p $workingdir/$dir/testlogs
mkdir -p $workingdir/$dir/outfiles
# work inside target dir
cp scripts/* $workingdir/$dir
cd $workingdir/$dir
#pushd "$dir" >/dev/null
# substitute
tmp="${dag}.tmp"
sed "s/RUNCARD_ID_REPLACE_ME/${runcard}/g" "$dag" > "$tmp"
mv "$tmp" "$dag"
tmp="${dag}.tmp"
sed "s/seq 1 130/seq 1 10/g" "$fit" > "$tmp"
mv "$tmp" "$fit"
sed -i "s|CURRENTDIRCHANGEINSCRIPT|${workingdir}|g" evolve.sh
sed -i "s|CURRENTDIRCHANGEINSCRIPT|${workingdir}|g" vpsetupfit.sh
sed -i "s|CURRENTDIRCHANGEINSCRIPT|${workingdir}|g" n3fit.cpu.sh
sed -i "s|CURRENTDIRCHANGEINSCRIPT|${workingdir}|g" n3fit.gpu.sh
# submit
condor_submit_dag -f -batch-name "$batch" "$dag"
# restore original DAG
#sed "s/${runcard}/RUNCARD_ID_REPLACE_ME/g" "$dag" > "$tmp"
#mv "$tmp" "$dag"
cd ..