Before:
.../results/plat_${PLATFORM}/topo_${TOPOLOGY}/algo_${ALGO}/loba_${PARAM}.out
After:
.../results/plat_${PLATFORM}/topo_${TOPOLOGY}/algo_${ALGO}_${VARIANT}.out
with VARIANT being "plain" or "bookkeeping".
plat_output="$RESULTS/plat_$tmp"
for topo in "${TOPOLOGIES[@]}"; do
topo_output="$plat_output/topo_$topo"
plat_output="$RESULTS/plat_$tmp"
for topo in "${TOPOLOGIES[@]}"; do
topo_output="$plat_output/topo_$topo"
+ [ $debug = 0 ] && mkdir -p "$topo_output"
for algo in "${ALGORITHMS[@]}"; do
algo_output="$topo_output/algo_$algo"
for algo in "${ALGORITHMS[@]}"; do
algo_output="$topo_output/algo_$algo"
- [ $debug = 0 ] && mkdir -p "$algo_output"
args=(
-T"$topo"
-a"$algo"
args=(
-T"$topo"
-a"$algo"
- for bk in "" "-b"; do
- tmp=$(outfile "loba" $bk "${args[@]}")
- out="$algo_output/$tmp.out"
+ for bk in "plain" "bookkeeping"; do
+ cmd=( "$LOBA" "${COMMON_OPTS[@]}" )
+ case "$bk" in
+ "plain") : ;;
+ "bookkeeping") cmd+=( "-b" ) ;;
+ *) die "internal error (bk = \"$bk\")" ;;
+ esac
+ out="${algo_output}_${bk}.out"
- cmd=( "$LOBA" "${COMMON_OPTS[@]}" $bk "${args[@]}" )
log "Run: ${cmd[@]}"$'\n'"... &> $outf"
if [ $overwrite = 0 -a -e "$outf" ]; then
log "already run !"
log "Run: ${cmd[@]}"$'\n'"... &> $outf"
if [ $overwrite = 0 -a -e "$outf" ]; then
log "already run !"
-* In run-all:
- - Use more legible names for generated files.
- Current problems are:
- . file names are too long.
- . MORE_ARGS do not appear in file name.
- Why not simply using file names "plain.out", and "bookkeeping.out"?
-
* Support heterogeneous platforms?
Not sure yet.
Should be doable if each process also sends its speed to its neighbors.
* Support heterogeneous platforms?
Not sure yet.
Should be doable if each process also sends its speed to its neighbors.