mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
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:
@@ -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(
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
set title "{/*1.5 A x A^T}"
|
||||
set xlabel "matrix size" 0.000000,0.000000
|
||||
set xrange [4:1024]
|
||||
|
||||
12
bench/btl/data/action_settings.txt
Normal file
12
bench/btl/data/action_settings.txt
Normal 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
|
||||
@@ -1,4 +0,0 @@
|
||||
set title "{/*1.5 A^T x A}"
|
||||
set xlabel "matrix size" 0.000000,0.000000
|
||||
set xrange [4:1024]
|
||||
|
||||
@@ -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]
|
||||
@@ -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]
|
||||
@@ -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]
|
||||
@@ -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]
|
||||
@@ -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 ##
|
||||
|
||||
|
||||
@@ -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]
|
||||
@@ -1,3 +0,0 @@
|
||||
set title "{/*1.5 matrix matrix product}"
|
||||
set xlabel "matrix size" 0.000000,0.000000
|
||||
set xrange [4:1024]
|
||||
@@ -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]
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
eigen2_SSE
|
||||
eigen2
|
||||
INTEL_MKL
|
||||
ATLAS
|
||||
STL
|
||||
C
|
||||
gmm
|
||||
mtl4
|
||||
ublas
|
||||
blitz
|
||||
F77
|
||||
@@ -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]
|
||||
@@ -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]
|
||||
Reference in New Issue
Block a user