高性能 Linpack 基准测试中的编码变体是什么?
What is the encoded variant in High-Performance Linpack Benchmark?
当我 运行 HPL 具有多个选项(例如不同的问题大小等)时,基准测试会在系统上执行多个 运行。在我的例子中:
- 多个 NBMIN
- 多个 BCAST
- 多个深度
- 等等
当我查看 运行 的单个输出文件时,我不知道如何区分这些输出。在我的示例中,我如何知道 WR01R2C4
或 WR01R2C8
或 WR03R2C4
是哪个变体?
输出提供了一个编码变体的线索,但我找不到任何关于如何解码它的信息。
有人知道吗?
这是我的输出文件的片段...
(另请注意:是否可以选择在 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
当我 运行 HPL 具有多个选项(例如不同的问题大小等)时,基准测试会在系统上执行多个 运行。在我的例子中:
- 多个 NBMIN
- 多个 BCAST
- 多个深度
- 等等
当我查看 运行 的单个输出文件时,我不知道如何区分这些输出。在我的示例中,我如何知道 WR01R2C4
或 WR01R2C8
或 WR03R2C4
是哪个变体?
输出提供了一个编码变体的线索,但我找不到任何关于如何解码它的信息。
有人知道吗?
这是我的输出文件的片段...
(另请注意:是否可以选择在 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