1HPL_equil(3)                 HPL Library Functions                HPL_equil(3)
2
3
4

NAME

6       HPL_equil - Equilibrate U and forward the column panel L.
7

SYNOPSIS

9       #include "hpl.h"
10
11       void  HPL_equil( HPL_T_panel * PBCST, int * IFLAG, HPL_T_panel * PANEL,
12       const enum HPL_TRANS TRANS, const int N, double * U, const int LDU, int
13       * IPLEN, const int * IPMAP, const int * IPMAPM1, int * IWORK );
14

DESCRIPTION

16       HPL_equil  equilibrates   the   local  pieces  of U, so that on exit to
17       this function, pieces of U contained in every process row  are  of  the
18       same  size.  This  phase makes the rolling phase optimal.  In addition,
19       this  function probes  for  the  column panel L and  forwards  it  when
20       possible.
21

ARGUMENTS

23       PBCST   (local input/output)    HPL_T_panel *
24               On  entry,   PBCST  points to the data structure containing the
25               panel (to be broadcast) information.
26
27       IFLAG   (local input/output)    int *
28               On entry, IFLAG  indicates  whether or not  the  broadcast  has
29               already  been  completed.  If not,  probing will occur, and the
30               outcome will be contained in IFLAG on exit.
31
32       PANEL   (local input/output)    HPL_T_panel *
33               On entry,  PANEL  points to the data structure  containing  the
34               panel (to be equilibrated) information.
35
36       TRANS   (global input)          const enum HPL_TRANS
37               On  entry,  TRANS specifies whether  U  is stored in transposed
38               or non-transposed form.
39
40       N       (local input)           const int
41               On entry, N  specifies the number of rows or columns of   U.  N
42               must be at least 0.
43
44       U       (local input/output)    double *
45               On  entry,   U  is an array of dimension (LDU,*) containing the
46               local pieces of U in each process row.
47
48       LDU     (local input)           const int
49               On entry, LDU specifies the local leading dimension of  U.  LDU
50               should  be  at least MAX(1,IPLEN[nprow]) when  U  is stored  in
51               non-transposed form, and MAX(1,N) otherwise.
52
53       IPLEN   (global input)          int *
54               On entry, IPLEN is an array of dimension NPROW+1.   This  array
55               is  such  that IPLEN[i+1] - IPLEN[i] is the number of rows of U
56               in process IPMAP[i].
57
58       IPMAP   (global input)          const int *
59               On entry, IPMAP is an array of dimension  NPROW.   This   array
60               contains   the   logarithmic mapping of the processes. In other
61               words, IPMAP[myrow]  is the absolute coordinate of  the  sorted
62               process.
63
64       IPMAPM1 (global input)          const int *
65               On  entry,  IPMAPM1  is an array of dimension NPROW. This array
66               contains  the inverse of the logarithmic mapping  contained  in
67               IPMAP: For i in [0.. NPROCS) IPMAPM1[IPMAP[i]] = i.
68
69       IWORK   (workspace)             int *
70               On entry, IWORK is a workarray of dimension NPROW+1.
71

SEE ALSO

73       HPL_pdlaswp01N (3), HPL_pdlaswp01T (3).
74
75
76
77HPL 2.1                        October 26, 2012                   HPL_equil(3)
Impressum