高性能 Linpack 基准测试中的编码变体是什么?

What is the encoded variant in High-Performance Linpack Benchmark?

当我 运行 HPL 具有多个选项(例如不同的问题大小等)时,基准测试会在系统上执行多个 运行。在我的例子中:

当我查看 运行 的单个输出文件时,我不知道如何区分这些输出。在我的示例中,我如何知道 WR01R2C4WR01R2C8WR03R2C4 是哪个变体?

输出提供了一个编码变体的线索,但我找不到任何关于如何解码它的信息。

有人知道吗?

这是我的输出文件的片段...

(另请注意:是否可以选择在 Whosebug 上突出显示(即加粗)我的代码块中的文本?)

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

如果没有记录,请查看源代码。在 testing/ptest/HPL_pdtest.c 你会发现 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 );

因此,编码变体的格式为:

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