Add a LU decomposition action in BTL and various cleaning in BTL. For instance

all per plot settings have been moved to a single file, go_mean now takes an
optional second argument "tiny" to generate plots for tiny matrices, and
output of comparison information wrt to previous benchs (if any).
This commit is contained in:
Gael Guennebaud
2008-08-04 23:12:48 +00:00
parent c2f8ecf466
commit a7a05382d1
40 changed files with 327 additions and 109 deletions

View File

@@ -1,9 +1,8 @@
ADD_CUSTOM_TARGET(copy_scripts)
SET(script_files go_mean aat.hh ata.hh axpy.hh axpby.hh cholesky.hh trisolve.hh hessenberg.hh tridiagonalization.hh
order_lib mk_mean_script.sh mk_new_gnuplot.sh mk_gnuplot_script.sh
matrix_matrix.hh matrix_vector.hh atv.hh perlib_plot_settings.txt gnuplot_common_settings.hh )
SET(script_files go_mean mk_mean_script.sh mk_new_gnuplot.sh
perlib_plot_settings.txt action_settings.txt gnuplot_common_settings.hh )
FOREACH(script_file ${script_files})
ADD_CUSTOM_COMMAND(

View File

@@ -1,4 +0,0 @@
set title "{/*1.5 A x A^T}"
set xlabel "matrix size" 0.000000,0.000000
set xrange [4:1024]

View File

@@ -0,0 +1,12 @@
aat ; "{/*1.5 A x A^T}" ; "matrix size" ; 4:1024
ata ; "{/*1.5 A^T x A}" ; "matrix size" ; 4:1024
atv ; "{/*1.5 matrix^T x vector}" ; "matrix size" ; 4:1024
axpby ; "{/*1.5 Y = alpha * X + beta * Y}" ; "vector size" ; 5:1000000
axpy ; "{/*1.5 Y += alpha * X}" ; "vector size" ; 5:1000000
matrix_matrix ; "{/*1.5 matrix matrix product}" ; "matrix size" ; 4:1024
matrix_vector ; "{/*1.5 matrix vector product}" ; "matrix size" ; 4:1024
trisolve ; "{/*1.5 triangular solver (X = inv(L) * X)}" ; "size" ; 4:1024
cholesky ; "{/*1.5 Cholesky decomposition}" ; "matrix size" ; 4:1024
lu_decomp ; "{/*1.5 LU decomposition}" ; "matrix size" ; 4:1024
tridiagonalization ; "{/*1.5 Tridiagonalization}" ; "matrix size" ; 4:1024
hessenberg ; "{/*1.5 Hessenberg decomposition}" ; "matrix size" ; 4:1024

View File

@@ -1,4 +0,0 @@
set title "{/*1.5 A^T x A}"
set xlabel "matrix size" 0.000000,0.000000
set xrange [4:1024]

View File

@@ -1,3 +0,0 @@
set title "{/*1.5 matrix^T x vector}" 0.000000,0.000000
set xlabel "matrix size" 0.000000,0.000000
set xrange [4:1024]

View File

@@ -1,3 +0,0 @@
set title "{/*1.5 Y = alpha * X + beta * Y}" 0.000000,0.000000
set xlabel "vector size" 0.000000,0.000000
set xrange [5:1000000]

View File

@@ -1,3 +0,0 @@
set title "{/*1.5 Y += alpha * X}" 0.000000,0.000000
set xlabel "vector size" 0.000000,0.000000
set xrange [5:1000000]

View File

@@ -1,3 +0,0 @@
set title "{/*1.5 Cholesky decomposition}" 0.000000,0.000000
set xlabel "matrix size" 0.000000,0.000000
set xrange [6:1000]

View File

@@ -5,7 +5,9 @@ mkdir -p $1
EIGENDIR=`cat eigen_root_dir.txt`
webpagefilename=$1/index.html
#cp header.html $webpagefilename
meanstatsfilename=$1/mean.html
echo '' > $meanstatsfilename
echo '' > $webpagefilename
echo '<p><strong>Configuration</strong>' >> $webpagefilename
echo '<ul>'\
@@ -16,17 +18,19 @@ echo '<ul>'\
'</ul>' \
'</p>' >> $webpagefilename
source mk_mean_script.sh axpy $1 11 2500 100000 250000 > $1/axpy.html
source mk_mean_script.sh axpby $1 11 2500 100000 250000 > $1/axpby.html
source mk_mean_script.sh matrix_vector $1 11 50 300 1000 > $1/matrix_vector.html
source mk_mean_script.sh atv $1 11 50 300 1000 > $1/atv.html
source mk_mean_script.sh matrix_matrix $1 11 100 300 1000 > $1/matrix_matrix.html
source mk_mean_script.sh aat $1 11 100 300 1000 > $1/aat.html
source mk_mean_script.sh ata $1 11 100 300 1000 > $1/ata.html
source mk_mean_script.sh trisolve $1 11 100 300 1000 > $1/trisolve.html
source mk_mean_script.sh cholesky $1 11 100 300 1000 > $1/cholesky.html
source mk_mean_script.sh hessenberg $1 11 100 300 1000 > $1/hessenberg.html
source mk_mean_script.sh tridiagonalization $1 11 100 300 1000 > $1/tridiagonalization.html
source mk_mean_script.sh axpy $1 11 2500 100000 250000 $2
source mk_mean_script.sh axpby $1 11 2500 100000 250000 $2
source mk_mean_script.sh matrix_vector $1 11 50 300 1000 $2
source mk_mean_script.sh atv $1 11 50 300 1000 $2
source mk_mean_script.sh matrix_matrix $1 11 100 300 1000 $2
source mk_mean_script.sh aat $1 11 100 300 1000 $2
source mk_mean_script.sh ata $1 11 100 300 1000 $2
source mk_mean_script.sh trisolve $1 11 100 300 1000 $2
source mk_mean_script.sh cholesky $1 11 100 300 1000 $2
source mk_mean_script.sh lu_decomp $1 11 100 300 1000 $2
source mk_mean_script.sh tridiagonalization $1 11 100 300 1000 $2
source mk_mean_script.sh hessenberg $1 11 100 300 1000 $2
## compile the web page ##

View File

@@ -1,3 +0,0 @@
set title "{/*1.5 Hessenberg decomposition}" 0.000000,0.000000
set xlabel "matrix size" 0.000000,0.000000
set xrange [6:1000]

View File

@@ -1,3 +0,0 @@
set title "{/*1.5 matrix matrix product}"
set xlabel "matrix size" 0.000000,0.000000
set xrange [4:1024]

View File

@@ -1,3 +0,0 @@
set title "{/*1.5 matrix vector product}" 0.000000,0.000000
set xlabel "matrix size" 0.000000,0.000000
set xrange [4:1024]

View File

@@ -6,12 +6,14 @@ MAXIC=$4
MINOC=$5
MAXOC=$6
meanstatsfilename=$2/mean.html
WORK_DIR=tmp
mkdir $WORK_DIR
DATA_FILE=`find $DIR -name "*.dat" | grep _${WHAT}`
echo ""
echo $"1..."
echo "$1..."
for FILE in $DATA_FILE
do
##echo hello world
@@ -24,13 +26,15 @@ do
done
cd $WORK_DIR
../main $1 $3 $4 $5 $6 *
../mk_new_gnuplot.sh $1 $2
../main $1 $3 $4 $5 $6 * >> ../$meanstatsfilename
../mk_new_gnuplot.sh $1 $2 $7
rm -f *.gnuplot
cd ..
rm -R $WORK_DIR
echo '<br/>' >> $meanstatsfilename
webpagefilename=$2/index.html
# echo '<h3>'${WHAT}'</h3>' >> $webpagefilename
echo '<hr/><a href="/btl/'$1'.pdf"><img src="/btl/'$1'.png" alt="'${WHAT}'" /></a><br/>' >> $webpagefilename

View File

@@ -1,14 +1,30 @@
#! /bin/bash
#!/bin/bash
WHAT=$1
DIR=$2
cat ../gnuplot_common_settings.hh > ${WHAT}.gnuplot
cat ../${WHAT}.hh >> ${WHAT}.gnuplot
echo "set title " `grep ${WHAT} ../action_settings.txt | head -n 1 | cut -d ";" -f 2` >> $WHAT.gnuplot
echo "set xlabel " `grep ${WHAT} ../action_settings.txt | head -n 1 | cut -d ";" -f 3` "0.000000,0.000000" >> $WHAT.gnuplot
echo "set xrange [" `grep ${WHAT} ../action_settings.txt | head -n 1 | cut -d ";" -f 4` "]" >> $WHAT.gnuplot
if [ $# > 3 ]; then
if [ $3 == "tiny" ]; then
echo "set xrange [2:16]" >> $WHAT.gnuplot
echo "set nologscale" >> $WHAT.gnuplot
fi
fi
DATA_FILE=`cat ../order_lib`
echo set term postscript color rounded enhanced >> $WHAT.gnuplot
echo set output "'"../${DIR}/$WHAT.ps"'" >> $WHAT.gnuplot
# echo set term svg color rounded enhanced >> $WHAT.gnuplot
# echo "set terminal svg enhanced size 1000 1000 fname \"Times\" fsize 36" >> $WHAT.gnuplot
# echo set output "'"../${DIR}/$WHAT.svg"'" >> $WHAT.gnuplot
echo plot \\ >> $WHAT.gnuplot
for FILE in $DATA_FILE
@@ -34,3 +50,5 @@ rm $WHAT.gnuplot
ps2pdf ../${DIR}/$WHAT.ps ../${DIR}/$WHAT.pdf
convert -density 120 -rotate 90 -resize 800 +dither -colors 48 -quality 0 ../${DIR}/$WHAT.ps ../${DIR}/$WHAT.png
# pstoedit -rotate -90 -xscale 0.8 -yscale 0.8 -centered -yshift -50 -xshift -100 -f plot-svg aat.ps aat2.svg

View File

@@ -1,11 +0,0 @@
eigen2_SSE
eigen2
INTEL_MKL
ATLAS
STL
C
gmm
mtl4
ublas
blitz
F77

View File

@@ -1,3 +0,0 @@
set title "{/*1.5 Tridiagonalization}" 0.000000,0.000000
set xlabel "matrix size" 0.000000,0.000000
set xrange [6:1000]

View File

@@ -1,3 +0,0 @@
set title "{/*1.5 triangular solver (X = inv(L) * X)}" 0.000000,0.000000
set xlabel "matrix-vector size" 0.000000,0.000000
set xrange [6:1000]