Newer
Older
Tomáš Oberhuber
committed
#!/usr/bin/env bash
BASE="ftp://math.nist.gov/pub/MatrixMarket2/Harwell-Boeing/"
PWD=`pwd`
IWD="$PWD"
DEBUG="no"
SPARSE_MATRIX_BENCHMARK="$IWD/sparse-matrix-benchmark"
SPARSE_MATRIX_BENCHMARK_DBG="$IWD/.libs/sparse-matrix-benchmark-dbg"
#SPARSE_MATRIX_BENCHMARK="$IWD/.libs/sparse-matrix-benchmark-dbg"
Tomáš Oberhuber
committed
STOP_TIME="1"
source ../tnl-env-variables
export CUDA_PROFILE=0
export CUDA_PROFILE_CONFIG="$TNL_SOURCE_DIR/tests/cuda-profiler.conf"
PROCESS_CUDA_PROFILE="$TNL_SOURCE_DIR/tests/process-cuda-profile.pl"
source $TNL_SOURCE_DIR/tests/matrix-market
source $TNL_SOURCE_DIR/tests/florida-matrix-market
export TNL_SPARSE_MATRIX_CHECK_CFG_DESC_FILE="$TNL_SOURCE_DIR/tests/tnl-sparse-matrix-check.cfg.desc"
#MM_MATRICES=""
#FLORIDA_MM_MATRICES=""
#./tnl-sparse-matrix-check-dbg --input-file matrices/MatrixMarket2/misc/cylshell/s3dkq4m2.mtx
#exit
write_header()
{
echo "<html>" > $1
echo " <body>" >> $1
echo " <table border=1>" >> $1
echo " <tr>" >> $1
echo " <td rowspan=4 colspan=4 align=center>Matrix</td>" >> $1
echo " <td rowspan=4 align=center>CSR</td>" >> $1
echo " <td rowspan=4 colspan=2 align=center>Hybrid</td>" >> $1
echo " <td colspan=48 align=center>Row-Grouped CSR</td>" >> $1
echo " <td colspan=48 align=center>Row-Grouped CSR with rows sorted decreasingly by the number of the nonzeros</td>" >> $1
echo " <td colspan=96 align=center>Adaptive Row-Grouped CSR</td>" >> $1
echo " </tr>" >> $1
echo " <tr>" >> $1
echo " <td colspan=12>Group Size = 16</td>" >> $1 # RgCSR
echo " <td colspan=12>Group Size = 32</td>" >> $1
echo " <td colspan=12>Group Size = 64</td>" >> $1
echo " <td colspan=12>Group Size Variable</td>" >> $1 # RgCSR adaptive group size
echo " <td colspan=12>Group Size = 16</td>" >> $1 # RgCSR rows sorted decreasingly
echo " <td colspan=12>Group Size = 32</td>" >> $1
echo " <td colspan=12>Group Size = 64</td>" >> $1
echo " <td colspan=12>Group Size Variable</td>" >> $1 # RgCSR rows sorted decreasingly, adaptive group size
echo " <td rowspan=2 colspan=16>Chunk Size = 1</td>" >> $1 # Adaptive RgCSR
echo " <td rowspan=2 colspan=16>Chunk Size = 2</td>" >> $1
echo " <td rowspan=2 colspan=16>Chunk Size = 4</td>" >> $1
echo " <td rowspan=2 colspan=16>Chunk Size = 8</td>" >> $1
echo " <td rowspan=2 colspan=16>Chunk Size = 16</td>" >> $1
echo " <td rowspan=2 colspan=16>Chunk Size = 32</td>" >> $1
echo " </tr>" >> $1
echo " <tr>" >> $1
echo " <td rowspan=2 colspan=2></td>" >> $1 # RgCSR format with the group size = 16
echo " <td rowspan=2 colspan=2>CPU</td>" >> $1
echo " <td colspan=8>GPU</td>" >> $1
echo " <td rowspan=2 colspan=2></td>" >> $1 # RgCSR format with the group size = 32
echo " <td rowspan=2 colspan=2>CPU</td>" >> $1
echo " <td colspan=8>GPU</td>" >> $1
echo " <td rowspan=2 colspan=2></td>" >> $1 # RgCSR format with the group size = 64
echo " <td rowspan=2 colspan=2>CPU</td>" >> $1
echo " <td rowspan=2 colspan=2></td>" >> $1 # RgCSR format with the variable group size
echo " <td rowspan=2 colspan=2>CPU</td>" >> $1
echo " <td colspan=8>GPU</td>" >> $1
echo " <td rowspan=2 colspan=2></td>" >> $1 # RgCSR (sorted rows) format with the group size = 16
echo " <td rowspan=2 colspan=2>CPU</td>" >> $1
echo " <td colspan=8>GPU</td>" >> $1
echo " <td rowspan=2 colspan=2></td>" >> $1 # RgCSR (sorted rows) format with the group size = 32
echo " <td rowspan=2 colspan=2>CPU</td>" >> $1
echo " <td colspan=8>GPU</td>" >> $1
echo " <td rowspan=2 colspan=2></td>" >> $1 # RgCSR (sorted rows) format with the group size = 64
echo " <td rowspan=2 colspan=2>CPU</td>" >> $1
echo " <td colspan=8>GPU</td>" >> $1
echo " <td rowspan=2 colspan=2></td>" >> $1 # RgCSR (sorted rows) format with variable group size
echo " <td rowspan=2 colspan=2>CPU</td>" >> $1
echo " <td colspan=8>GPU</td>" >> $1
# echo " <td colspan=16>GPU</td>" >> $1 # Adaptive RgCSR format with the chunk size 1
# echo " <td colspan=16>GPU</td>" >> $1 # Adaptive RgCSR format with the chunk size 2
# echo " <td colspan=16>GPU</td>" >> $1 # Adaptive RgCSR format with the chunk size 4
# echo " <td colspan=16>GPU</td>" >> $1 # Adaptive RgCSR format with the chunk size 8
# echo " <td colspan=16>GPU</td>" >> $1 # Adaptive RgCSR format with the chunk size 16
# echo " <td colspan=16>GPU</td>" >> $1 # Adaptive RgCSR format with the chunk size 32
echo " </tr>" >> $1
echo " <tr>" >> $1
echo " <td colspan=2>CUDA Block Size = 32</td>" >> $1 # RgCSR format with the group size = 16
echo " <td colspan=2>CUDA Block Size = 64</td>" >> $1
echo " <td colspan=2>CUDA Block Size = 128</td>" >> $1
echo " <td colspan=2>CUDA Block Size = 256</td>" >> $1
echo " <td colspan=2>CUDA Block Size = 32</td>" >> $1 # RgCSR format with the group size = 32
echo " <td colspan=2>CUDA Block Size = 64</td>" >> $1
echo " <td colspan=2>CUDA Block Size = 128</td>" >> $1
echo " <td colspan=2>CUDA Block Size = 256</td>" >> $1
echo " <td colspan=2>CUDA Block Size = 32</td>" >> $1 # RgCSR format with the group size = 64
echo " <td colspan=2>CUDA Block Size = 64</td>" >> $1
echo " <td colspan=2>CUDA Block Size = 128</td>" >> $1
echo " <td colspan=2>CUDA Block Size = 256</td>" >> $1
echo " <td colspan=2>CUDA Block Size = 32</td>" >> $1 # RgCSR format with the group size cca 16
echo " <td colspan=2>CUDA Block Size = 64</td>" >> $1
echo " <td colspan=2>CUDA Block Size = 128</td>" >> $1
echo " <td colspan=2>CUDA Block Size = 256</td>" >> $1
echo " <td colspan=2>CUDA Block Size = 32</td>" >> $1 # RgCSR (sorted rows) format with the group size = 16
echo " <td colspan=2>CUDA Block Size = 64</td>" >> $1
echo " <td colspan=2>CUDA Block Size = 128</td>" >> $1
echo " <td colspan=2>CUDA Block Size = 256</td>" >> $1
echo " <td colspan=2>CUDA Block Size = 32</td>" >> $1 # RgCSR (sorted rows) format with the group size = 32
echo " <td colspan=2>CUDA Block Size = 64</td>" >> $1
echo " <td colspan=2>CUDA Block Size = 128</td>" >> $1
echo " <td colspan=2>CUDA Block Size = 256</td>" >> $1
echo " <td colspan=2>CUDA Block Size = 32</td>" >> $1 # RgCSR (sorted rows) format with the group size = 64
echo " <td colspan=2>CUDA Block Size = 64</td>" >> $1
echo " <td colspan=2>CUDA Block Size = 128</td>" >> $1
echo " <td colspan=2>CUDA Block Size = 256</td>" >> $1
echo " <td colspan=2>CUDA Block Size = 32</td>" >> $1 # RgCSR (sorted rows) format with the group size >= 16
echo " <td colspan=2>CUDA Block Size = 64</td>" >> $1
echo " <td colspan=2>CUDA Block Size = 128</td>" >> $1
echo " <td colspan=2>CUDA Block Size = 256</td>" >> $1
echo " <td colspan=4>CUDA Block Size = 32</td>" >> $1 # Adaptive RgCSR format with the chunk size = 1
echo " <td colspan=4>CUDA Block Size = 64</td>" >> $1
echo " <td colspan=4>CUDA Block Size = 128</td>" >> $1
echo " <td colspan=4>CUDA Block Size = 256</td>" >> $1
echo " <td colspan=4>CUDA Block Size = 32</td>" >> $1 # Adaptive RgCSR format with the chunk size = 2
echo " <td colspan=4>CUDA Block Size = 64</td>" >> $1
echo " <td colspan=4>CUDA Block Size = 128</td>" >> $1
echo " <td colspan=4>CUDA Block Size = 256</td>" >> $1
echo " <td colspan=4>CUDA Block Size = 32</td>" >> $1 # Adaptive RgCSR format with the chunk size = 4
echo " <td colspan=4>CUDA Block Size = 64</td>" >> $1
echo " <td colspan=4>CUDA Block Size = 128</td>" >> $1
echo " <td colspan=4>CUDA Block Size = 256</td>" >> $1
echo " <td colspan=4>CUDA Block Size = 32</td>" >> $1 # Adaptive RgCSR format with the chunk size = 8
echo " <td colspan=4>CUDA Block Size = 64</td>" >> $1
echo " <td colspan=4>CUDA Block Size = 128</td>" >> $1
echo " <td colspan=4>CUDA Block Size = 256</td>" >> $1
echo " <td colspan=4>CUDA Block Size = 32</td>" >> $1 # Adaptive RgCSR format with the chunk size = 16
echo " <td colspan=4>CUDA Block Size = 64</td>" >> $1
echo " <td colspan=4>CUDA Block Size = 128</td>" >> $1
echo " <td colspan=4>CUDA Block Size = 256</td>" >> $1
echo " <td colspan=4>CUDA Block Size = 32</td>" >> $1 # Adaptive RgCSR format with the chunk size = 32
echo " <td colspan=4>CUDA Block Size = 64</td>" >> $1
echo " <td colspan=4>CUDA Block Size = 128</td>" >> $1
echo " <td colspan=4>CUDA Block Size = 256</td>" >> $1
echo " </tr>" >> $1
echo " <tr>" >> $1
echo " <td>Name</td>" >> $1 # Matrix description
echo " <td>Size</td>" >> $1
echo " <td>NonZeros No.</td>" >> $1
echo " <td>NonZeros %</td>" >> $1
echo " <td>GFlops</td>" >> $1 # CSR format on CPU
echo " <td>GFlops</td>" >> $1 # Hybrid format Bell, Garland on GPU
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1 # RgCSR format with the group size = 16
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1 # RgCSR format with the group size = 32
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1 # RgCSR format with the group size = 64
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1 # RgCSR format with the group size variable
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1 # RgCSR (sorted rows) format with the group size = 16
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1 # RgCSR (sorted rows) format with the group size = 32
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1 # RgCSR (sorted rows) format with the group size = 64
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1 # RgCSR (sorted rows) format with the group size variable
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1 # Adaptive RgCSR format with the chunk size = 1
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1 # Adaptive RgCSR format with the chunk size = 2
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1 # Adaptive RgCSR format with the chunk size = 4
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1 # Adaptive RgCSR format with the chunk size = 8
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1 # Adaptive RgCSR format with the chunk size = 16
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1 # Adaptive RgCSR format with the chunk size = 32
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
echo " <td>Info</td>" >> $1
echo " <td>Artificial Zeros</td>" >> $1
echo " <td>GFlops</td>" >> $1
echo " <td>Speed-up</td>" >> $1
}
write_closing()
{
echo " </table>" >> $1
echo " </body>" >> $1
echo "</html>" >> $1
}
write_header sparse-matrix-benchmark-float.log.html
write_header sparse-matrix-benchmark-double.log.html
Tomáš Oberhuber
committed
write_header sparse-matrix-benchmark-amd-float.log.html
write_header sparse-matrix-benchmark-amd-double.log.html
Tomáš Oberhuber
committed
for link in $MM_MATRICES;
do
echo "###############################################################################################"
matrix=matrices`echo $link | sed 's/ftp:\/\/math.nist.gov\/pub//'`
unzipped_matrix=`echo $matrix | sed 's/.gz//'`
if test ! -e $matrix;
then
echo "Matrix $matrix is missing !!! Run the script 'get-matrices' first."
#echo "Matrix $matrix is missing !!! Run the script 'get-matrices' first." >> sparse-matrix-benchmark.log
else
if test ! -e $unzipped_matrix.float.bin.bz2;
then
echo "Missing $unzipped_matrix.float.bin.bz2 !!! Run the script 'convert-matrices'."
#echo "Missing $unzipped_matrix.float.bin.bz2 !!! Run the script 'convert-matrices'." >> sparse-matrix-benchmark.log
else
gunzip -f $matrix
echo "Checking with the matrix $unzipped_matrix in single precision ..."
export CUDA_PROFILE_LOG=$unzipped_matrix.float.log
if test x$DEBUG = xyes;
then
rm -f .gdbinit
echo "file $SPARSE_MATRIX_BENCHMARK_DBG" > .gdbinit
echo "" >> .gdbinit
echo -n "run --input-file $unzipped_matrix.float.bin.bz2 --input-mtx-file $unzipped_matrix --log-file sparse-matrix-benchmark-float.log.html --stop-time $STOP_TIME --verbose 1" >> .gdbinit
gdb
else
$SPARSE_MATRIX_BENCHMARK --input-file $unzipped_matrix.float.bin.bz2 --input-mtx-file $unzipped_matrix --pdf-file $unzipped_matrix.pdf --log-file sparse-matrix-benchmark-float.log.html --stop-time $STOP_TIME --verbose 1
Tomáš Oberhuber
committed
perl $PROCESS_CUDA_PROFILE $unzipped_matrix.float.log sparse-matrix-profiling-float.log
gzip $unzipped_matrix
fi
if test ! -e $unzipped_matrix.double.bin.bz2;
then
echo "Missing $unzipped_matrix.double.bin.bz2 !!! Run the script 'convert-matrices'."
#echo "Missing $unzipped_matrix.double.bin.bz2 !!! Run the script 'convert-matrices'." >> sparse-matrix-benchmark.log
else
gunzip -f $matrix
echo "Checking with the matrix $unzipped_matrix in double precison ..."
export CUDA_PROFILE_LOG=$unzipped_matrix.double.log
$SPARSE_MATRIX_BENCHMARK --input-file $unzipped_matrix.double.bin.bz2 --input-mtx-file $unzipped_matrix --pdf-file $unzipped_matrix.pdf --log-file sparse-matrix-benchmark-double.log.html --stop-time $STOP_TIME --verbose 1
Tomáš Oberhuber
committed
gzip $unzipped_matrix
fi
Tomáš Oberhuber
committed
#######
## AMD ordering
###
if test ! -e $unzipped_matrix.amd.float.bin.bz2;
then
echo "Missing $unzipped_matrix.amd.float.bin.bz2 !!! Run the script 'convert-matrices'."
else
echo "Checking with the matrix $unzipped_matrix.amd in single precision ..."
export CUDA_PROFILE_LOG=$unzipped_matrix.amd.float.log
$SPARSE_MATRIX_BENCHMARK --input-file $unzipped_matrix.amd.float.bin.bz2 --input-mtx-file $unzipped_matrix.amd --pdf-file $unzipped_matrix.amd.pdf --log-file sparse-matrix-benchmark-amd-float.log.html --stop-time $STOP_TIME --verbose 1
Tomáš Oberhuber
committed
fi
if test ! -e $unzipped_matrix.amd.double.bin.bz2;
then
echo "Missing $unzipped_matrix.amd.double.bin.bz2 !!! Run the script 'convert-matrices'."
else
echo "Checking with the matrix $unzipped_matrix.amd in double precison ..."
export CUDA_PROFILE_LOG=$unzipped_matrix.amd.double.log
$SPARSE_MATRIX_BENCHMARK --input-file $unzipped_matrix.amd.double.bin.bz2 --input-mtx-file $unzipped_matrix.amd --pdf-file $unzipped_matrix.amd.pdf --log-file sparse-matrix-benchmark-amd-double.log.html --stop-time $STOP_TIME --verbose 1
Tomáš Oberhuber
committed
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
fi
fi
done
for link in $FLORIDA_MM_MATRICES;
do
matrix=matrices`echo $link | sed 's/http:\/\/www.cise.ufl.edu\/research\/sparse//'`
if test ! -e $matrix;
then
echo "Matrix $matrix is missing !!! Run the script 'get-matrices' first."
#echo "Matrix $matrix is missing !!! Run the script 'get-matrices' first." >> sparse-matrix-benchmark.log
else
DIRNAME=`dirname $matrix`
FILENAME=`basename $matrix`
cd $DIRNAME
tar zxvf $FILENAME
cd $IWD
SUBDIRNAME=`echo $FILENAME | sed 's/.tar.gz//'`
rm -f $DIRNAME/$SUBDIRNAME/*_b.mtx # these are usualy in array format
for file in $DIRNAME/$SUBDIRNAME/*.mtx;
do
echo "###############################################################################################"
if test ! -e $file.float.bin.bz2;
then
echo "Missing $file.float.bin.bz2 !!! Run the script 'convert-matrices'."
else
echo "Checking with the matrix $file ..."
$SPARSE_MATRIX_BENCHMARK --input-file $file.float.bin.bz2 --input-mtx-file $file --pdf-file $file.pdf --log-file sparse-matrix-benchmark-float.log.html --stop-time $STOP_TIME --verbose 1
Tomáš Oberhuber
committed
fi
if test ! -e $file.double.bin.bz2;
then
echo "Missing $file.double.bin.bz2 !!! Run the script 'convert-matrices'."
else
echo "Checking with the matrix $file ..."
$SPARSE_MATRIX_BENCHMARK --input-file $file.double.bin.bz2 --input-mtx-file $file --pdf-file $file.pdf --log-file sparse-matrix-benchmark-double.log.html --stop-time $STOP_TIME --verbose 1
Tomáš Oberhuber
committed
fi
Tomáš Oberhuber
committed
#######
## AMD ordering
###
if test ! -e $file.amd.float.bin.bz2;
then
echo "Missing $file.amd.float.bin.bz2 !!! Run the script 'convert-matrices'."
else
echo "Checking with the matrix $file.amd ..."
$SPARSE_MATRIX_BENCHMARK --input-file $file.amd.float.bin.bz2 --input-mtx-file $file.amd --pdf-file $file.amd.pdf --log-file sparse-matrix-benchmark-amd-float.log.html --stop-time $STOP_TIME --verbose 1
Tomáš Oberhuber
committed
fi
if test ! -e $file.amd.double.bin.bz2;
then
echo "Missing $file.amd.double.bin.bz2 !!! Run the script 'convert-matrices'."
else
echo "Checking with the matrix $file ..."
$SPARSE_MATRIX_BENCHMARK --input-file $file.amd.double.bin.bz2 --input-mtx-file $file.amd --pdf-file $file.amd.pdf --log-file sparse-matrix-benchmark-amd-double.log.html --stop-time $STOP_TIME --verbose 1
Tomáš Oberhuber
committed
fi
rm $file
done
fi
write_closing sparse-matrix-benchmark-float.log.html.html
write_closing sparse-matrix-benchmark-double.log.html.html