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.
HPL_pddriver (3), HPL_pdinfo (3).