Name

HPL_pdinfo Read input parameter file.

Synopsis

#include <hpl.h>

void HPL_pdinfo( HPL_T_test * TEST, int * NS, int * N, int * NBS, int * NB, int * NPQS, int * P, int * Q, int * NPFS, HPL_T_FACT * PF, int * NBMS, int * NBM, int * NDVS, int * NDV, int * NRFS, HPL_T_FACT * RF, int * NTPS, HPL_T_TOP * TP, int * NDHS, int * DH, HPL_T_SWAP * FSWAP, int * TSWAP, int * L1NOTRAN, int * UNOTRAN, int * EQUIL, int * ALIGN );

Description

HPL_pdinfo reads the startup information for the various tests and transmits it to all processes.

Arguments

TEST    (global output)               HPL_T_test *
        On entry, TEST  points to a testing data structure.  On exit,
        the fields of this data structure are initialized as follows:
        TEST->outfp  specifies the output file where the results will
        be printed.  It is only defined and used by  the process 0 of
        the grid.  TEST->thrsh specifies the threshhold value for the
        test ratio.  TEST->epsil is the relative machine precision of
        the distributed computer.  Finally  the test counters, kfail,
        kpass, kskip, ktest are initialized to zero.
NS      (global output)               int *
        On exit,  NS  specifies the number of different problem sizes
        to be tested. NS is less than or equal to HPL_MAX_PARAM.
N       (global output)               int *
        On entry, N is an array of dimension HPL_MAX_PARAM.  On exit,
        the first NS entries of this array contain the  problem sizes
        to run the code with.
NBS     (global output)               int *
        On exit,  NBS  specifies the number of different distribution
        blocking factors to be tested. NBS must be less than or equal
        to HPL_MAX_PARAM.
NB      (global output)               int *
        On entry, NB is an array of dimension HPL_MAX_PARAM. On exit,
        the first NBS entries of this array contain the values of the
        various distribution blocking factors, to run the code with.
NPQS    (global output)               int *
        On exit, NPQS  specifies the  number of different values that
        can be used for P and Q, i.e., the number of process grids to
        run  the  code with.  NPQS must be  less  than  or  equal  to
        HPL_MAX_PARAM.
P       (global output)               int *
        On entry, P  is an array of dimension HPL_MAX_PARAM. On exit,
        the first NPQS entries of this array contain the values of P,
        the number of process rows of the  NPQS grids to run the code
        with.
Q       (global output)               int *
        On entry, Q  is an array of dimension HPL_MAX_PARAM. On exit,
        the first NPQS entries of this array contain the values of Q,
        the number of process columns of the  NPQS  grids to  run the
        code with.
NPFS    (global output)               int *
        On exit, NPFS  specifies the  number of different values that
        can be used for PF : the panel factorization algorithm to run
        the code with. NPFS is less than or equal to HPL_MAX_PARAM.
PF      (global output)               HPL_T_FACT *
        On entry, PF is an array of dimension HPL_MAX_PARAM. On exit,
        the first  NPFS  entries  of this array  contain  the various
        panel factorization algorithms to run the code with.
NBMS    (global output)               int *
        On exit,  NBMS  specifies  the  number  of  various recursive
        stopping criteria  to be tested.  NBMS  must be  less than or
        equal to HPL_MAX_PARAM.
NBM     (global output)               int *
        On entry,  NBM  is an array of  dimension  HPL_MAX_PARAM.  On
        exit, the first NBMS entries of this array contain the values
        of the various recursive stopping criteria to be tested.
NDVS    (global output)               int *
        On exit,  NDVS  specifies  the number  of various numbers  of
        panels in recursion to be tested.  NDVS is less than or equal
        to HPL_MAX_PARAM.
NDV     (global output)               int *
        On entry,  NDV  is an array of  dimension  HPL_MAX_PARAM.  On
        exit, the first NDVS entries of this array contain the values
        of the various numbers of panels in recursion to be tested.
NRFS    (global output)               int *
        On exit, NRFS  specifies the  number of different values that
        can be used for RF : the recursive factorization algorithm to
        be tested. NRFS is less than or equal to HPL_MAX_PARAM.
RF      (global output)               HPL_T_FACT *
        On entry, RF is an array of dimension HPL_MAX_PARAM. On exit,
        the first  NRFS  entries  of  this array contain  the various
        recursive factorization algorithms to run the code with.
NTPS    (global output)               int *
        On exit, NTPS  specifies the  number of different values that
        can be used for the  broadcast topologies  to be tested. NTPS
        is less than or equal to HPL_MAX_PARAM.
TP      (global output)               HPL_T_TOP *
        On entry, TP is an array of dimension HPL_MAX_PARAM. On exit,
        the  first NTPS  entries of this  array  contain  the various
        broadcast (along rows) topologies to run the code with.
NDHS    (global output)               int *
        On exit, NDHS  specifies the  number of different values that
        can be used for the  lookahead depths to be  tested.  NDHS is
        less than or equal to HPL_MAX_PARAM.
DH      (global output)               int *
        On entry,  DH  is  an array of  dimension  HPL_MAX_PARAM.  On
        exit, the first NDHS entries of this array contain the values
        of lookahead depths to run the code with.  Such a value is at
        least 0 (no-lookahead) or greater than zero.
FSWAP   (global output)               HPL_T_SWAP *
        On exit, FSWAP specifies the swapping algorithm to be used in
        all tests.
TSWAP   (global output)               int *
        On exit,  TSWAP  specifies the swapping threshold as a number
        of columns when the mixed swapping algorithm was chosen.
L1NOTRA (global output)               int *
        On exit, L1NOTRAN specifies whether the upper triangle of the
        panels of columns  should  be stored  in  no-transposed  form
        (L1NOTRAN=1) or in transposed form (L1NOTRAN=0).
UNOTRAN (global output)               int *
        On exit, UNOTRAN  specifies whether the panels of rows should
        be stored in  no-transposed form  (UNOTRAN=1)  or  transposed
        form (UNOTRAN=0) during their broadcast.
EQUIL   (global output)               int *
        On exit,  EQUIL  specifies  whether  equilibration during the
        swap-broadcast  of  the  panel of rows  should  be  performed
        (EQUIL=1) or not (EQUIL=0).
ALIGN   (global output)               int *
        On exit,  ALIGN  specifies the alignment  of  the dynamically
        allocated buffers in double precision words. ALIGN is greater
        than zero.

See Also

HPL_pddriver, HPL_pdtest