mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-01-18 14:34:17 +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);
|
||||
}
|
||||
|
||||
inline void calculate( void ) {
|
||||
Interface::atv_product(A,B,X,_size);
|
||||
BTL_DONT_INLINE void calculate( void ) {
|
||||
asm("#begin atv");
|
||||
Interface::atv_product(A,B,X,_size);
|
||||
asm("#end atv");
|
||||
}
|
||||
|
||||
void check_result( void )
|
||||
|
@ -88,7 +88,7 @@ public :
|
||||
|
||||
static inline std::string name( void )
|
||||
{
|
||||
return "matrix_vector_"+Interface::name();
|
||||
return "matrix_vector_" + Interface::name();
|
||||
}
|
||||
|
||||
double nb_op_base( void ){
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
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})
|
||||
ADD_CUSTOM_COMMAND(
|
||||
@ -12,6 +12,19 @@ ADD_CUSTOM_COMMAND(
|
||||
)
|
||||
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(regularize regularize.cxx)
|
||||
add_executable(main mean.cxx)
|
||||
|
@ -1,108 +1,3 @@
|
||||
#!/usr/bin/gnuplot -persist
|
||||
#
|
||||
#
|
||||
# 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]
|
||||
set title "transposed-matrix vector product " 0.000000,0.000000
|
||||
set xlabel "matrix size" 0.000000,0.000000
|
||||
set xrange [4:1024]
|
||||
|
@ -1,108 +1,110 @@
|
||||
#!/usr/bin/gnuplot -persist
|
||||
#
|
||||
#
|
||||
#
|
||||
# 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 "Y+=alpha*X " 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 "vector 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 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 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 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 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 title "Y+=alpha*X " 0.000000,0.000000
|
||||
set xlabel "vector size" 0.000000,0.000000
|
||||
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
|
||||
##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 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 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 ata $1 11 100 300 1000 > $1/ata.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 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
|
||||
#
|
||||
#
|
||||
# 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]
|
||||
set title "matrix vector product " 0.000000,0.000000
|
||||
set xlabel "matrix size" 0.000000,0.000000
|
||||
set xrange [4:1024]
|
||||
|
@ -10,7 +10,7 @@ WORK_DIR=tmp
|
||||
mkdir $WORK_DIR
|
||||
|
||||
DATA_FILE=`find $DIR -name "*.dat" | grep _${WHAT}`
|
||||
echo
|
||||
echo
|
||||
for FILE in $DATA_FILE
|
||||
do
|
||||
##echo hello world
|
||||
@ -19,7 +19,7 @@ do
|
||||
|
||||
##echo "mk_mean_script1" ${TITLE}
|
||||
cp $FILE ${WORK_DIR}/${TITLE}
|
||||
|
||||
|
||||
done
|
||||
|
||||
cd $WORK_DIR
|
||||
@ -30,6 +30,10 @@ cd ..
|
||||
|
||||
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
|
||||
WHAT=$1
|
||||
DIR=$2
|
||||
cat ../${WHAT}.hh > ${WHAT}.gnuplot
|
||||
|
||||
cat ../gnuplot_common_settings.hh > ${WHAT}.gnuplot
|
||||
cat ../${WHAT}.hh >> ${WHAT}.gnuplot
|
||||
|
||||
DATA_FILE=`cat ../order_lib`
|
||||
|
||||
@ -12,36 +14,36 @@ do
|
||||
LAST=$FILE
|
||||
done
|
||||
|
||||
|
||||
for FILE in $DATA_FILE
|
||||
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 ]
|
||||
then
|
||||
echo "'"$FILE"'" ",\\" >> $WHAT.gnuplot
|
||||
echo ", \\" >> $WHAT.gnuplot
|
||||
fi
|
||||
done
|
||||
echo "'"$LAST"'" >> $WHAT.gnuplot
|
||||
echo " " >> $WHAT.gnuplot
|
||||
|
||||
|
||||
echo set term postscript color >> $WHAT.gnuplot
|
||||
echo set output "'"../${DIR}/$WHAT.ps"'" >> $WHAT.gnuplot
|
||||
# echo set term pdf color >> $WHAT.gnuplot
|
||||
# echo set output "'"../${DIR}/$WHAT.pdf"'" >> $WHAT.gnuplot
|
||||
# echo set term png truecolor size 1024,768 >> $WHAT.gnuplot
|
||||
# echo set output "'"../${DIR}/$WHAT.png"'" >> $WHAT.gnuplot
|
||||
echo plot \\ >> $WHAT.gnuplot
|
||||
for FILE in $DATA_FILE
|
||||
do
|
||||
if [ $FILE != $LAST ]
|
||||
then
|
||||
echo "'"$FILE"'" ",\\" >> $WHAT.gnuplot
|
||||
fi
|
||||
done
|
||||
echo "'"$LAST"'" >> $WHAT.gnuplot
|
||||
echo replot >> $WHAT.gnuplot
|
||||
|
||||
echo set term png truecolor size 800,600 >> $WHAT.gnuplot
|
||||
echo set output "'"../${DIR}/$WHAT.png"'" >> $WHAT.gnuplot
|
||||
echo replot >> $WHAT.gnuplot
|
||||
|
||||
|
||||
gnuplot -persist < $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
|
||||
#define NB_POINT 100
|
||||
// min vector size for axpy bench
|
||||
#define MIN_AXPY 2
|
||||
#define MIN_AXPY 5
|
||||
// max vector size for axpy bench
|
||||
#define MAX_AXPY 1000000
|
||||
// min matrix size for matrix vector product bench
|
||||
#define MIN_MV 2
|
||||
#define MIN_MV 5
|
||||
// max matrix size for matrix vector product bench
|
||||
#define MAX_MV 1024
|
||||
// min matrix size for matrix matrix product bench
|
||||
#define MIN_MM 2
|
||||
#define MIN_MM 5
|
||||
// max matrix size for matrix matrix product bench
|
||||
#define MAX_MM 1024
|
||||
// min matrix size for LU bench
|
||||
#define MIN_LU 10
|
||||
#define MIN_LU 5
|
||||
// max matrix size for LU bench
|
||||
#define MAX_LU 1000
|
||||
#define MAX_LU 1024
|
||||
// max size for tiny vector and matrix
|
||||
#define TINY_MV_MAX_SIZE 16
|
||||
// default nb_sample for x86 timer
|
||||
|
@ -1,3 +1,3 @@
|
||||
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")
|
@ -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,7 +30,9 @@ class eigen2_interface
|
||||
|
||||
public :
|
||||
|
||||
typedef real real_type ;
|
||||
enum {IsFixedSize = (SIZE!=Dynamic)};
|
||||
|
||||
typedef real real_type;
|
||||
|
||||
typedef std::vector<real> stl_vector;
|
||||
typedef std::vector<stl_vector> stl_matrix;
|
||||
@ -41,11 +43,11 @@ public :
|
||||
static inline std::string name( void )
|
||||
{
|
||||
#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";
|
||||
#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
|
||||
}
|
||||
|
||||
|
@ -32,11 +32,12 @@ int main()
|
||||
{
|
||||
|
||||
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_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_aat_product<eigen2_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,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_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_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);
|
||||
|
||||
|
@ -2,9 +2,9 @@ find_package(Eigen2)
|
||||
if (EIGEN2_FOUND)
|
||||
|
||||
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)
|
||||
set_target_properties(btl_hand_peeling PROPERTIES COMPILE_FLAGS "-DPEELING")
|
||||
endif (BUILD_btl_hand_peeling)
|
||||
|
@ -46,9 +46,9 @@ public :
|
||||
|
||||
static inline void matrix_from_stl(gene_matrix & A, stl_matrix & A_stl){
|
||||
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[i].size() ; j++)
|
||||
A(i,j)=A_stl[i][j];
|
||||
for (int j=0; j<A_stl.size() ; j++)
|
||||
for (int i=0; i<A_stl[j].size() ; i++)
|
||||
A(i,j)=A_stl[j][i];
|
||||
}
|
||||
|
||||
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){
|
||||
int N=A_stl.size();
|
||||
for (int i=0;i<N;i++)
|
||||
for (int j=0;j<N;j++)
|
||||
{
|
||||
A_stl[i].resize(N);
|
||||
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…
Reference in New Issue
Block a user