BLASbench Home Page
Description:
- This is a program to benchmark the BLAS library in relation to the
memory subsystem.
- Blasbench has now been integrated into LLCbench
(Low Level Characterization Benchmarks).
- Remember, your machine should be dead quiet to produce accurate results.
Features:
- Generates graphs of UTK and vendor routines as well as comparison graphs.
- Both single and double precision data types, defaults to double.
- Formatted output to tty, tabular to file.
- 3 different routines: AXPY, GEMV and GEMM.
- Automated build test, execution and result processing.
- Generates postscript graphs using GNUplot.
- Measurement of access time in nanoseconds and bandwidth in MB/sec.
- Calibrated iteration count to maintain consistent test length.
- Safe from aggressive optimizating compilers.
- Tunable run time parameters to reduce test domain.
- Completely Purified!
The usage is as follows:
Usage: blasbench [-vatcs -x # -m # -e # -i #]
-v AXPY dot product benchmark
-a GEMV matrix-vector multiply benchmark
-t GEMM matrix-matrix multiply benchmark
-s Use single precision floating point data
-c Use constant number of iterations
-o Report Mflops/sec instead of MB/sec
-e Repeat count per problem size
-l Hold LDA and loop over sizes of square submatrices
-i Maximum iteration count
-x Number of measurements between powers of 2.
-m Specify the log2(maximum problem size) in bytes
-d Report/use dimension statistics instead of bytes
Default datatype : double, 8 bytes
Default datatype : float, 4 bytes
Defaults if to tty : -vat -x1 -m24 -e2 -i100000
Defaults if to file: -t -x1 -m24 -e1 -i100000
The output looks like this:
float AXPY Cache Test
CSize PSize % Fit Dim Iters Nansec % Chng MB/sec
----- ----- ----- ---- ------ ------ ------ -------
256 256 100.00 32 100000 4.22 100.00 226.12
256 256 100.00 32 100000 4.19 99.40 227.49
384 384 100.00 48 66666 4.14 98.82 230.20
384 384 100.00 48 66666 4.12 99.36 231.68
512 512 100.00 64 49999 4.10 99.50 232.85
512 512 100.00 64 49999 4.09 99.92 233.04
768 768 100.00 96 33332 4.06 99.31 234.65
768 768 100.00 96 33332 4.09 100.64 233.17
1024 1024 100.00 128 24999 4.12 100.83 231.25
1024 1024 100.00 128 24999 4.06 98.37 235.09
Bug Reports
Bugs should be submitted to the LLCbench Mailing List.
Author
LLCbench was written by Philip J. Mucci of the Innovative Computing Laboratory.
Copyright
This software is COMPLETELY OPEN SOURCE. If you incorporate any portion of this software, I would appreciate an acknowledgement in the appropriate places. Should you find LLCbench useful, please considering making a contribution in the form of hardware, software or plain old cash.