Statistiques
| Révision :

root / www / HPL_spreadT.html

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

1
<HTML>
2
<HEAD>
3
<TITLE>HPL_spreadT HPL 2.0 Library Functions September 10, 2008</TITLE> 
4
</HEAD>
5

    
6
<BODY BGCOLOR="WHITE" TEXT = "#000000" LINK = "#0000ff" VLINK = "#000099"
7
      ALINK = "#ffff00">
8

    
9
<H1>Name</H1>
10
<B>HPL_spreadT</B> Spread row panel U and forward current column panel.
11

    
12
<H1>Synopsis</H1>
13
<CODE>#include "hpl.h"</CODE><BR><BR>
14
<CODE>void</CODE>
15
<CODE>HPL_spreadT(</CODE>
16
<CODE>HPL_T_panel *</CODE>
17
<CODE>PBCST</CODE>,
18
<CODE>int *</CODE>
19
<CODE>IFLAG</CODE>,
20
<CODE>HPL_T_panel *</CODE>
21
<CODE>PANEL</CODE>,
22
<CODE>const enum HPL_SIDE</CODE>
23
<CODE>SIDE</CODE>,
24
<CODE>const int</CODE>
25
<CODE>N</CODE>,
26
<CODE>double *</CODE>
27
<CODE>U</CODE>,
28
<CODE>const int</CODE>
29
<CODE>LDU</CODE>,
30
<CODE>const int</CODE>
31
<CODE>SRCDIST</CODE>,
32
<CODE>const int *</CODE>
33
<CODE>IPLEN</CODE>,
34
<CODE>const int *</CODE>
35
<CODE>IPMAP</CODE>,
36
<CODE>const int *</CODE>
37
<CODE>IPMAPM1</CODE>
38
<CODE>);</CODE>
39

    
40
<H1>Description</H1>
41
<B>HPL_spreadT</B>
42
spreads  the local array containing local pieces of U, so
43
that on exit to this function,  a piece of  U  is contained in every
44
process row.  The array  IPLEN  contains the number of columns of U,
45
that should be spread on any given process row.  This function  also
46
probes for the presence of  the column panel  PBCST.  If  available,
47
this  panel will be forwarded.  If  PBCST  is  NULL  on input,  this
48
probing mechanism will be disabled.
49

    
50
<H1>Arguments</H1>
51
<PRE>
52
PBCST   (local input/output)          HPL_T_panel *
53
        On entry,  PBCST  points to the data structure containing the
54
        panel (to be broadcast) information.
55
</PRE>
56
<PRE>
57
IFLAG   (local input/output)          int *
58
        On entry, IFLAG  indicates  whether or not  the broadcast has
59
        already been completed.  If not,  probing will occur, and the
60
        outcome will be contained in IFLAG on exit.
61
</PRE>
62
<PRE>
63
PANEL   (local input/output)          HPL_T_panel *
64
        On entry,  PANEL  points to the data structure containing the
65
        panel (to be spread) information.
66
</PRE>
67
<PRE>
68
SIDE    (global input)                const enum HPL_SIDE
69
        On entry, SIDE specifies whether the local piece of U located
70
        in process IPMAP[SRCDIST] should be spread to the right or to
71
        the left. This feature is used by the equilibration process.
72
</PRE>
73
<PRE>
74
N       (global input)                const int
75
        On entry,  N  specifies the local number of rows of U. N must
76
        be at least zero.
77
</PRE>
78
<PRE>
79
U       (local input/output)          double *
80
        On entry,  U  is an array of dimension (LDU,*) containing the
81
        local pieces of U.
82
</PRE>
83
<PRE>
84
LDU     (local input)                 const int
85
        On entry, LDU specifies the local leading dimension of U. LDU
86
        should be at least MAX(1,N).
87
</PRE>
88
<PRE>
89
SRCDIST (local input)                 const int
90
        On entry,  SRCDIST  specifies the source process that spreads
91
        its piece of U.
92
</PRE>
93
<PRE>
94
IPLEN   (global input)                const int *
95
        On entry, IPLEN is an array of dimension NPROW+1.  This array
96
        is such that IPLEN[i+1] - IPLEN[i] is the number of rows of U
97
        in each process before process IPMAP[i], with the  convention
98
        that IPLEN[nprow] is the total number of rows. In other words
99
        IPLEN[i+1] - IPLEN[i]  is  the local number of rows of U that
100
        should be moved to process IPMAP[i].
101
</PRE>
102
<PRE>
103
IPMAP   (global input)                const int *
104
        On entry, IPMAP is an array of dimension  NPROW.  This  array
105
        contains  the  logarithmic mapping of the processes. In other
106
        words, IPMAP[myrow]  is the absolute coordinate of the sorted
107
        process.
108
</PRE>
109
<PRE>
110
IPMAPM1 (global input)                const int *
111
        On entry,  IPMAPM1 is an array of dimension NPROW. This array
112
        contains  the inverse of the logarithmic mapping contained in
113
        IPMAP: For i in [0.. NPROW) IPMAPM1[IPMAP[i]] = i.
114
</PRE>
115

    
116
<H1>See Also</H1>
117
<A HREF="HPL_pdlaswp01T.html">HPL_pdlaswp01T</A>.
118

    
119
</BODY>
120
</HTML>