8 Usage: $0 [-c] <parameters file>
11 -n dry-run mode (for debugging)
12 -c (continue) do not overwrite previous results
27 eval test -n "\${$1}" || die "undefined $1"
31 eval test "\${#$1}" -gt 0 || die "undefined $1"
37 while getopts "chn" c; do
46 [ $# -eq 1 ] || usage 1
50 log "Hostname: $(hostname -f)"
52 declare -a TOPOLOGIES ALGORITHMS PLATFORMS COMMON_OPTS
55 log "Reading parameters from \"$1\"."
56 source "$parameters" || die "cannot read parameters file: \"$parameters\""
58 array_check TOPOLOGIES
59 array_check ALGORITHMS
63 variable_check DEADLINE
66 : ${RESULTS:=$PWD/results}
70 --cfg=contexts/factory:raw
73 log "Results from : \"$RESULTS\"."
75 [ $debug = 1 ] && log "Running in dry-run mode"
78 echo "$*" | sed 's,[^ ]*/,,g;s/\.xml//;y/ /_/'
80 params=([0]="Load" [1]="Computation" [2]="Data send amount" [3]="Data send count" )
83 for algo in "${ALGORITHMS[@]}"; do
85 firsttexline=$(echo "$firsttexline r|")
88 firsttexline=$(echo -e "\\\begin{tabular}{$firsttexline}\n\\hline\c")
90 lasttexline="\\end{tabular}"
92 secondtexline="Param/Alg"
93 for algo in "${ALGORITHMS[@]}"; do
95 secondtexline=$(echo -e "$secondtexline&\t${algo}${bk}")
98 secondtexline=$(echo -e "$secondtexline\\t \\\\\\\\ \\hline \\hline\c")
100 mediantexlineend=$(echo -e "\\\\\\\\ \\hline\c")
101 # mediantexlineend=$(echo -e "$mediantexlineend\c")
104 for plat in "${PLATFORMS[@]}"; do
105 tmp=$(basename "$plat" ".xml")
106 plat_output="$RESULTS/plat_$tmp"
107 for topo in "${TOPOLOGIES[@]}"; do
108 topo_output="$plat_output/topo_$topo"
109 topo_data_all_output="$plat_output/data_$topo-all.tex"
110 echo "$firsttexline" > "$topo_data_all_output"
111 echo "$secondtexline" >> "$topo_data_all_output"
112 for target_i in "0" "1" "2" "3"; do
113 target_param=${params[$target_i]};
114 target_position=${params_pos[$target_i]};
115 outfilesuffix=$(outfile "${target_param[@]}")
116 mediantexline="$target_param\t"
117 for algo in "${ALGORITHMS[@]}"; do
118 topo_data_out="$plat_output/data_$topo-$outfilesuffix.tex"
119 algo_output="$topo_output/algo_$algo"
128 for bk in "" "-b"; do
129 tmp=$(outfile "loba" $bk "${args[@]}")
130 infile="$algo_output/$tmp.out"
131 variable=$(tail -17 "$infile" | awk '/'"$target_param"'/{print $'"$target_position"'}')
132 log "Reading $target_param from $infile : $variable"
133 mediantexline=$(echo -e "$mediantexline&$variable\t")
134 echo -e "$algo$bk\t$variable\n" >> "$topo_data_out"
137 echo "$mediantexline" >> "$topo_data_all_output"
138 echo "$mediantexlineend" >> "$topo_data_all_output"
140 echo "$lasttexline" >> "$topo_data_all_output"