1#!/bin/bash 2 3# ./runall.sh "Title" 4 5# Examples of environment variables to be set: 6# PREFIX="haswell-fma-" 7# CXX_FLAGS="-mfma" 8# CXX=clang++ 9 10# Options: 11# -up : enforce the recomputation of existing data, and keep best results as a merging strategy 12# -s : recompute selected changesets only and keep bests 13# -np : no plotting of results, just generate the data 14 15if [[ "$*" =~ '-np' ]]; then 16 do_plot=false 17else 18 do_plot=true 19fi 20 21./run.sh gemm gemm_settings.txt $* 22./run.sh lazy_gemm lazy_gemm_settings.txt $* 23./run.sh gemv gemv_settings.txt $* 24./run.sh gemvt gemv_settings.txt $* 25./run.sh trmv_up gemv_square_settings.txt $* 26./run.sh trmv_lo gemv_square_settings.txt $* 27./run.sh trmv_upt gemv_square_settings.txt $* 28./run.sh trmv_lot gemv_square_settings.txt $* 29./run.sh llt gemm_square_settings.txt $* 30 31if $do_plot ; then 32 33# generate html file 34 35function print_td { 36 echo '<td><a href="'$PREFIX'-'$1"$2"'.html"><img src="'$PREFIX'-'$1"$2"'.png" title="'$3'"></a></td>' >> $htmlfile 37} 38 39function print_tr { 40 echo '<tr><th colspan="3">'"$2"'</th></tr>' >> $htmlfile 41 echo '<tr>' >> $htmlfile 42 print_td s $1 float 43 print_td d $1 double 44 print_td c $1 complex 45 echo '</tr>' >> $htmlfile 46} 47 48if [ -n "$PREFIX" ]; then 49 50 51cp resources/s1.js $PREFIX/ 52cp resources/s2.js $PREFIX/ 53 54htmlfile="$PREFIX/index.html" 55cat resources/header.html > $htmlfile 56 57echo '<h1>'$1'</h1>' >> $htmlfile 58echo '<table>' >> $htmlfile 59print_tr gemm 'C += A · B (gemm)' 60print_tr lazy_gemm 'C += A · B (gemm lazy)' 61print_tr gemv 'y += A · x (gemv)' 62print_tr gemvt 'y += A<sup>T</sup> · x (gemv)' 63print_tr trmv_up 'y += U · x (trmv)' 64print_tr trmv_upt 'y += U<sup>T</sup> · x (trmv)' 65print_tr trmv_lo 'y += L · x (trmv)' 66print_tr trmv_lot 'y += L<sup>T</sup> · x (trmv)' 67print_tr trmv_lot 'L · L<sup>T<sup> = A (Cholesky,potrf)' 68 69cat resources/footer.html >> $htmlfile 70 71fi 72fi 73