root / www / HPL_pdlaswp01T.html
Historique | Voir | Annoter | Télécharger (2,92 ko)
1 |
<HTML>
|
---|---|
2 |
<HEAD>
|
3 |
<TITLE>HPL_pdlaswp01T 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_pdlaswp01T</B> Broadcast a column panel L and swap the row panel U. |
11 |
|
12 |
<H1>Synopsis</H1> |
13 |
<CODE>#include "hpl.h"</CODE><BR><BR> |
14 |
<CODE>void</CODE> |
15 |
<CODE>HPL_pdlaswp01T(</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 int</CODE> |
23 |
<CODE>NN</CODE> |
24 |
<CODE>);</CODE> |
25 |
|
26 |
<H1>Description</H1> |
27 |
<B>HPL_pdlaswp01T</B> |
28 |
applies the NB row interchanges to NN columns of the |
29 |
trailing submatrix and broadcast a column panel. |
30 |
|
31 |
A "Spread then roll" algorithm performs the swap :: broadcast of the |
32 |
row panel U at once, resulting in a minimal communication volume and |
33 |
a "very good" use of the connectivity if available. With P process |
34 |
rows and assuming bi-directional links, the running time of this |
35 |
function can be approximated by: |
36 |
|
37 |
(log_2(P)+(P-1)) * lat + K * NB * LocQ(N) / bdwth |
38 |
|
39 |
where NB is the number of rows of the row panel U, N is the global |
40 |
number of columns being updated, lat and bdwth are the latency and |
41 |
bandwidth of the network for double precision real words. K is |
42 |
a constant in (2,3] that depends on the achieved bandwidth during a |
43 |
simultaneous message exchange between two processes. An empirical |
44 |
optimistic value of K is typically 2.4. |
45 |
|
46 |
<H1>Arguments</H1> |
47 |
<PRE>
|
48 |
PBCST (local input/output) HPL_T_panel * |
49 |
On entry, PBCST points to the data structure containing the |
50 |
panel (to be broadcast) information. |
51 |
</PRE>
|
52 |
<PRE>
|
53 |
IFLAG (local input/output) int * |
54 |
On entry, IFLAG indicates whether or not the broadcast has |
55 |
already been completed. If not, probing will occur, and the |
56 |
outcome will be contained in IFLAG on exit. |
57 |
</PRE>
|
58 |
<PRE>
|
59 |
PANEL (local input/output) HPL_T_panel * |
60 |
On entry, PANEL points to the data structure containing the |
61 |
panel information. |
62 |
</PRE>
|
63 |
<PRE>
|
64 |
NN (local input) const int |
65 |
On entry, NN specifies the local number of columns of the |
66 |
trailing submatrix to be swapped and broadcast starting at |
67 |
the current position. NN must be at least zero. |
68 |
</PRE>
|
69 |
|
70 |
<H1>See Also</H1> |
71 |
<A HREF="HPL_pdgesv.html">HPL_pdgesv</A>, |
72 |
<A HREF="HPL_pdgesvK2.html">HPL_pdgesvK2</A>, |
73 |
<A HREF="HPL_pdupdateNT.html">HPL_pdupdateNT</A>, |
74 |
<A HREF="HPL_pdupdateTT.html">HPL_pdupdateTT</A>, |
75 |
<A HREF="HPL_pipid.html">HPL_pipid</A>, |
76 |
<A HREF="HPL_plindx1.html">HPL_plindx1</A>, |
77 |
<A HREF="HPL_plindx10.html">HPL_plindx10</A>, |
78 |
<A HREF="HPL_spreadT.html">HPL_spreadT</A>, |
79 |
<A HREF="HPL_equil.html">HPL_equil</A>, |
80 |
<A HREF="HPL_rollT.html">HPL_rollT</A>, |
81 |
<A HREF="HPL_dlaswp10N.html">HPL_dlaswp10N</A>, |
82 |
<A HREF="HPL_dlaswp01T.html">HPL_dlaswp01T</A>, |
83 |
<A HREF="HPL_dlaswp06T.html">HPL_dlaswp06T</A>. |
84 |
|
85 |
</BODY>
|
86 |
</HTML>
|