HPL_pdtest Perform one test.


#include "hpl.h"

void HPL_pdtest( HPL_T_test * TEST, HPL_T_grid * GRID, HPL_T_palg * ALGO, const int N, const int NB );


HPL_pdtest performs one test given a set of parameters such as the process grid, the problem size, the distribution blocking factor ... This function generates the data, calls and times the linear system solver, checks the accuracy of the obtained vector solution and writes this information to the file pointed to by TEST->outfp.


TEST    (global input)                HPL_T_test *
        On entry,  TEST  points  to a testing data structure:  outfp
        specifies the output file where the results will be printed.
        It is only defined and used by the process  0  of the  grid.
        thrsh  specifies  the  threshhold value  for the test ratio.
        Concretely, a test is declared "PASSED"  if and only if  the
        following inequality is satisfied:
        ||Ax-b||_oo / ( epsil *
                        ( || x ||_oo * || A ||_oo + || b ||_oo ) *
                         N )  < thrsh.
        epsil  is the  relative machine precision of the distributed
        computer. Finally the test counters, kfail, kpass, kskip and
        ktest are updated as follows:  if the test passes,  kpass is
        incremented by one;  if the test fails, kfail is incremented
        by one; if the test is skipped, kskip is incremented by one.
        ktest is left unchanged.
GRID    (local input)                 HPL_T_grid *
        On entry,  GRID  points  to the data structure containing the
        process grid information.
ALGO    (global input)                HPL_T_palg *
        On entry,  ALGO  points to  the data structure containing the
        algorithmic parameters to be used for this test.
N       (global input)                const int
        On entry,  N specifies the order of the coefficient matrix A.
        N must be at least zero.
NB      (global input)                const int
        On entry,  NB specifies the blocking factor used to partition
        and distribute the matrix A. NB must be larger than one.

See Also

HPL_pddriver, HPL_pdinfo.