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