root / man / man3 / HPL_equil.3 @ 1
Historique | Voir | Annoter | Télécharger (2,82 ko)
1 | 1 | equemene | .TH HPL_equil 3 "September 10, 2008" "HPL 2.0" "HPL Library Functions" |
---|---|---|---|
2 | 1 | equemene | .SH NAME |
3 | 1 | equemene | HPL_equil \- Equilibrate U and forward the column panel L. |
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_equil(\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 enum HPL_TRANS\fR |
16 | 1 | equemene | \fI\&TRANS\fR, |
17 | 1 | equemene | \fB\&const int\fR |
18 | 1 | equemene | \fI\&N\fR, |
19 | 1 | equemene | \fB\&double *\fR |
20 | 1 | equemene | \fI\&U\fR, |
21 | 1 | equemene | \fB\&const int\fR |
22 | 1 | equemene | \fI\&LDU\fR, |
23 | 1 | equemene | \fB\&int *\fR |
24 | 1 | equemene | \fI\&IPLEN\fR, |
25 | 1 | equemene | \fB\&const int *\fR |
26 | 1 | equemene | \fI\&IPMAP\fR, |
27 | 1 | equemene | \fB\&const int *\fR |
28 | 1 | equemene | \fI\&IPMAPM1\fR, |
29 | 1 | equemene | \fB\&int *\fR |
30 | 1 | equemene | \fI\&IWORK\fR |
31 | 1 | equemene | \fB\&);\fR |
32 | 1 | equemene | .SH DESCRIPTION |
33 | 1 | equemene | \fB\&HPL_equil\fR |
34 | 1 | equemene | equilibrates the local pieces of U, so that on exit to |
35 | 1 | equemene | this function, pieces of U contained in every process row are of the |
36 | 1 | equemene | same size. This phase makes the rolling phase optimal. In addition, |
37 | 1 | equemene | this function probes for the column panel L and forwards it when |
38 | 1 | equemene | possible. |
39 | 1 | equemene | .SH ARGUMENTS |
40 | 1 | equemene | .TP 8 |
41 | 1 | equemene | PBCST (local input/output) HPL_T_panel * |
42 | 1 | equemene | On entry, PBCST points to the data structure containing the |
43 | 1 | equemene | panel (to be broadcast) information. |
44 | 1 | equemene | .TP 8 |
45 | 1 | equemene | IFLAG (local input/output) int * |
46 | 1 | equemene | On entry, IFLAG indicates whether or not the broadcast has |
47 | 1 | equemene | already been completed. If not, probing will occur, and the |
48 | 1 | equemene | outcome will be contained in IFLAG on exit. |
49 | 1 | equemene | .TP 8 |
50 | 1 | equemene | PANEL (local input/output) HPL_T_panel * |
51 | 1 | equemene | On entry, PANEL points to the data structure containing the |
52 | 1 | equemene | panel (to be equilibrated) information. |
53 | 1 | equemene | .TP 8 |
54 | 1 | equemene | TRANS (global input) const enum HPL_TRANS |
55 | 1 | equemene | On entry, TRANS specifies whether U is stored in transposed |
56 | 1 | equemene | or non-transposed form. |
57 | 1 | equemene | .TP 8 |
58 | 1 | equemene | N (local input) const int |
59 | 1 | equemene | On entry, N specifies the number of rows or columns of U. N |
60 | 1 | equemene | must be at least 0. |
61 | 1 | equemene | .TP 8 |
62 | 1 | equemene | U (local input/output) double * |
63 | 1 | equemene | On entry, U is an array of dimension (LDU,*) containing the |
64 | 1 | equemene | local pieces of U in each process row. |
65 | 1 | equemene | .TP 8 |
66 | 1 | equemene | LDU (local input) const int |
67 | 1 | equemene | On entry, LDU specifies the local leading dimension of U. LDU |
68 | 1 | equemene | should be at least MAX(1,IPLEN[nprow]) when U is stored in |
69 | 1 | equemene | non-transposed form, and MAX(1,N) otherwise. |
70 | 1 | equemene | .TP 8 |
71 | 1 | equemene | IPLEN (global input) int * |
72 | 1 | equemene | On entry, IPLEN is an array of dimension NPROW+1. This array |
73 | 1 | equemene | is such that IPLEN[i+1] - IPLEN[i] is the number of rows of U |
74 | 1 | equemene | in process IPMAP[i]. |
75 | 1 | equemene | .TP 8 |
76 | 1 | equemene | IPMAP (global input) const int * |
77 | 1 | equemene | On entry, IPMAP is an array of dimension NPROW. This array |
78 | 1 | equemene | contains the logarithmic mapping of the processes. In other |
79 | 1 | equemene | words, IPMAP[myrow] is the absolute coordinate of the sorted |
80 | 1 | equemene | process. |
81 | 1 | equemene | .TP 8 |
82 | 1 | equemene | IPMAPM1 (global input) const int * |
83 | 1 | equemene | On entry, IPMAPM1 is an array of dimension NPROW. This array |
84 | 1 | equemene | contains the inverse of the logarithmic mapping contained in |
85 | 1 | equemene | IPMAP: For i in [0.. NPROCS) IPMAPM1[IPMAP[i]] = i. |
86 | 1 | equemene | .TP 8 |
87 | 1 | equemene | IWORK (workspace) int * |
88 | 1 | equemene | On entry, IWORK is a workarray of dimension NPROW+1. |
89 | 1 | equemene | .SH SEE ALSO |
90 | 1 | equemene | .BR HPL_pdlaswp01N \ (3), |
91 | 1 | equemene | .BR HPL_pdlaswp01T \ (3). |