root / man / man3 / HPL_pdlaswp01N.3
Historique | Voir | Annoter | Télécharger (2,28 ko)
1 | 1 | equemene | .TH HPL_pdlaswp01N 3 "September 10, 2008" "HPL 2.0" "HPL Library Functions" |
---|---|---|---|
2 | 1 | equemene | .SH NAME |
3 | 1 | equemene | HPL_pdlaswp01N \- Broadcast a column panel L and swap the row panel U. |
4 | 1 | equemene | .SH SYNOPSIS |
5 | 1 | equemene | \fB\&#include "hpl.h"\fR |
6 | 1 | equemene | |
7 | 1 | equemene | \fB\&void\fR |
8 | 1 | equemene | \fB\&HPL_pdlaswp01N(\fR |
9 | 1 | equemene | \fB\&HPL_T_panel *\fR |
10 | 1 | equemene | \fI\&PBCST\fR, |
11 | 1 | equemene | \fB\&int *\fR |
12 | 1 | equemene | \fI\&IFLAG\fR, |
13 | 1 | equemene | \fB\&HPL_T_panel *\fR |
14 | 1 | equemene | \fI\&PANEL\fR, |
15 | 1 | equemene | \fB\&const int\fR |
16 | 1 | equemene | \fI\&NN\fR |
17 | 1 | equemene | \fB\&);\fR |
18 | 1 | equemene | .SH DESCRIPTION |
19 | 1 | equemene | \fB\&HPL_pdlaswp01N\fR |
20 | 1 | equemene | applies the NB row interchanges to NN columns of the |
21 | 1 | equemene | trailing submatrix and broadcast a column panel. |
22 | 1 | equemene | |
23 | 1 | equemene | A "Spread then roll" algorithm performs the swap :: broadcast of the |
24 | 1 | equemene | row panel U at once, resulting in a minimal communication volume and |
25 | 1 | equemene | a "very good" use of the connectivity if available. With P process |
26 | 1 | equemene | rows and assuming bi-directional links, the running time of this |
27 | 1 | equemene | function can be approximated by: |
28 | 1 | equemene | |
29 | 1 | equemene | (log_2(P)+(P-1)) * lat + K * NB * LocQ(N) / bdwth |
30 | 1 | equemene | |
31 | 1 | equemene | where NB is the number of rows of the row panel U, N is the global |
32 | 1 | equemene | number of columns being updated, lat and bdwth are the latency and |
33 | 1 | equemene | bandwidth of the network for double precision real words. K is |
34 | 1 | equemene | a constant in (2,3] that depends on the achieved bandwidth during a |
35 | 1 | equemene | simultaneous message exchange between two processes. An empirical |
36 | 1 | equemene | optimistic value of K is typically 2.4. |
37 | 1 | equemene | .SH ARGUMENTS |
38 | 1 | equemene | .TP 8 |
39 | 1 | equemene | PBCST (local input/output) HPL_T_panel * |
40 | 1 | equemene | On entry, PBCST points to the data structure containing the |
41 | 1 | equemene | panel (to be broadcast) information. |
42 | 1 | equemene | .TP 8 |
43 | 1 | equemene | IFLAG (local input/output) int * |
44 | 1 | equemene | On entry, IFLAG indicates whether or not the broadcast has |
45 | 1 | equemene | already been completed. If not, probing will occur, and the |
46 | 1 | equemene | outcome will be contained in IFLAG on exit. |
47 | 1 | equemene | .TP 8 |
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 | .TP 8 |
52 | 1 | equemene | NN (local input) const int |
53 | 1 | equemene | On entry, NN specifies the local number of columns of the |
54 | 1 | equemene | trailing submatrix to be swapped and broadcast starting at |
55 | 1 | equemene | the current position. NN must be at least zero. |
56 | 1 | equemene | .SH SEE ALSO |
57 | 1 | equemene | .BR HPL_pdgesv \ (3), |
58 | 1 | equemene | .BR HPL_pdgesvK2 \ (3), |
59 | 1 | equemene | .BR HPL_pdupdateNN \ (3), |
60 | 1 | equemene | .BR HPL_pdupdateTN \ (3), |
61 | 1 | equemene | .BR HPL_pipid \ (3), |
62 | 1 | equemene | .BR HPL_plindx1 \ (3), |
63 | 1 | equemene | .BR HPL_plindx10 \ (3), |
64 | 1 | equemene | .BR HPL_spreadN \ (3), |
65 | 1 | equemene | .BR HPL_equil \ (3), |
66 | 1 | equemene | .BR HPL_rollN \ (3), |
67 | 1 | equemene | .BR HPL_dlaswp00N \ (3), |
68 | 1 | equemene | .BR HPL_dlaswp01N \ (3), |
69 | 1 | equemene | .BR HPL_dlaswp06N \ (3). |