#!/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 '' >> $htmlfile } function print_tr { echo ''"$2"'' >> $htmlfile echo '' >> $htmlfile print_td s $1 float print_td d $1 double print_td c $1 complex echo '' >> $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 '

'$1'

' >> $htmlfile echo '' >> $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 += AT · x   (gemv)' print_tr trmv_up 'y += U · x   (trmv)' print_tr trmv_upt 'y += UT · x   (trmv)' print_tr trmv_lo 'y += L · x   (trmv)' print_tr trmv_lot 'y += LT · x   (trmv)' print_tr trmv_lot 'L · LT = A   (Cholesky,potrf)' cat resources/footer.html >> $htmlfile fi fi