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

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

7
8
9
# Runs in a given current directory all .ini files with the aid of the RMS
# Parameter 1(Optional) - Amount of executions per file. Must be a positive number
# 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
30
31
32
33
limit_time=$((0))
if [ $# -ge 2 ] #Max time per execution in seconds
then
  limit_time=$(($2 * $qty / 60 + 1))
fi

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

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

45
46
47
  #Execute test
  echo "Execute job $index with Nodes=$node_qty and config_file=$config_file"
  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"