0

When I run HPL with multiple options like different problem sizes etc., the benchmark performs multiple runs on the system. In my example:

  • multiple NBMIN
  • multiple BCAST
  • multiple DEPTH
  • etc.

When I then look at the single output file of the run, I don't get how I can differentiate those outputs. In my example, how do I know which variant WR01R2C4 or WR01R2C8 or WR03R2C4 is?

The Output gives a clue with an encoded variant, but I couldn't find any info on how to decode it.

Does anybody know?

Here is a snippet of my output file...

(on another note: is there an option to highlight (i.e. make bold) text inside my codeblock on stackoverflow?)

An explanation of the input/output parameters follows:
T/V    : Wall time / encoded variant.
N      : The order of the coefficient matrix A.
NB     : The partitioning blocking factor.
P      : The number of process rows.
Q      : The number of process columns.
Time   : Time in seconds to solve the linear system.
Gflops : Rate of execution for solving the linear system.

The following parameter values will be used:

N      :    9000 
NB     :     640 
PMAP   : Row-major process mapping
P      :       3 
Q      :       3 
PFACT  :   Crout 
NBMIN  :       4        8 
NDIV   :       2 
RFACT  :   Right 
BCAST  :  1ringM   2ringM 
DEPTH  :       0        1 
SWAP   : Mix (threshold = 60)
L1     : transposed form
U      : transposed form
EQUIL  : yes
ALIGN  : 8 double precision words

--------------------------------------------------------------------------------

- The matrix A is randomly generated for each test.
- The following scaled residual check will be computed:
      ||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N )
- The relative machine precision (eps) is taken to be               1.110223e-16
- Computational tests pass if scaled residuals are less than                16.0

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR01R2C4        9000   640     3     3               9.42             5.1609e+01
HPL_pdgesv() start time Mon Nov 29 13:12:56 2021

HPL_pdgesv() end time   Mon Nov 29 13:13:05 2021

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=   2.34317645e-03 ...... PASSED
================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR01R2C8        9000   640     3     3               9.35             5.2011e+01
HPL_pdgesv() start time Mon Nov 29 13:13:06 2021

HPL_pdgesv() end time   Mon Nov 29 13:13:15 2021

--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=   2.50831382e-03 ...... PASSED
================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR03R2C4        9000   640     3     3               9.32             5.2164e+01
HPL_pdgesv() start time Mon Nov 29 13:13:16 2021

HPL_pdgesv() end time   Mon Nov 29 13:13:25 2021
Jason Aller
  • 3,541
  • 28
  • 38
  • 38

1 Answers1

3

If it isn't documented, just look into the source code. In testing/ptest/HPL_pdtest.c you'll find the following line:

         HPL_fprintf( TEST->outfp,
             "W%c%1d%c%c%1d%c%1d%12d %5d %5d %5d %18.2f     %18.3e\n",
             ( GRID->order == HPL_ROW_MAJOR ? 'R' : 'C' ),
             ALGO->depth, ctop, crfact, ALGO->nbdiv, cpfact, ALGO->nbmin,
             N, NB, nprow, npcol, wtime[0], Gflops );

Hence, the format of the encoded variant is:

WR01R2C4
^^^^^^^^
||||||||
|||||||+--- NBMIN
||||||+---- PFACT (C = Crout, L = Left, R = Right)
|||||+----- NBDIV
||||+------ RFACT (see PFACT)
|||+------- BCAST (0 = 1ring, 1 = 1ringM, 2 = 2ring, 3 = 2ringM, 4 = long)
||+-------- DEPTH
|+--------- PMAP (R = Row-major, C = Column-major)
+---------- always W
Hristo Iliev
  • 72,659
  • 12
  • 135
  • 186
  • Yeah, I was looking for that, but couldn't find it. Thanks for helping me out! :) – theFinestHobo Nov 30 '21 at 13:42
  • 1
    @theFinestHobo I see you are new to Stack Overflow. If the above text answers your question, please consider marking it as the correct answer. This gives others indication that the question is answered and allows similar questions to be redirected here. It also declutters the queue of unanswered questions. – Hristo Iliev Dec 01 '21 at 16:18