#!/bin/bash # ./runall.sh "Title" # Examples of environment variables to be set: # PREFIX="haswell-fma-" # CXX_FLAGS="-mfma" # CXX=clang++ # Options: # -up : enforce the recomputation of existing data, and keep best results as a merging strategy # -s : recompute selected changesets only and keep bests # -np : no plotting of results, just generate the data if [[ "$*" =~ '-np' ]]; then do_plot=false else do_plot=true fi ./run.sh gemm gemm_settings.txt $* ./run.sh lazy_gemm lazy_gemm_settings.txt $* ./run.sh gemv gemv_settings.txt $* ./run.sh gemvt gemv_settings.txt $* ./run.sh trmv_up gemv_square_settings.txt $* ./run.sh trmv_lo gemv_square_settings.txt $* ./run.sh trmv_upt gemv_square_settings.txt $* ./run.sh trmv_lot gemv_square_settings.txt $* ./run.sh llt gemm_square_settings.txt $* if $do_plot ; then # generate html file function print_td { echo '<td><a href="'$PREFIX'-'$1"$2"'.html"><img src="'$PREFIX'-'$1"$2"'.png" title="'$3'"></a></td>' >> $htmlfile } function print_tr { echo '<tr><th colspan="3">'"$2"'</th></tr>' >> $htmlfile echo '<tr>' >> $htmlfile print_td s $1 float print_td d $1 double print_td c $1 complex echo '</tr>' >> $htmlfile } if [ -n "$PREFIX" ]; then cp resources/s1.js $PREFIX/ cp resources/s2.js $PREFIX/ htmlfile="$PREFIX/index.html" cat resources/header.html > $htmlfile echo '<h1>'$1'</h1>' >> $htmlfile echo '<table>' >> $htmlfile print_tr gemm 'C += A · B (gemm)' print_tr lazy_gemm 'C += A · B (gemm lazy)' print_tr gemv 'y += A · x (gemv)' print_tr gemvt 'y += A<sup>T</sup> · x (gemv)' print_tr trmv_up 'y += U · x (trmv)' print_tr trmv_upt 'y += U<sup>T</sup> · x (trmv)' print_tr trmv_lo 'y += L · x (trmv)' print_tr trmv_lot 'y += L<sup>T</sup> · x (trmv)' print_tr trmv_lot 'L · L<sup>T<sup> = A (Cholesky,potrf)' cat resources/footer.html >> $htmlfile fi fi