====== MADbench2 ======
---- dataentry benchmark ----
name : MADbench2
layers_ttags : POSIX, MPI-IO
features_ttags : data
parallel_ttags : MPI
type_ttags : kernel
license_ttag :
webpage_url : http://crd.lbl.gov/departments/computational-science/c3/c3-research/madbench2/
----
MADbench2 is a tool for testing the integrated performance of the I/O, communication and calculation subsystems of massively parallel architectures under the stresses of a real scientific application. It is based on the MADspec code, which calculates the maximum likelihood angular power spectrum of the Cosmic Microwave Background radiation from a noisy pixelized map of the sky and its pixel-pixel noise correlation matrix.
===== Usage =====
For just IO benchmark we can skip the normal benchmark prerequisites ScaLapack, Lapack and BLAS. Compilation: mpicc -D SYSTEM -D COLUMBIA -D IO -o MADbench2.x MADbench2.c -lm
Running MADbench2:
mpiexec -n $NO_PROC MADbench2.x $NO_PIX $NO_BIN $NO_GANG $SBLOCKSIZE $FBLOCKSIZE $RMOD $WMOD
Parameters
NO_PIX Sets the size of the pseudo-data - all the component matrices have NO_PIX x NO_PIX elements
NO_BIN Sets the size of the pseudo-dataset - there are NO_BIN component matrices
NO_GANG Sets the level of gang-parallelism - there are NO_GANG gangs
SBLOCKSIZE Sets the ScaLAPACK blocksize - all matrices will be block-cycically distributed with side SBLOCKSIZE.
FBLOCKSIZE Sets the file blocksize - all IO will start at a file-offset that is an integer multiple of FBLOCKSIZE.
RMOD Sets the degree of simultaneous reading - 1:RMOD processors will read at once.
WMOD Sets the degree of simultaneous writing - 1:WMOD processors will write at once.
Additional environment variables
IOMETHOD = POSIX | MPI
IOMODE = SYNC | ASYNC
FILETYPE = UNIQUE | SHARED
REMAP = CUSTOM | SCALAPACK
BWEXP = Any number
===== Example Output =====
For example runnning ''mpiexec -n 4 MADbench2.x 640 80 1 8 8 4 4'' results in the following output
MADbench 2.0 IO-mode
no_pe = 4 no_pix = 640 no_bin = 80 no_gang = 1 sblocksize = 8 fblocksize = 8 r_mod = 4 w_mod = 4
IOMETHOD = POSIX IOMODE = SYNC FILETYPE = UNIQUE REMAP = CUSTOM
S_cc 0.13 [ 0.05: 0.16]
S_bw 0.09 [ 0.03: 0.11]
S_w 5.57 [ 1.85: 6.81]
-------
S_total 5.79 [ 1.92: 7.09]
W_cc 0.37 [ 0.12: 0.50]
W_bw 55.75 [ 18.49: 68.19]
W_r 0.26 [ 0.09: 0.32]
W_w 3.78 [ 1.25: 4.63]
-------
W_total 60.16 [ 19.95: 73.57]
C_cc 0.28 [ 0.10: 0.38]
C_bw 0.13 [ 0.04: 0.16]
C_r 0.39 [ 0.13: 0.52]
-------
C_total 0.81 [ 0.27: 0.99]
dC[0] = 0.00000e+00
Numbers are seconds spent in the S/W/C stages described on MADbench2 web page. Also there is an excel sheet to calculate MB/s.
Output has been created using version 2.0.