
QCD speed test
-------------------------------

32x32x32x32 lattice, 4x4x4x4 process grid, 8x8x8x8 local lattice

There are 256 MPI processes


Single-precision data and programs
-------------------------------

The local size of the gauge field is 1152 KB
The local size of a quark field is 384 KB

Program norm_square:
Time per lattice point: 0.093 micro sec (513 Mflops/process)

Program mulc_spinor_add:
Time per lattice point: 0.220 micro sec (436 Mflops/process)

Program Qhat:
Time per lattice point: 4.422 micro sec (428 Mflops/process)


Double-precision data and programs
-------------------------------

The local size of the gauge field is 2304 KB
The local size of a quark field is 768 KB

Program norm_square_dble:
Time per lattice point: 0.202 micro sec (237 Mflops/process)

Program mulc_spinor_add_dble:
Time per lattice point: 0.447 micro sec (214 Mflops/process)

Program Qhat_dble:
Time per lattice point: 7.542 micro sec (251 Mflops/process)


Timing of the Schwarz preconditioner
------------------------------------

bs = 4 4 4 4
nmr = 4
ncy = 5

The number of blocks per process is 16
The local size of the gauge field is 1152 KB
The local size of a quark field is 384 KB
The size of the block gauge field is 72 KB
The size of a block quark field is 24 KB

Time per lattice point: 67.19 micro sec (about 759 Mflops [32 bit arithmetic])
Time per lattice point and MR iteration: 3.36 micro sec


Timing of Zhat
--------------

bs = 4 4 4 4
Ns = 16

Number of points = 4096
Number of blocks = 16
Number of points/block = 256
Vector field size = 2.05 KB
Zhat array size = 0.26 MB

Time per application of Zhat, including communications:
Time per block: 163.805 micro sec (100 Mflops [32 bit arithmetic])
Time per point: 0.640 micro sec


#########################################################
#                                                       #
#             SYNTHETIC QCD SPEED TEST                  #
#                                                       #
#  Using single-precision (32 bit) data and programs    #
#                                                       #
#   Time per lattice point:     9.691 micro sec         #
#   Average speed:              0.431 Gflops/process    #
#   Total throughput:         110.314 Gflops            #
#                                                       #
#                                                       #
#  Using double-precision (64 bit) data and programs    #
#                                                       #
#   Time per lattice point:    16.830 micro sec         #
#   Average speed:              0.248 Gflops/process    #
#   Total throughput:          63.521 Gflops            #
#                                                       #
#                                                       #
#  Using the Schwarz preconditioner [32 bit arithmetic] #
#                                                       #
#   Time per lattice point:    67.192 micro sec         #
#   Average speed:              0.759 Gflops/process    #
#   Total throughput:         194.399 Gflops            #
#                                                       #
#                                                       #
#  Using deflation (little Dirac operator)              #
#  [32 bit arithmetic]                                  #
#                                                       #
#   Time per lattice point:     0.640 micro sec         #
#   Average speed:              0.100 Gflops/process    #
#   Total throughput:          25.605 Gflops            #
#                                                       #
#########################################################

