HPL_pdmatgen - Parallel random matrix generator.
#include "hpl.h"
void HPL_pdmatgen( const HPL_T_grid *
GRID, const int M, const int N, const
int NB, double * A, const int LDA,
const int ISEED );
HPL_pdmatgen generates (or regenerates) a parallel random matrix A.
The pseudo-random generator uses the linear congruential
algorithm: X(n+1) = (a * X(n) + c) mod m as described in the Art of Computer
Programming, Knuth 1973, Vol. 2.
- GRID (local input) const HPL_T_grid *
- On entry, GRID points to the data structure containing the process grid
information.
- M (global input) const int
- On entry, M specifies the number of rows of the matrix A. M must be at
least zero.
- N (global input) const int
- On entry, N specifies the number of columns of the 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.
- A (local output) double *
- On entry, A points to an array of dimension (LDA,LocQ(N)). On exit, this
array contains the coefficients of the randomly generated matrix.
- LDA (local input) const int
- On entry, LDA specifies the leading dimension of the array A. LDA must be
at least max(1,LocP(M)).
- ISEED (global input) const int
- On entry, ISEED specifies the seed number to generate the matrix A. ISEED
must be at least zero.
HPL_ladd (3), HPL_lmul (3),
HPL_setran (3), HPL_xjumpm (3),
HPL_jumpit (3), HPL_drand (3).