Statistiques
| Révision :

root / man / man3 / HPL_spreadN.3

Historique | Voir | Annoter | Télécharger (3,21 ko)

1
.TH HPL_spreadN 3 "September 10, 2008" "HPL 2.0" "HPL Library Functions"
2
.SH NAME
3
HPL_spreadN \- Spread row panel U and forward current column panel.
4
.SH SYNOPSIS
5
\fB\&#include "hpl.h"\fR
6
 
7
\fB\&void\fR
8
\fB\&HPL_spreadN(\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_SIDE\fR
16
\fI\&SIDE\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\&const int\fR
24
\fI\&SRCDIST\fR,
25
\fB\&const int *\fR
26
\fI\&IPLEN\fR,
27
\fB\&const int *\fR
28
\fI\&IPMAP\fR,
29
\fB\&const int *\fR
30
\fI\&IPMAPM1\fR
31
\fB\&);\fR
32
.SH DESCRIPTION
33
\fB\&HPL_spreadN\fR
34
spreads the local array containing local pieces of U, so
35
that on exit to this function,  a piece of  U  is contained in every
36
process row. The array IPLEN contains the number of rows of U,  that
37
should be spread on any given process row. This function also probes
38
for the presence of the column panel PBCST. In case of success, this
39
panel will be forwarded.  If  PBCST  is NULL on input,  this probing
40
mechanism will be disabled.
41
.SH ARGUMENTS
42
.TP 8
43
PBCST   (local input/output)    HPL_T_panel *
44
On entry,  PBCST  points to the data structure containing the
45
panel (to be broadcast) information.
46
.TP 8
47
IFLAG   (local input/output)    int *
48
On entry, IFLAG  indicates  whether or not  the broadcast has
49
already been completed.  If not,  probing will occur, and the
50
outcome will be contained in IFLAG on exit.
51
.TP 8
52
PANEL   (local input/output)    HPL_T_panel *
53
On entry,  PANEL  points to the data structure containing the
54
panel (to be spread) information.
55
.TP 8
56
SIDE    (global input)          const enum HPL_SIDE
57
On entry, SIDE specifies whether the local piece of U located
58
in process IPMAP[SRCDIST] should be spread to the right or to
59
the left. This feature is used by the equilibration process.
60
.TP 8
61
N       (global input)          const int
62
On entry,  N  specifies  the  local number of columns of U. N
63
must be at least zero.
64
.TP 8
65
U       (local input/output)    double *
66
On entry,  U  is an array of dimension (LDU,*) containing the
67
local pieces of U.
68
.TP 8
69
LDU     (local input)           const int
70
On entry, LDU specifies the local leading dimension of U. LDU
71
should be at least MAX(1,IPLEN[nprow]).
72
.TP 8
73
SRCDIST (local input)           const int
74
On entry,  SRCDIST  specifies the source process that spreads
75
its piece of U.
76
.TP 8
77
IPLEN   (global input)          const int *
78
On entry, IPLEN is an array of dimension NPROW+1.  This array
79
is such that IPLEN[i+1] - IPLEN[i] is the number of rows of U
80
in each process before process IPMAP[i], with the  convention
81
that IPLEN[nprow] is the total number of rows. In other words
82
IPLEN[i+1] - IPLEN[i]  is  the local number of rows of U that
83
should be moved to process IPMAP[i].
84
.TP 8
85
IPMAP   (global input)          const int *
86
On entry, IPMAP is an array of dimension  NPROW.  This  array
87
contains  the  logarithmic mapping of the processes. In other
88
words, IPMAP[myrow]  is the absolute coordinate of the sorted
89
process.
90
.TP 8
91
IPMAPM1 (global input)          const int *
92
On entry,  IPMAPM1 is an array of dimension NPROW. This array
93
contains  the inverse of the logarithmic mapping contained in
94
IPMAP: For i in [0.. NPROW) IPMAPM1[IPMAP[i]] = i.
95
.SH SEE ALSO
96
.BR HPL_pdlaswp01N \ (3).