Statistiques
| Révision :

root / www / HPL_pdmxswp.html

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

1 1 equemene
<HTML>
2 1 equemene
<HEAD>
3 1 equemene
<TITLE>HPL_pdmxswp HPL 2.0 Library Functions September 10, 2008</TITLE>
4 1 equemene
</HEAD>
5 1 equemene
6 1 equemene
<BODY BGCOLOR="WHITE" TEXT = "#000000" LINK = "#0000ff" VLINK = "#000099"
7 1 equemene
      ALINK = "#ffff00">
8 1 equemene
9 1 equemene
<H1>Name</H1>
10 1 equemene
<B>HPL_pdmxswp</B> swaps and broacast the pivot row.
11 1 equemene
12 1 equemene
<H1>Synopsis</H1>
13 1 equemene
<CODE>#include "hpl.h"</CODE><BR><BR>
14 1 equemene
<CODE>void</CODE>
15 1 equemene
<CODE>HPL_pdmxswp(</CODE>
16 1 equemene
<CODE>HPL_T_panel *</CODE>
17 1 equemene
<CODE>PANEL</CODE>,
18 1 equemene
<CODE>const int</CODE>
19 1 equemene
<CODE>M</CODE>,
20 1 equemene
<CODE>const int</CODE>
21 1 equemene
<CODE>II</CODE>,
22 1 equemene
<CODE>const int</CODE>
23 1 equemene
<CODE>JJ</CODE>,
24 1 equemene
<CODE>double *</CODE>
25 1 equemene
<CODE>WORK</CODE>
26 1 equemene
<CODE>);</CODE>
27 1 equemene
28 1 equemene
<H1>Description</H1>
29 1 equemene
<B>HPL_pdmxswp</B>
30 1 equemene
swaps  and  broadcasts  the  absolute value max row using
31 1 equemene
bi-directional exchange.  The buffer is partially set by HPL_dlocmax.
32 1 equemene
33 1 equemene
Bi-directional  exchange  is  used  to  perform  the  swap::broadcast
34 1 equemene
operations  at once  for one column in the panel.  This  results in a
35 1 equemene
lower number of slightly larger  messages than usual.  On P processes
36 1 equemene
and assuming bi-directional links,  the running time of this function
37 1 equemene
can be approximated by
38 1 equemene
39 1 equemene
   log_2( P ) * ( lat + ( 2 * N0 + 4 ) / bdwth )
40 1 equemene
41 1 equemene
where  lat and bdwth are the latency and bandwidth of the network for
42 1 equemene
double precision real elements.  Communication  only  occurs  in  one
43 1 equemene
process  column. Mono-directional links  will cause the communication
44 1 equemene
cost to double.
45 1 equemene
46 1 equemene
<H1>Arguments</H1>
47 1 equemene
<PRE>
48 1 equemene
PANEL   (local input/output)          HPL_T_panel *
49 1 equemene
        On entry,  PANEL  points to the data structure containing the
50 1 equemene
        panel information.
51 1 equemene
</PRE>
52 1 equemene
<PRE>
53 1 equemene
M       (local input)                 const int
54 1 equemene
        On entry,  M specifies the local number of rows of the matrix
55 1 equemene
        column on which this function operates.
56 1 equemene
</PRE>
57 1 equemene
<PRE>
58 1 equemene
II      (local input)                 const int
59 1 equemene
        On entry, II  specifies the row offset where the column to be
60 1 equemene
        operated on starts with respect to the panel.
61 1 equemene
</PRE>
62 1 equemene
<PRE>
63 1 equemene
JJ      (local input)                 const int
64 1 equemene
        On entry, JJ  specifies the column offset where the column to
65 1 equemene
        be operated on starts with respect to the panel.
66 1 equemene
</PRE>
67 1 equemene
<PRE>
68 1 equemene
WORK    (local workspace)             double *
69 1 equemene
        On entry, WORK  is a workarray of size at least 2 * (4+2*N0).
70 1 equemene
        It  is assumed that  HPL_dlocmax  was called  prior  to  this
71 1 equemene
        routine to  initialize  the first four entries of this array.
72 1 equemene
        On exit, the  N0  length max row is stored in WORK[4:4+N0-1];
73 1 equemene
        Note that this is also the  JJth  row  (or column) of L1. The
74 1 equemene
        remaining part is used as a temporary array.
75 1 equemene
</PRE>
76 1 equemene
77 1 equemene
<H1>See Also</H1>
78 1 equemene
<A HREF="HPL_dlocmax.html">HPL_dlocmax</A>,
79 1 equemene
<A HREF="HPL_dlocswpN.html">HPL_dlocswpN</A>,
80 1 equemene
<A HREF="HPL_dlocswpT.html">HPL_dlocswpT</A>,
81 1 equemene
<A HREF="HPL_pdpancrN.html">HPL_pdpancrN</A>,
82 1 equemene
<A HREF="HPL_pdpancrT.html">HPL_pdpancrT</A>,
83 1 equemene
<A HREF="HPL_pdpanllN.html">HPL_pdpanllN</A>,
84 1 equemene
<A HREF="HPL_pdpanllT.html">HPL_pdpanllT</A>,
85 1 equemene
<A HREF="HPL_pdpanrlN.html">HPL_pdpanrlN</A>,
86 1 equemene
<A HREF="HPL_pdpanrlT.html">HPL_pdpanrlT</A>,
87 1 equemene
<A HREF="HPL_pdrpancrN.html">HPL_pdrpancrN</A>,
88 1 equemene
<A HREF="HPL_pdrpancrT.html">HPL_pdrpancrT</A>,
89 1 equemene
<A HREF="HPL_pdrpanllN.html">HPL_pdrpanllN</A>,
90 1 equemene
<A HREF="HPL_pdrpanllT.html">HPL_pdrpanllT</A>,
91 1 equemene
<A HREF="HPL_pdrpanrlN.html">HPL_pdrpanrlN</A>,
92 1 equemene
<A HREF="HPL_pdrpanrlT.html">HPL_pdrpanrlT</A>,
93 1 equemene
<A HREF="HPL_pdfact.html">HPL_pdfact</A>.
94 1 equemene
95 1 equemene
</BODY>
96 1 equemene
</HTML>