Statistiques
| Révision :

root / man / man3 / HPL_equil.3 @ 1

Historique | Voir | Annoter | Télécharger (2,82 ko)

1
.TH HPL_equil 3 "September 10, 2008" "HPL 2.0" "HPL Library Functions"
2
.SH NAME
3
HPL_equil \- Equilibrate U and forward the column panel L.
4
.SH SYNOPSIS
5
\fB\&#include "hpl.h"\fR
6
 
7
\fB\&void\fR
8
\fB\&HPL_equil(\fR
9
\fB\&HPL_T_panel *\fR
10
\fI\&PBCST\fR,
11
\fB\&int *\fR
12
\fI\&IFLAG\fR,
13
\fB\&HPL_T_panel *\fR
14
\fI\&PANEL\fR,
15
\fB\&const enum HPL_TRANS\fR
16
\fI\&TRANS\fR,
17
\fB\&const int\fR
18
\fI\&N\fR,
19
\fB\&double *\fR
20
\fI\&U\fR,
21
\fB\&const int\fR
22
\fI\&LDU\fR,
23
\fB\&int *\fR
24
\fI\&IPLEN\fR,
25
\fB\&const int *\fR
26
\fI\&IPMAP\fR,
27
\fB\&const int *\fR
28
\fI\&IPMAPM1\fR,
29
\fB\&int *\fR
30
\fI\&IWORK\fR
31
\fB\&);\fR
32
.SH DESCRIPTION
33
\fB\&HPL_equil\fR
34
equilibrates  the  local  pieces  of U, so that on exit to
35
this function, pieces of U contained in every process row are of the
36
same size. This phase makes the rolling phase optimal.  In addition,
37
this  function probes  for  the  column panel L and forwards it when
38
possible.
39
.SH ARGUMENTS
40
.TP 8
41
PBCST   (local input/output)    HPL_T_panel *
42
On entry,  PBCST  points to the data structure containing the
43
panel (to be broadcast) information.
44
.TP 8
45
IFLAG   (local input/output)    int *
46
On entry, IFLAG  indicates  whether or not  the broadcast has
47
already been completed.  If not,  probing will occur, and the
48
outcome will be contained in IFLAG on exit.
49
.TP 8
50
PANEL   (local input/output)    HPL_T_panel *
51
On entry,  PANEL  points to the data structure containing the
52
panel (to be equilibrated) information.
53
.TP 8
54
TRANS   (global input)          const enum HPL_TRANS
55
On entry, TRANS specifies whether  U  is stored in transposed
56
or non-transposed form.
57
.TP 8
58
N       (local input)           const int
59
On entry, N  specifies the number of rows or columns of  U. N
60
must be at least 0.
61
.TP 8
62
U       (local input/output)    double *
63
On entry,  U  is an array of dimension (LDU,*) containing the
64
local pieces of U in each process row.
65
.TP 8
66
LDU     (local input)           const int
67
On entry, LDU specifies the local leading dimension of U. LDU
68
should be at least MAX(1,IPLEN[nprow]) when  U  is stored  in
69
non-transposed form, and MAX(1,N) otherwise.
70
.TP 8
71
IPLEN   (global input)          int *
72
On entry, IPLEN is an array of dimension NPROW+1.  This array
73
is such that IPLEN[i+1] - IPLEN[i] is the number of rows of U
74
in process IPMAP[i].
75
.TP 8
76
IPMAP   (global input)          const int *
77
On entry, IPMAP is an array of dimension  NPROW.  This  array
78
contains  the  logarithmic mapping of the processes. In other
79
words, IPMAP[myrow]  is the absolute coordinate of the sorted
80
process.
81
.TP 8
82
IPMAPM1 (global input)          const int *
83
On entry, IPMAPM1  is an array of dimension NPROW. This array
84
contains  the inverse of the logarithmic mapping contained in
85
IPMAP: For i in [0.. NPROCS) IPMAPM1[IPMAP[i]] = i.
86
.TP 8
87
IWORK   (workspace)             int *
88
On entry, IWORK is a workarray of dimension NPROW+1.
89
.SH SEE ALSO
90
.BR HPL_pdlaswp01N \ (3),
91
.BR HPL_pdlaswp01T \ (3).