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

8x8x8x8 lattice, 1x1x1x1 process grid, 8x8x8x8 local lattice

There is 1 MPI process
Using inline assembly SSE3 instructions
Assuming SSE prefetch instructions fetch 128 bytes


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.030 micro sec (1587 Mflops/process)

Program mulc_spinor_add:
Time per lattice point: 0.088 micro sec (1088 Mflops/process)

Program Qhat:
Time per lattice point: 0.515 micro sec (3683 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.052 micro sec (919 Mflops/process)

Program mulc_spinor_add_dble:
Time per lattice point: 0.164 micro sec (584 Mflops/process)

Program Qhat_dble:
Time per lattice point: 0.819 micro sec (2315 Mflops/process)


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

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

The number of blocks 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: 15.41 micro sec (about 3311 Mflops [32 bit arithmetic])
Time per lattice point and MR iteration: 0.77 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: 3.845 micro sec (4260 Mflops [32 bit arithmetic])
Time per point: 0.015 micro sec


#########################################################
#                                                       #
#             SYNTHETIC QCD SPEED TEST                  #
#                                                       #
#  Using single-precision (32 bit) data and programs    #
#                                                       #
#   Time per lattice point:     1.354 micro sec         #
#   Average speed:              3.083 Gflops/process    #
#   Total throughput:           3.083 Gflops            #
#                                                       #
#                                                       #
#  Using double-precision (64 bit) data and programs    #
#                                                       #
#   Time per lattice point:     2.235 micro sec         #
#   Average speed:              1.869 Gflops/process    #
#   Total throughput:           1.869 Gflops            #
#                                                       #
#                                                       #
#  Using the Schwarz preconditioner [32 bit arithmetic] #
#                                                       #
#   Time per lattice point:    15.407 micro sec         #
#   Average speed:              3.312 Gflops/process    #
#   Total throughput:           3.312 Gflops            #
#                                                       #
#                                                       #
#  Using deflation (little Dirac operator)              #
#  [32 bit arithmetic]                                  #
#                                                       #
#   Time per lattice point:     0.015 micro sec         #
#   Average speed:              4.261 Gflops/process    #
#   Total throughput:           4.261 Gflops            #
#                                                       #
#########################################################

