root / man / man3 / HPL_pdmxswp.3 @ 1
Historique | Voir | Annoter | Télécharger (2,47 ko)
1 |
.TH HPL_pdmxswp 3 "September 10, 2008" "HPL 2.0" "HPL Library Functions" |
---|---|
2 |
.SH NAME |
3 |
HPL_pdmxswp \- swaps and broacast the pivot row. |
4 |
.SH SYNOPSIS |
5 |
\fB\&#include "hpl.h"\fR |
6 |
|
7 |
\fB\&void\fR |
8 |
\fB\&HPL_pdmxswp(\fR |
9 |
\fB\&HPL_T_panel *\fR |
10 |
\fI\&PANEL\fR, |
11 |
\fB\&const int\fR |
12 |
\fI\&M\fR, |
13 |
\fB\&const int\fR |
14 |
\fI\&II\fR, |
15 |
\fB\&const int\fR |
16 |
\fI\&JJ\fR, |
17 |
\fB\&double *\fR |
18 |
\fI\&WORK\fR |
19 |
\fB\&);\fR |
20 |
.SH DESCRIPTION |
21 |
\fB\&HPL_pdmxswp\fR |
22 |
swaps and broadcasts the absolute value max row using |
23 |
bi-directional exchange. The buffer is partially set by HPL_dlocmax. |
24 |
|
25 |
Bi-directional exchange is used to perform the swap::broadcast |
26 |
operations at once for one column in the panel. This results in a |
27 |
lower number of slightly larger messages than usual. On P processes |
28 |
and assuming bi-directional links, the running time of this function |
29 |
can be approximated by |
30 |
|
31 |
log_2( P ) * ( lat + ( 2 * N0 + 4 ) / bdwth ) |
32 |
|
33 |
where lat and bdwth are the latency and bandwidth of the network for |
34 |
double precision real elements. Communication only occurs in one |
35 |
process column. Mono-directional links will cause the communication |
36 |
cost to double. |
37 |
.SH ARGUMENTS |
38 |
.TP 8 |
39 |
PANEL (local input/output) HPL_T_panel * |
40 |
On entry, PANEL points to the data structure containing the |
41 |
panel information. |
42 |
.TP 8 |
43 |
M (local input) const int |
44 |
On entry, M specifies the local number of rows of the matrix |
45 |
column on which this function operates. |
46 |
.TP 8 |
47 |
II (local input) const int |
48 |
On entry, II specifies the row offset where the column to be |
49 |
operated on starts with respect to the panel. |
50 |
.TP 8 |
51 |
JJ (local input) const int |
52 |
On entry, JJ specifies the column offset where the column to |
53 |
be operated on starts with respect to the panel. |
54 |
.TP 8 |
55 |
WORK (local workspace) double * |
56 |
On entry, WORK is a workarray of size at least 2 * (4+2*N0). |
57 |
It is assumed that HPL_dlocmax was called prior to this |
58 |
routine to initialize the first four entries of this array. |
59 |
On exit, the N0 length max row is stored in WORK[4:4+N0-1]; |
60 |
Note that this is also the JJth row (or column) of L1. The |
61 |
remaining part is used as a temporary array. |
62 |
.SH SEE ALSO |
63 |
.BR HPL_dlocmax \ (3), |
64 |
.BR HPL_dlocswpN \ (3), |
65 |
.BR HPL_dlocswpT \ (3), |
66 |
.BR HPL_pdpancrN \ (3), |
67 |
.BR HPL_pdpancrT \ (3), |
68 |
.BR HPL_pdpanllN \ (3), |
69 |
.BR HPL_pdpanllT \ (3), |
70 |
.BR HPL_pdpanrlN \ (3), |
71 |
.BR HPL_pdpanrlT \ (3), |
72 |
.BR HPL_pdrpancrN \ (3), |
73 |
.BR HPL_pdrpancrT \ (3), |
74 |
.BR HPL_pdrpanllN \ (3), |
75 |
.BR HPL_pdrpanllT \ (3), |
76 |
.BR HPL_pdrpanrlN \ (3), |
77 |
.BR HPL_pdrpanrlT \ (3), |
78 |
.BR HPL_pdfact \ (3). |