| #!/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 |