runAll.sh 1.36 KB
Newer Older
1
2
#!/bin/bash

3
dir="/home/martini/tmp/malleability_benchmark"
4
5
6
partition="P1"
exclude="c00,c01,c02"

7
# Runs in a given current directory all .ini files with the aid of the RMS
8
# Parameter 1(Optional) - Amount of executions per file. Must be a positive number
9
# Parameter 2(Optional) - Maximum amount of time in seconds needed by a single execution. Default value is 0, which indicates infinite time. Must be a positive integer.
10
11
12
13
14
#====== Do not modify these values =======

codeDir="/Codes/build"
execDir="/Exec"
ResultsDir="/Results"
15
cores=$(bash $dir$execDir/BashScripts/getCores.sh $partition)
16
17
18
19
20
21
22
23
use_extrae=0

qty=1
if [ $# -ge 1 ]
then
  qty=$1
fi

24
25
26
27
28
29
limit_time=$((0))
if [ $# -ge 2 ] #Max time per execution in seconds
then
  limit_time=$(($2 * $qty / 60 + 1))
fi

30
31
32
33
34
files="./*.ini"
internalIndex=$(echo $files | tr -cd ' ' | wc -c)
index=$((0))
for config_file in $files
do
35
  node_qty=$(bash $dir$execDir/BashScripts/getMaxNodesNeeded.sh $config_file $dir $cores)
36
37
38
39
40
41
42
43
44
45
46

  outFileIndex=$(echo $config_file | sed s/[^0-9]//g)
  if [[ $outFileIndex ]]; then 
    index=$outFileIndex
  else 
    index=$internalIndex
    ((internalIndex++))
  fi

  #Execute test
  echo "Execute job $index with Nodes=$node_qty and config_file=$config_file"
47
  sbatch -p $partition --exclude=$exclude -N $node_qty -t $limit_time $dir$execDir/generalRun.sh $dir $cores $config_file $use_extrae $index $qty
48
49
done
echo "End"