enhancements of the plot generator:

- removed the ugly X11 and PNG gnuplots terminals
- use enhanced postscript terminal
- use imagemagick to generate the png files (with compression)
- disable the fortran impl by default since it is as meaningless as a "C impl"
- update line settings
This commit is contained in:
Gael Guennebaud 2008-07-13 11:46:36 +00:00
parent 99a625243f
commit c8cbc1665e
13 changed files with 33 additions and 468 deletions

View File

@ -27,8 +27,6 @@ if(MKL_LIBRARIES)
set(MKL_LIBRARIES ${MKL_LIBRARIES} mkl_intel_lp64 mkl_sequential guide pthread)
endif(MKL_LIBRARIES)
message(STATUS ${MKL_LIBRARIES})
else(${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "x86_64")
find_library(MKL_LIBRARIES

View File

@ -1,108 +1,4 @@
#!/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 "A x At 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 [10:1000]
##set yrange [0:400]
set title "{/*1.5 A x A^T}"
set xlabel "matrix size" 0.000000,0.000000
set xrange [4:1024]

View File

@ -1,108 +1,4 @@
#!/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 "At x A 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 [10:1000]
##set yrange [0:400]
set title "{/*1.5 A^T x A}"
set xlabel "matrix size" 0.000000,0.000000
set xrange [4:1024]

View File

@ -1,3 +1,3 @@
set title "transposed-matrix vector product " 0.000000,0.000000
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,110 +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 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 title "{/*1.5 Y += alpha * X}" 0.000000,0.000000
set xlabel "vector size" 0.000000,0.000000
set xrange [1:1000000]

View File

@ -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 matrix 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 "{/*1.5 matrix matrix product}"
set xlabel "matrix size" 0.000000,0.000000
set xrange [4:1024]

View File

@ -1,3 +1,3 @@
set title "matrix vector product " 0.000000,0.000000
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

@ -32,7 +32,7 @@ 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
echo '<hr/><a href="/btl/'$1'.pdf"><img src="/btl/'$1'.png" alt="'${WHAT}'" /></a><br/>' >> $webpagefilename

View File

@ -6,6 +6,8 @@ cat ../gnuplot_common_settings.hh > ${WHAT}.gnuplot
cat ../${WHAT}.hh >> ${WHAT}.gnuplot
DATA_FILE=`cat ../order_lib`
echo set term postscript color rounded enhanced >> $WHAT.gnuplot
echo set output "'"../${DIR}/$WHAT.ps"'" >> $WHAT.gnuplot
echo plot \\ >> $WHAT.gnuplot
@ -26,24 +28,9 @@ do
done
echo " " >> $WHAT.gnuplot
echo set term postscript color >> $WHAT.gnuplot
echo set output "'"../${DIR}/$WHAT.ps"'" >> $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
convert -density 120 -rotate 90 -resize 800 +dither -colors 48 -quality 0 ../${DIR}/$WHAT.ps ../${DIR}/$WHAT.png

View File

@ -1,10 +1,10 @@
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
ublas ; with lines lc rgbcolor "red" lt 1
F77 ; with lines lc rgbcolor "#9A6B36" lt 1
C ; with lines lc rgbcolor "#7DF4FF" lt 1
eigen2 ; with lines lw 4 lt 1 lc rgbcolor "black"
eigen2_novec ; with lines lw 3 lt 1 lc rgbcolor "#999999"
INTEL_MKL ; with lines lw 3 lt 2 lc rgbcolor "#00b7ff"
ATLAS ; with lines lw 3 lt 1 lc rgbcolor "#52e657"
gmm ; with lines lw 3 lt 1 lc rgbcolor "#0000ff"
ublas ; with lines lw 3 lt 1 lc rgbcolor "#ff0000"
mtl4 ; with lines lw 3 lt 1 lc rgbcolor "#d18847"
blitz ; with lines lw 3 lt 1 lc rgbcolor "#ff00ff"
F77 ; with lines lw 3 lt 3 lc rgbcolor "#e6e64c"
C ; with lines lw 3 lt 3 lc rgbcolor "#e6bd96"

View File

@ -23,7 +23,7 @@
// minimal time for each measurement
#define REAL_TYPE float
// minimal time for each measurement
#define MIN_TIME 1.0
#define MIN_TIME 0.5
// nb of point on bench curves
#define NB_POINT 100
// min vector size for axpy bench

View File

@ -34,9 +34,9 @@ int main()
bench<Action_matrix_vector_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_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);

View File

@ -1,4 +1,4 @@
if(CMAKE_MINOR_VERSION GREATER 4)
enable_language(Fortran)
btl_add_bench(btl_f77 main.cpp dmxv.f smxv.f dmxm.f smxm.f daxpy.f saxpy.f data.f sata.f daat.f saat.f)
btl_add_bench(btl_f77 main.cpp dmxv.f smxv.f dmxm.f smxm.f daxpy.f saxpy.f data.f sata.f daat.f saat.f OFF)
endif(CMAKE_MINOR_VERSION GREATER 4)