mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-13 20:26:03 +08:00
various improvements of the plot generator in BTL
This commit is contained in:
parent
8233de8b69
commit
ed6e07b2f6
@ -85,8 +85,10 @@ public :
|
|||||||
Interface::copy_vector(X_ref,X,_size);
|
Interface::copy_vector(X_ref,X,_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void calculate( void ) {
|
BTL_DONT_INLINE void calculate( void ) {
|
||||||
|
asm("#begin atv");
|
||||||
Interface::atv_product(A,B,X,_size);
|
Interface::atv_product(A,B,X,_size);
|
||||||
|
asm("#end atv");
|
||||||
}
|
}
|
||||||
|
|
||||||
void check_result( void )
|
void check_result( void )
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
ADD_CUSTOM_TARGET(copy_scripts)
|
ADD_CUSTOM_TARGET(copy_scripts)
|
||||||
|
|
||||||
SET(script_files go_mean aat.hh ata.hh axpy.hh order_lib mk_mean_script.sh mk_new_gnuplot.sh mk_gnuplot_script.sh matrix_matrix.hh matrix_vector.hh atv.hh)
|
SET(script_files go_mean aat.hh ata.hh axpy.hh order_lib mk_mean_script.sh mk_new_gnuplot.sh mk_gnuplot_script.sh matrix_matrix.hh matrix_vector.hh atv.hh header.html footer.html perlib_plot_settings.txt gnuplot_common_settings.hh )
|
||||||
|
|
||||||
FOREACH(script_file ${script_files})
|
FOREACH(script_file ${script_files})
|
||||||
ADD_CUSTOM_COMMAND(
|
ADD_CUSTOM_COMMAND(
|
||||||
@ -12,6 +12,19 @@ ADD_CUSTOM_COMMAND(
|
|||||||
)
|
)
|
||||||
ENDFOREACH(script_file)
|
ENDFOREACH(script_file)
|
||||||
|
|
||||||
|
ADD_CUSTOM_COMMAND(
|
||||||
|
TARGET copy_scripts
|
||||||
|
POST_BUILD
|
||||||
|
COMMAND ${CMAKE_CXX_COMPILER} --version | head -n 1 > ${CMAKE_CURRENT_BINARY_DIR}/compiler_version.txt
|
||||||
|
ARGS
|
||||||
|
)
|
||||||
|
ADD_CUSTOM_COMMAND(
|
||||||
|
TARGET copy_scripts
|
||||||
|
POST_BUILD
|
||||||
|
COMMAND echo "${Eigen_SOURCE_DIR}" > ${CMAKE_CURRENT_BINARY_DIR}/eigen_root_dir.txt
|
||||||
|
ARGS
|
||||||
|
)
|
||||||
|
|
||||||
add_executable(smooth smooth.cxx)
|
add_executable(smooth smooth.cxx)
|
||||||
add_executable(regularize regularize.cxx)
|
add_executable(regularize regularize.cxx)
|
||||||
add_executable(main mean.cxx)
|
add_executable(main mean.cxx)
|
||||||
|
@ -1,108 +1,3 @@
|
|||||||
#!/usr/bin/gnuplot -persist
|
set title "transposed-matrix vector product " 0.000000,0.000000
|
||||||
#
|
set xlabel "matrix size" 0.000000,0.000000
|
||||||
#
|
set xrange [4:1024]
|
||||||
# G N U P L O T
|
|
||||||
# Linux version 3.7
|
|
||||||
# patchlevel 0
|
|
||||||
# last modified Thu Jan 14 19:34:53 BST 1999
|
|
||||||
#
|
|
||||||
# Copyright(C) 1986 - 1993, 1998, 1999
|
|
||||||
# Thomas Williams, Colin Kelley and many others
|
|
||||||
#
|
|
||||||
# Type `help` to access the on-line reference manual
|
|
||||||
# The gnuplot FAQ is available from
|
|
||||||
# <http://www.uni-karlsruhe.de/~ig25/gnuplot-faq/>
|
|
||||||
#
|
|
||||||
# Send comments and requests for help to <info-gnuplot@dartmouth.edu>
|
|
||||||
# Send bugs, suggestions and mods to <bug-gnuplot@dartmouth.edu>
|
|
||||||
#
|
|
||||||
# set terminal postscript landscape noenhanced monochrome dashed defaultplex "Helvetica" 14
|
|
||||||
# set output 'bench_gcc.ps'
|
|
||||||
set noclip points
|
|
||||||
set clip one
|
|
||||||
set noclip two
|
|
||||||
set bar 1.000000
|
|
||||||
set border 31 lt -1 lw 1.000
|
|
||||||
set xdata
|
|
||||||
set ydata
|
|
||||||
set zdata
|
|
||||||
set x2data
|
|
||||||
set y2data
|
|
||||||
set boxwidth
|
|
||||||
set dummy x,y
|
|
||||||
set format x "%g"
|
|
||||||
set format y "%g"
|
|
||||||
set format x2 "%g"
|
|
||||||
set format y2 "%g"
|
|
||||||
set format z "%g"
|
|
||||||
set angles radians
|
|
||||||
set nogrid
|
|
||||||
set key title ""
|
|
||||||
set key right top Right noreverse box linetype -2 linewidth 1.000 samplen 4 spacing 1 width 0
|
|
||||||
set nolabel
|
|
||||||
set noarrow
|
|
||||||
set nolinestyle
|
|
||||||
set nologscale
|
|
||||||
set logscale x 10
|
|
||||||
set offsets 0, 0, 0, 0
|
|
||||||
set pointsize 1
|
|
||||||
set encoding default
|
|
||||||
set nopolar
|
|
||||||
set noparametric
|
|
||||||
set view 60, 30, 1, 1
|
|
||||||
set samples 100, 100
|
|
||||||
set isosamples 10, 10
|
|
||||||
set surface
|
|
||||||
set nocontour
|
|
||||||
set clabel '%8.3g'
|
|
||||||
set mapping cartesian
|
|
||||||
set nohidden3d
|
|
||||||
set cntrparam order 4
|
|
||||||
set cntrparam linear
|
|
||||||
set cntrparam levels auto 5
|
|
||||||
set cntrparam points 5
|
|
||||||
set size ratio 0 1,1
|
|
||||||
set origin 0,0
|
|
||||||
set data style linespoints
|
|
||||||
set function style lines
|
|
||||||
set xzeroaxis lt -2 lw 1.000
|
|
||||||
set x2zeroaxis lt -2 lw 1.000
|
|
||||||
set yzeroaxis lt -2 lw 1.000
|
|
||||||
set y2zeroaxis lt -2 lw 1.000
|
|
||||||
set tics in
|
|
||||||
set ticslevel 0.5
|
|
||||||
set ticscale 1 0.5
|
|
||||||
set mxtics default
|
|
||||||
set mytics default
|
|
||||||
set mx2tics default
|
|
||||||
set my2tics default
|
|
||||||
set xtics border mirror norotate autofreq
|
|
||||||
set ytics border mirror norotate autofreq
|
|
||||||
set ztics border nomirror norotate autofreq
|
|
||||||
set nox2tics
|
|
||||||
set noy2tics
|
|
||||||
set title "transposed-matrix vector product " 0.000000,0.000000 ""
|
|
||||||
set timestamp "" bottom norotate 0.000000,0.000000 ""
|
|
||||||
set rrange [ * : * ] noreverse nowriteback # (currently [-0:10] )
|
|
||||||
set trange [ * : * ] noreverse nowriteback # (currently [-5:5] )
|
|
||||||
set urange [ * : * ] noreverse nowriteback # (currently [-5:5] )
|
|
||||||
set vrange [ * : * ] noreverse nowriteback # (currently [-5:5] )
|
|
||||||
set xlabel "matrix size" 0.000000,0.000000 ""
|
|
||||||
set x2label "" 0.000000,0.000000 ""
|
|
||||||
set timefmt "%d/%m/%y\n%H:%M"
|
|
||||||
set xrange [ 10 : 1000 ] noreverse nowriteback
|
|
||||||
set x2range [ * : * ] noreverse nowriteback # (currently [-10:10] )
|
|
||||||
set ylabel "MFLOPS" 0.000000,0.000000 ""
|
|
||||||
set y2label "" 0.000000,0.000000 ""
|
|
||||||
set yrange [ * : * ] noreverse nowriteback # (currently [-10:10] )
|
|
||||||
set y2range [ * : * ] noreverse nowriteback # (currently [-10:10] )
|
|
||||||
set zlabel "" 0.000000,0.000000 ""
|
|
||||||
set zrange [ * : * ] noreverse nowriteback # (currently [-10:10] )
|
|
||||||
set zero 1e-08
|
|
||||||
set lmargin -1
|
|
||||||
set bmargin -1
|
|
||||||
set rmargin -1
|
|
||||||
set tmargin -1
|
|
||||||
set locale "C"
|
|
||||||
set xrange [1:1000]
|
|
||||||
##set yrange [0:400]
|
|
||||||
|
@ -18,91 +18,93 @@
|
|||||||
#
|
#
|
||||||
# set terminal postscript landscape noenhanced monochrome dashed defaultplex "Helvetica" 14
|
# set terminal postscript landscape noenhanced monochrome dashed defaultplex "Helvetica" 14
|
||||||
# set output 'bench_gcc.ps'
|
# set output 'bench_gcc.ps'
|
||||||
set noclip points
|
# set noclip points
|
||||||
set clip one
|
# set clip one
|
||||||
set noclip two
|
# set noclip two
|
||||||
set bar 1.000000
|
# set bar 1.000000
|
||||||
set border 31 lt -1 lw 1.000
|
# set border 31 lt -1 lw 1.000
|
||||||
set xdata
|
# set xdata
|
||||||
set ydata
|
# set ydata
|
||||||
set zdata
|
# set zdata
|
||||||
set x2data
|
# set x2data
|
||||||
set y2data
|
# set y2data
|
||||||
set boxwidth
|
# set boxwidth
|
||||||
set dummy x,y
|
# set dummy x,y
|
||||||
set format x "%g"
|
# set format x "%g"
|
||||||
set format y "%g"
|
# set format y "%g"
|
||||||
set format x2 "%g"
|
# set format x2 "%g"
|
||||||
set format y2 "%g"
|
# set format y2 "%g"
|
||||||
set format z "%g"
|
# set format z "%g"
|
||||||
set angles radians
|
# set angles radians
|
||||||
set nogrid
|
# set nogrid
|
||||||
set key title ""
|
# set key title ""
|
||||||
set key right top Right noreverse box linetype -2 linewidth 1.000 samplen 4 spacing 1 width 0
|
# set key left top Right noreverse box linetype -2 linewidth 1.000 samplen 4 spacing 1 width 0
|
||||||
set nolabel
|
# set nolabel
|
||||||
set noarrow
|
# set noarrow
|
||||||
set nolinestyle
|
# set nolinestyle
|
||||||
set nologscale
|
# set nologscale
|
||||||
set logscale x 10
|
# set logscale x 10
|
||||||
set offsets 0, 0, 0, 0
|
# set offsets 0, 0, 0, 0
|
||||||
set pointsize 1
|
# set pointsize 1
|
||||||
set encoding default
|
# set encoding default
|
||||||
set nopolar
|
# set nopolar
|
||||||
set noparametric
|
# set noparametric
|
||||||
set view 60, 30, 1, 1
|
# set view 60, 30, 1, 1
|
||||||
set samples 100, 100
|
# set samples 100, 100
|
||||||
set isosamples 10, 10
|
# set isosamples 10, 10
|
||||||
set surface
|
# set surface
|
||||||
set nocontour
|
# set nocontour
|
||||||
set clabel '%8.3g'
|
# set clabel '%8.3g'
|
||||||
set mapping cartesian
|
# set mapping cartesian
|
||||||
set nohidden3d
|
# set nohidden3d
|
||||||
set cntrparam order 4
|
# set cntrparam order 4
|
||||||
set cntrparam linear
|
# set cntrparam linear
|
||||||
set cntrparam levels auto 5
|
# set cntrparam levels auto 5
|
||||||
set cntrparam points 5
|
# set cntrparam points 5
|
||||||
set size ratio 0 1,1
|
# set size ratio 0 1,1
|
||||||
set origin 0,0
|
# set origin 0,0
|
||||||
set data style linespoints
|
# set data style lines
|
||||||
set function style lines
|
# set function style lines
|
||||||
set xzeroaxis lt -2 lw 1.000
|
# set xzeroaxis lt -2 lw 1.000
|
||||||
set x2zeroaxis lt -2 lw 1.000
|
# set x2zeroaxis lt -2 lw 1.000
|
||||||
set yzeroaxis lt -2 lw 1.000
|
# set yzeroaxis lt -2 lw 1.000
|
||||||
set y2zeroaxis lt -2 lw 1.000
|
# set y2zeroaxis lt -2 lw 1.000
|
||||||
set tics in
|
# set tics in
|
||||||
set ticslevel 0.5
|
# set ticslevel 0.5
|
||||||
set ticscale 1 0.5
|
# set ticscale 1 0.5
|
||||||
set mxtics default
|
# set mxtics default
|
||||||
set mytics default
|
# set mytics default
|
||||||
set mx2tics default
|
# set mx2tics default
|
||||||
set my2tics default
|
# set my2tics default
|
||||||
set xtics border mirror norotate autofreq
|
# set xtics border mirror norotate autofreq
|
||||||
set ytics border mirror norotate autofreq
|
# set ytics border mirror norotate autofreq
|
||||||
set ztics border nomirror norotate autofreq
|
# set ztics border nomirror norotate autofreq
|
||||||
set nox2tics
|
# set nox2tics
|
||||||
set noy2tics
|
# set noy2tics
|
||||||
set title "Y+=alpha*X " 0.000000,0.000000 ""
|
|
||||||
set timestamp "" bottom norotate 0.000000,0.000000 ""
|
# set timestamp "" bottom norotate 0.000000,0.000000 ""
|
||||||
set rrange [ * : * ] noreverse nowriteback # (currently [-0:10] )
|
# set rrange [ * : * ] noreverse nowriteback # (currently [-0:10] )
|
||||||
set trange [ * : * ] noreverse nowriteback # (currently [-5:5] )
|
# set trange [ * : * ] noreverse nowriteback # (currently [-5:5] )
|
||||||
set urange [ * : * ] noreverse nowriteback # (currently [-5:5] )
|
# set urange [ * : * ] noreverse nowriteback # (currently [-5:5] )
|
||||||
set vrange [ * : * ] noreverse nowriteback # (currently [-5:5] )
|
# set vrange [ * : * ] noreverse nowriteback # (currently [-5:5] )
|
||||||
set xlabel "vector size" 0.000000,0.000000 ""
|
#
|
||||||
set x2label "" 0.000000,0.000000 ""
|
# set x2label "" 0.000000,0.000000 ""
|
||||||
set timefmt "%d/%m/%y\n%H:%M"
|
# set timefmt "%d/%m/%y\n%H:%M"
|
||||||
set xrange [ 10 : 1000 ] noreverse nowriteback
|
# set xrange [ 10 : 1000 ] noreverse nowriteback
|
||||||
set x2range [ * : * ] noreverse nowriteback # (currently [-10:10] )
|
# set x2range [ * : * ] noreverse nowriteback # (currently [-10:10] )
|
||||||
set ylabel "MFLOPS" 0.000000,0.000000 ""
|
# set ylabel "MFLOPS" 0.000000,0.000000 ""
|
||||||
set y2label "" 0.000000,0.000000 ""
|
# set y2label "" 0.000000,0.000000 ""
|
||||||
set yrange [ * : * ] noreverse nowriteback # (currently [-10:10] )
|
# set yrange [ * : * ] noreverse nowriteback # (currently [-10:10] )
|
||||||
set y2range [ * : * ] noreverse nowriteback # (currently [-10:10] )
|
# set y2range [ * : * ] noreverse nowriteback # (currently [-10:10] )
|
||||||
set zlabel "" 0.000000,0.000000 ""
|
# set zlabel "" 0.000000,0.000000 ""
|
||||||
set zrange [ * : * ] noreverse nowriteback # (currently [-10:10] )
|
# set zrange [ * : * ] noreverse nowriteback # (currently [-10:10] )
|
||||||
set zero 1e-08
|
# set zero 1e-08
|
||||||
set lmargin -1
|
# set lmargin -1
|
||||||
set bmargin -1
|
# set bmargin -1
|
||||||
set rmargin -1
|
# set rmargin -1
|
||||||
set tmargin -1
|
# set tmargin -1
|
||||||
set locale "C"
|
# set locale "C"
|
||||||
|
|
||||||
|
set title "Y+=alpha*X " 0.000000,0.000000
|
||||||
|
set xlabel "vector size" 0.000000,0.000000
|
||||||
set xrange [1:1000000]
|
set xrange [1:1000000]
|
||||||
##set yrange [0:550]
|
|
||||||
|
87
bench/btl/data/gnuplot_common_settings.hh
Normal file
87
bench/btl/data/gnuplot_common_settings.hh
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
set noclip points
|
||||||
|
set clip one
|
||||||
|
set noclip two
|
||||||
|
set bar 1.000000
|
||||||
|
set border 31 lt -1 lw 1.000
|
||||||
|
set xdata
|
||||||
|
set ydata
|
||||||
|
set zdata
|
||||||
|
set x2data
|
||||||
|
set y2data
|
||||||
|
set boxwidth
|
||||||
|
set dummy x,y
|
||||||
|
set format x "%g"
|
||||||
|
set format y "%g"
|
||||||
|
set format x2 "%g"
|
||||||
|
set format y2 "%g"
|
||||||
|
set format z "%g"
|
||||||
|
set angles radians
|
||||||
|
set nogrid
|
||||||
|
set key title ""
|
||||||
|
set key left top Right noreverse box linetype -2 linewidth 1.000 samplen 4 spacing 1 width 0
|
||||||
|
set nolabel
|
||||||
|
set noarrow
|
||||||
|
set nolinestyle
|
||||||
|
set nologscale
|
||||||
|
set logscale x 10
|
||||||
|
set offsets 0, 0, 0, 0
|
||||||
|
set pointsize 1
|
||||||
|
set encoding default
|
||||||
|
set nopolar
|
||||||
|
set noparametric
|
||||||
|
set view 60, 30, 1, 1
|
||||||
|
set samples 100, 100
|
||||||
|
set isosamples 10, 10
|
||||||
|
set surface
|
||||||
|
set nocontour
|
||||||
|
set clabel '%8.3g'
|
||||||
|
set mapping cartesian
|
||||||
|
set nohidden3d
|
||||||
|
set cntrparam order 4
|
||||||
|
set cntrparam linear
|
||||||
|
set cntrparam levels auto 5
|
||||||
|
set cntrparam points 5
|
||||||
|
set size ratio 0 1,1
|
||||||
|
set origin 0,0
|
||||||
|
set data style lines
|
||||||
|
set function style lines
|
||||||
|
set xzeroaxis lt -2 lw 1.000
|
||||||
|
set x2zeroaxis lt -2 lw 1.000
|
||||||
|
set yzeroaxis lt -2 lw 1.000
|
||||||
|
set y2zeroaxis lt -2 lw 1.000
|
||||||
|
set tics in
|
||||||
|
set ticslevel 0.5
|
||||||
|
set tics scale 1, 0.5
|
||||||
|
set mxtics default
|
||||||
|
set mytics default
|
||||||
|
set mx2tics default
|
||||||
|
set my2tics default
|
||||||
|
set xtics border mirror norotate autofreq
|
||||||
|
set ytics border mirror norotate autofreq
|
||||||
|
set ztics border nomirror norotate autofreq
|
||||||
|
set nox2tics
|
||||||
|
set noy2tics
|
||||||
|
set timestamp "" bottom norotate 0.000000,0.000000 ""
|
||||||
|
set rrange [ * : * ] noreverse nowriteback # (currently [-0:10] )
|
||||||
|
set trange [ * : * ] noreverse nowriteback # (currently [-5:5] )
|
||||||
|
set urange [ * : * ] noreverse nowriteback # (currently [-5:5] )
|
||||||
|
set vrange [ * : * ] noreverse nowriteback # (currently [-5:5] )
|
||||||
|
set xlabel "matrix size" 0.000000,0.000000
|
||||||
|
set x2label "" 0.000000,0.000000
|
||||||
|
set timefmt "%d/%m/%y\n%H:%M"
|
||||||
|
set xrange [ 10 : 1000 ] noreverse nowriteback
|
||||||
|
set x2range [ * : * ] noreverse nowriteback # (currently [-10:10] )
|
||||||
|
set ylabel "MFLOPS" 0.000000,0.000000
|
||||||
|
set y2label "" 0.000000,0.000000
|
||||||
|
set yrange [ * : * ] noreverse nowriteback # (currently [-10:10] )
|
||||||
|
set y2range [ * : * ] noreverse nowriteback # (currently [-10:10] )
|
||||||
|
set zlabel "" 0.000000,0.000000
|
||||||
|
set zrange [ * : * ] noreverse nowriteback # (currently [-10:10] )
|
||||||
|
set zero 1e-08
|
||||||
|
set lmargin -1
|
||||||
|
set bmargin -1
|
||||||
|
set rmargin -1
|
||||||
|
set tmargin -1
|
||||||
|
set locale "C"
|
||||||
|
set xrange [4:1024]
|
||||||
|
|
@ -1,10 +1,28 @@
|
|||||||
|
#! /bin/bash
|
||||||
mkdir $1
|
mkdir $1
|
||||||
##cp ../libs/*/*.dat $1
|
##cp ../libs/*/*.dat $1
|
||||||
|
|
||||||
|
EIGENDIR=`cat eigen_root_dir.txt`
|
||||||
|
|
||||||
|
webpagefilename=$1/index.html
|
||||||
|
#cp header.html $webpagefilename
|
||||||
|
echo '' > $webpagefilename
|
||||||
|
echo '<p><strong>Configuration</strong>' >> $webpagefilename
|
||||||
|
echo '<ul>'\
|
||||||
|
'<li>' `cat /proc/cpuinfo | grep "model name" | head -n 1`\
|
||||||
|
' (' `uname -m` ')</li>'\
|
||||||
|
'<li> compiler: ' `cat compiler_version.txt` '</li>'\
|
||||||
|
'<li> eigen2: ' `svn info $EIGENDIR | grep Revision` '</li>'\
|
||||||
|
'</ul>' \
|
||||||
|
'</p>' >> $webpagefilename
|
||||||
|
|
||||||
source mk_mean_script.sh axpy $1 11 2500 100000 250000 > $1/axpy.html
|
source mk_mean_script.sh axpy $1 11 2500 100000 250000 > $1/axpy.html
|
||||||
source mk_mean_script.sh matrix_vector $1 11 50 300 500 > $1/matrix_vector.html
|
source mk_mean_script.sh matrix_vector $1 11 50 300 500 > $1/matrix_vector.html
|
||||||
source mk_mean_script.sh atv $1 11 50 300 500 > $1/atv.html
|
source mk_mean_script.sh atv $1 11 50 300 500 > $1/atv.html
|
||||||
source mk_mean_script.sh matrix_matrix $1 11 100 300 500 > $1/matrix_matrix.html
|
# source mk_mean_script.sh matrix_matrix $1 11 100 300 500 > $1/matrix_matrix.html
|
||||||
source mk_mean_script.sh aat $1 11 100 300 1000 > $1/aat.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 ata $1 11 100 300 1000 > $1/ata.html
|
||||||
|
|
||||||
|
## compile the web page ##
|
||||||
|
|
||||||
|
#echo `cat footer.html` >> $webpagefilename
|
@ -1,108 +1,3 @@
|
|||||||
#!/usr/bin/gnuplot -persist
|
set title "matrix vector product " 0.000000,0.000000
|
||||||
#
|
set xlabel "matrix size" 0.000000,0.000000
|
||||||
#
|
set xrange [4:1024]
|
||||||
# G N U P L O T
|
|
||||||
# Linux version 3.7
|
|
||||||
# patchlevel 0
|
|
||||||
# last modified Thu Jan 14 19:34:53 BST 1999
|
|
||||||
#
|
|
||||||
# Copyright(C) 1986 - 1993, 1998, 1999
|
|
||||||
# Thomas Williams, Colin Kelley and many others
|
|
||||||
#
|
|
||||||
# Type `help` to access the on-line reference manual
|
|
||||||
# The gnuplot FAQ is available from
|
|
||||||
# <http://www.uni-karlsruhe.de/~ig25/gnuplot-faq/>
|
|
||||||
#
|
|
||||||
# Send comments and requests for help to <info-gnuplot@dartmouth.edu>
|
|
||||||
# Send bugs, suggestions and mods to <bug-gnuplot@dartmouth.edu>
|
|
||||||
#
|
|
||||||
# set terminal postscript landscape noenhanced monochrome dashed defaultplex "Helvetica" 14
|
|
||||||
# set output 'bench_gcc.ps'
|
|
||||||
set noclip points
|
|
||||||
set clip one
|
|
||||||
set noclip two
|
|
||||||
set bar 1.000000
|
|
||||||
set border 31 lt -1 lw 1.000
|
|
||||||
set xdata
|
|
||||||
set ydata
|
|
||||||
set zdata
|
|
||||||
set x2data
|
|
||||||
set y2data
|
|
||||||
set boxwidth
|
|
||||||
set dummy x,y
|
|
||||||
set format x "%g"
|
|
||||||
set format y "%g"
|
|
||||||
set format x2 "%g"
|
|
||||||
set format y2 "%g"
|
|
||||||
set format z "%g"
|
|
||||||
set angles radians
|
|
||||||
set nogrid
|
|
||||||
set key title ""
|
|
||||||
set key right top Right noreverse box linetype -2 linewidth 1.000 samplen 4 spacing 1 width 0
|
|
||||||
set nolabel
|
|
||||||
set noarrow
|
|
||||||
set nolinestyle
|
|
||||||
set nologscale
|
|
||||||
set logscale x 10
|
|
||||||
set offsets 0, 0, 0, 0
|
|
||||||
set pointsize 1
|
|
||||||
set encoding default
|
|
||||||
set nopolar
|
|
||||||
set noparametric
|
|
||||||
set view 60, 30, 1, 1
|
|
||||||
set samples 100, 100
|
|
||||||
set isosamples 10, 10
|
|
||||||
set surface
|
|
||||||
set nocontour
|
|
||||||
set clabel '%8.3g'
|
|
||||||
set mapping cartesian
|
|
||||||
set nohidden3d
|
|
||||||
set cntrparam order 4
|
|
||||||
set cntrparam linear
|
|
||||||
set cntrparam levels auto 5
|
|
||||||
set cntrparam points 5
|
|
||||||
set size ratio 0 1,1
|
|
||||||
set origin 0,0
|
|
||||||
set data style linespoints
|
|
||||||
set function style lines
|
|
||||||
set xzeroaxis lt -2 lw 1.000
|
|
||||||
set x2zeroaxis lt -2 lw 1.000
|
|
||||||
set yzeroaxis lt -2 lw 1.000
|
|
||||||
set y2zeroaxis lt -2 lw 1.000
|
|
||||||
set tics in
|
|
||||||
set ticslevel 0.5
|
|
||||||
set ticscale 1 0.5
|
|
||||||
set mxtics default
|
|
||||||
set mytics default
|
|
||||||
set mx2tics default
|
|
||||||
set my2tics default
|
|
||||||
set xtics border mirror norotate autofreq
|
|
||||||
set ytics border mirror norotate autofreq
|
|
||||||
set ztics border nomirror norotate autofreq
|
|
||||||
set nox2tics
|
|
||||||
set noy2tics
|
|
||||||
set title "matrix vector product " 0.000000,0.000000 ""
|
|
||||||
set timestamp "" bottom norotate 0.000000,0.000000 ""
|
|
||||||
set rrange [ * : * ] noreverse nowriteback # (currently [-0:10] )
|
|
||||||
set trange [ * : * ] noreverse nowriteback # (currently [-5:5] )
|
|
||||||
set urange [ * : * ] noreverse nowriteback # (currently [-5:5] )
|
|
||||||
set vrange [ * : * ] noreverse nowriteback # (currently [-5:5] )
|
|
||||||
set xlabel "matrix size" 0.000000,0.000000 ""
|
|
||||||
set x2label "" 0.000000,0.000000 ""
|
|
||||||
set timefmt "%d/%m/%y\n%H:%M"
|
|
||||||
set xrange [ 10 : 1000 ] noreverse nowriteback
|
|
||||||
set x2range [ * : * ] noreverse nowriteback # (currently [-10:10] )
|
|
||||||
set ylabel "MFLOPS" 0.000000,0.000000 ""
|
|
||||||
set y2label "" 0.000000,0.000000 ""
|
|
||||||
set yrange [ * : * ] noreverse nowriteback # (currently [-10:10] )
|
|
||||||
set y2range [ * : * ] noreverse nowriteback # (currently [-10:10] )
|
|
||||||
set zlabel "" 0.000000,0.000000 ""
|
|
||||||
set zrange [ * : * ] noreverse nowriteback # (currently [-10:10] )
|
|
||||||
set zero 1e-08
|
|
||||||
set lmargin -1
|
|
||||||
set bmargin -1
|
|
||||||
set rmargin -1
|
|
||||||
set tmargin -1
|
|
||||||
set locale "C"
|
|
||||||
set xrange [1:1000]
|
|
||||||
##set yrange [0:400]
|
|
||||||
|
@ -30,6 +30,10 @@ cd ..
|
|||||||
|
|
||||||
rm -R $WORK_DIR
|
rm -R $WORK_DIR
|
||||||
|
|
||||||
|
webpagefilename=$2/index.html
|
||||||
|
# echo '<h3>'${WHAT}'</h3>' >> $webpagefilename
|
||||||
|
echo '<a href="/btl/'$1'.pdf"><img src="/btl/'$1'.png" alt="'${WHAT}'" /></a><br/>' >> $webpagefilename
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
#! /bin/bash
|
#! /bin/bash
|
||||||
WHAT=$1
|
WHAT=$1
|
||||||
DIR=$2
|
DIR=$2
|
||||||
cat ../${WHAT}.hh > ${WHAT}.gnuplot
|
|
||||||
|
cat ../gnuplot_common_settings.hh > ${WHAT}.gnuplot
|
||||||
|
cat ../${WHAT}.hh >> ${WHAT}.gnuplot
|
||||||
|
|
||||||
DATA_FILE=`cat ../order_lib`
|
DATA_FILE=`cat ../order_lib`
|
||||||
|
|
||||||
@ -12,36 +14,36 @@ do
|
|||||||
LAST=$FILE
|
LAST=$FILE
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
for FILE in $DATA_FILE
|
for FILE in $DATA_FILE
|
||||||
do
|
do
|
||||||
|
BASE=${FILE##*/} ; BASE=${FILE##*/} ; AVANT=bench_${WHAT}_ ; REDUC=${BASE##*$AVANT} ; TITLE=${REDUC%.dat}
|
||||||
|
|
||||||
|
echo "'"$FILE"'" `grep $TITLE ../perlib_plot_settings.txt | head -n 1 | cut -d ";" -f 2` "\\" >> $WHAT.gnuplot
|
||||||
if [ $FILE != $LAST ]
|
if [ $FILE != $LAST ]
|
||||||
then
|
then
|
||||||
echo "'"$FILE"'" ",\\" >> $WHAT.gnuplot
|
echo ", \\" >> $WHAT.gnuplot
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
echo "'"$LAST"'" >> $WHAT.gnuplot
|
echo " " >> $WHAT.gnuplot
|
||||||
|
|
||||||
|
|
||||||
echo set term postscript color >> $WHAT.gnuplot
|
echo set term postscript color >> $WHAT.gnuplot
|
||||||
echo set output "'"../${DIR}/$WHAT.ps"'" >> $WHAT.gnuplot
|
echo set output "'"../${DIR}/$WHAT.ps"'" >> $WHAT.gnuplot
|
||||||
# echo set term pdf color >> $WHAT.gnuplot
|
echo replot >> $WHAT.gnuplot
|
||||||
# echo set output "'"../${DIR}/$WHAT.pdf"'" >> $WHAT.gnuplot
|
|
||||||
# echo set term png truecolor size 1024,768 >> $WHAT.gnuplot
|
echo set term png truecolor size 800,600 >> $WHAT.gnuplot
|
||||||
# echo set output "'"../${DIR}/$WHAT.png"'" >> $WHAT.gnuplot
|
echo set output "'"../${DIR}/$WHAT.png"'" >> $WHAT.gnuplot
|
||||||
echo plot \\ >> $WHAT.gnuplot
|
echo replot >> $WHAT.gnuplot
|
||||||
for FILE in $DATA_FILE
|
|
||||||
do
|
|
||||||
if [ $FILE != $LAST ]
|
|
||||||
then
|
|
||||||
echo "'"$FILE"'" ",\\" >> $WHAT.gnuplot
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
echo "'"$LAST"'" >> $WHAT.gnuplot
|
|
||||||
|
|
||||||
gnuplot -persist < $WHAT.gnuplot
|
gnuplot -persist < $WHAT.gnuplot
|
||||||
|
|
||||||
rm $WHAT.gnuplot
|
rm $WHAT.gnuplot
|
||||||
|
|
||||||
|
# echo "`pwd` hh s2pdf $WHAT.ps $WHAT.pdf" > ../log.txt
|
||||||
|
|
||||||
|
ps2pdf ../${DIR}/$WHAT.ps ../${DIR}/$WHAT.pdf
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
11
bench/btl/data/perlib_plot_settings.txt
Normal file
11
bench/btl/data/perlib_plot_settings.txt
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
eigen2 ; with lines lw 2 lc rgbcolor "black" lt 1
|
||||||
|
eigen2_novec ; with lines lw 1 lc rgbcolor "grey" lt 1
|
||||||
|
gmm ; with lines lc rgbcolor "blue" lt 1
|
||||||
|
mtl4 ; with lines lc rgbcolor "#74B973" lt 1
|
||||||
|
blitz ; with lines lc rgbcolor "#38F5F5" lt 1
|
||||||
|
ATLAS ; with lines lc rgbcolor "green" lt 1
|
||||||
|
INTEL_MKL ; with lines lc rgbcolor "yellow" lt 2
|
||||||
|
MKL_INTEL ; with lines lc rgbcolor "yellow" lt 2
|
||||||
|
ublas ; with lines lc rgbcolor "red" lt 1
|
||||||
|
F77 ; with lines lc rgbcolor "#9A6B36" lt 1
|
||||||
|
C ; with lines lc rgbcolor "#7DF4FF" lt 1
|
@ -27,21 +27,21 @@
|
|||||||
// nb of point on bench curves
|
// nb of point on bench curves
|
||||||
#define NB_POINT 100
|
#define NB_POINT 100
|
||||||
// min vector size for axpy bench
|
// min vector size for axpy bench
|
||||||
#define MIN_AXPY 2
|
#define MIN_AXPY 5
|
||||||
// max vector size for axpy bench
|
// max vector size for axpy bench
|
||||||
#define MAX_AXPY 1000000
|
#define MAX_AXPY 1000000
|
||||||
// min matrix size for matrix vector product bench
|
// min matrix size for matrix vector product bench
|
||||||
#define MIN_MV 2
|
#define MIN_MV 5
|
||||||
// max matrix size for matrix vector product bench
|
// max matrix size for matrix vector product bench
|
||||||
#define MAX_MV 1024
|
#define MAX_MV 1024
|
||||||
// min matrix size for matrix matrix product bench
|
// min matrix size for matrix matrix product bench
|
||||||
#define MIN_MM 2
|
#define MIN_MM 5
|
||||||
// max matrix size for matrix matrix product bench
|
// max matrix size for matrix matrix product bench
|
||||||
#define MAX_MM 1024
|
#define MAX_MM 1024
|
||||||
// min matrix size for LU bench
|
// min matrix size for LU bench
|
||||||
#define MIN_LU 10
|
#define MIN_LU 5
|
||||||
// max matrix size for LU bench
|
// max matrix size for LU bench
|
||||||
#define MAX_LU 1000
|
#define MAX_LU 1024
|
||||||
// max size for tiny vector and matrix
|
// max size for tiny vector and matrix
|
||||||
#define TINY_MV_MAX_SIZE 16
|
#define TINY_MV_MAX_SIZE 16
|
||||||
// default nb_sample for x86 timer
|
// default nb_sample for x86 timer
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
include_directories(${PROJECT_SOURCE_DIR}/libs/f77)
|
include_directories(${PROJECT_SOURCE_DIR}/libs/f77)
|
||||||
btl_add_bench(btl_C main.cpp)
|
btl_add_bench(btl_C main.cpp OFF)
|
||||||
# set_target_properties(btl_C PROPERTIES COMPILE_FLAGS "-fpeel-loops")
|
# set_target_properties(btl_C PROPERTIES COMPILE_FLAGS "-fpeel-loops")
|
@ -1,2 +1,2 @@
|
|||||||
|
|
||||||
btl_add_bench(btl_STL main.cpp)
|
btl_add_bench(btl_STL main.cpp OFF)
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
|
|
||||||
btl_add_bench(btl_STL_algo main.cpp)
|
btl_add_bench(btl_STL_algo main.cpp OFF)
|
||||||
|
@ -30,6 +30,8 @@ class eigen2_interface
|
|||||||
|
|
||||||
public :
|
public :
|
||||||
|
|
||||||
|
enum {IsFixedSize = (SIZE!=Dynamic)};
|
||||||
|
|
||||||
typedef real real_type;
|
typedef real real_type;
|
||||||
|
|
||||||
typedef std::vector<real> stl_vector;
|
typedef std::vector<real> stl_vector;
|
||||||
@ -41,11 +43,11 @@ public :
|
|||||||
static inline std::string name( void )
|
static inline std::string name( void )
|
||||||
{
|
{
|
||||||
#if defined(EIGEN_VECTORIZE_SSE)
|
#if defined(EIGEN_VECTORIZE_SSE)
|
||||||
if (SIZE==Dynamic) return "eigen2_SSE"; else return "tiny_eigen2_SSE";
|
|
||||||
#elif defined(EIGEN_VECTORIZE_ALTIVEC)
|
|
||||||
if (SIZE==Dynamic) return "eigen2_AltiVec"; else return "tiny_eigen2_AltiVec";
|
|
||||||
#else
|
|
||||||
if (SIZE==Dynamic) return "eigen2"; else return "tiny_eigen2";
|
if (SIZE==Dynamic) return "eigen2"; else return "tiny_eigen2";
|
||||||
|
#elif defined(EIGEN_VECTORIZE_ALTIVEC)
|
||||||
|
if (SIZE==Dynamic) return "eigen2"; else return "tiny_eigen2";
|
||||||
|
#else
|
||||||
|
if (SIZE==Dynamic) return "eigen2_novec"; else return "tiny_eigen2_novec";
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,11 +32,12 @@ int main()
|
|||||||
{
|
{
|
||||||
|
|
||||||
bench<Action_matrix_vector_product<eigen2_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
bench<Action_matrix_vector_product<eigen2_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||||
// bench<Action_atv_product<eigen2_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
|
||||||
// bench<Action_axpy<eigen2_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
bench<Action_axpy<eigen2_interface<REAL_TYPE> > >(MIN_AXPY,MAX_AXPY,NB_POINT);
|
||||||
// bench<Action_matrix_matrix_product<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
bench<Action_matrix_matrix_product<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||||
// bench<Action_ata_product<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
bench<Action_ata_product<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||||
// bench<Action_aat_product<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
bench<Action_aat_product<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
|
||||||
|
bench<Action_atv_product<eigen2_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
|
||||||
|
|
||||||
//bench<Action_lu_solve<blitz_LU_solve_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
|
//bench<Action_lu_solve<blitz_LU_solve_interface<REAL_TYPE> > >(MIN_LU,MAX_LU,NB_POINT);
|
||||||
|
|
||||||
|
@ -2,9 +2,9 @@ find_package(Eigen2)
|
|||||||
if (EIGEN2_FOUND)
|
if (EIGEN2_FOUND)
|
||||||
|
|
||||||
include_directories(${EIGEN2_INCLUDE_DIR} ${PROJECT_SOURCE_DIR}/libs/f77)
|
include_directories(${EIGEN2_INCLUDE_DIR} ${PROJECT_SOURCE_DIR}/libs/f77)
|
||||||
btl_add_bench(btl_hand_vec main.cpp)
|
btl_add_bench(btl_hand_vec main.cpp OFF)
|
||||||
|
|
||||||
btl_add_bench(btl_hand_peeling main.cpp)
|
btl_add_bench(btl_hand_peeling main.cpp OFF)
|
||||||
if (BUILD_btl_hand_peeling)
|
if (BUILD_btl_hand_peeling)
|
||||||
set_target_properties(btl_hand_peeling PROPERTIES COMPILE_FLAGS "-DPEELING")
|
set_target_properties(btl_hand_peeling PROPERTIES COMPILE_FLAGS "-DPEELING")
|
||||||
endif (BUILD_btl_hand_peeling)
|
endif (BUILD_btl_hand_peeling)
|
||||||
|
@ -46,9 +46,9 @@ public :
|
|||||||
|
|
||||||
static inline void matrix_from_stl(gene_matrix & A, stl_matrix & A_stl){
|
static inline void matrix_from_stl(gene_matrix & A, stl_matrix & A_stl){
|
||||||
A.resize(A_stl.size(),A_stl[0].size());
|
A.resize(A_stl.size(),A_stl[0].size());
|
||||||
for (int i=0; i<A_stl.size() ; i++)
|
for (int j=0; j<A_stl.size() ; j++)
|
||||||
for (int j=0; j<A_stl[i].size() ; j++)
|
for (int i=0; i<A_stl[j].size() ; i++)
|
||||||
A(i,j)=A_stl[i][j];
|
A(i,j)=A_stl[j][i];
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void vector_from_stl(gene_vector & B, stl_vector & B_stl){
|
static inline void vector_from_stl(gene_vector & B, stl_vector & B_stl){
|
||||||
@ -64,11 +64,11 @@ public :
|
|||||||
|
|
||||||
static inline void matrix_to_stl(gene_matrix & A, stl_matrix & A_stl){
|
static inline void matrix_to_stl(gene_matrix & A, stl_matrix & A_stl){
|
||||||
int N=A_stl.size();
|
int N=A_stl.size();
|
||||||
for (int i=0;i<N;i++)
|
|
||||||
{
|
|
||||||
A_stl[i].resize(N);
|
|
||||||
for (int j=0;j<N;j++)
|
for (int j=0;j<N;j++)
|
||||||
A_stl[i][j]=A(i,j);
|
{
|
||||||
|
A_stl[j].resize(N);
|
||||||
|
for (int i=0;i<N;i++)
|
||||||
|
A_stl[j][i]=A(i,j);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user