root / man / man3 / HPL_logsort.3
Historique | Voir | Annoter | Télécharger (2,32 ko)
1 |
.TH HPL_logsort 3 "September 10, 2008" "HPL 2.0" "HPL Library Functions" |
---|---|
2 |
.SH NAME |
3 |
HPL_logsort \- Sort the processes in logarithmic order. |
4 |
.SH SYNOPSIS |
5 |
\fB\&#include "hpl.h"\fR |
6 |
|
7 |
\fB\&void\fR |
8 |
\fB\&HPL_logsort(\fR |
9 |
\fB\&const int\fR |
10 |
\fI\&NPROCS\fR, |
11 |
\fB\&const int\fR |
12 |
\fI\&ICURROC\fR, |
13 |
\fB\&int *\fR |
14 |
\fI\&IPLEN\fR, |
15 |
\fB\&int *\fR |
16 |
\fI\&IPMAP\fR, |
17 |
\fB\&int *\fR |
18 |
\fI\&IPMAPM1\fR |
19 |
\fB\&);\fR |
20 |
.SH DESCRIPTION |
21 |
\fB\&HPL_logsort\fR |
22 |
computes an array IPMAP and its inverse IPMAPM1 that |
23 |
contain the logarithmic sorted processes id with repect to the local |
24 |
number of rows of U that they own. This is necessary to ensure that |
25 |
the logarithmic spreading of U is optimal in terms of number of steps |
26 |
and communication volume as well. In other words, the larget pieces |
27 |
of U will be sent a minimal number of times. |
28 |
.SH ARGUMENTS |
29 |
.TP 8 |
30 |
NPROCS (global input) const int |
31 |
On entry, NPROCS specifies the number of process rows in the |
32 |
process grid. NPROCS is at least one. |
33 |
.TP 8 |
34 |
ICURROC (global input) const int |
35 |
On entry, ICURROC is the source process row. |
36 |
.TP 8 |
37 |
IPLEN (global input/output) int * |
38 |
On entry, IPLEN is an array of dimension NPROCS+1, such that |
39 |
IPLEN[0] is 0, and IPLEN[i] contains the number of rows of U, |
40 |
that process i-1 has. On exit, IPLEN[i] is the number of |
41 |
rows of U in the processes before process IPMAP[i] after the |
42 |
sort, with the convention that IPLEN[NPROCS] is the total |
43 |
number of rows of the panel. In other words, IPLEN[i+1] - |
44 |
IPLEN[i] is the number of rows of A that should be moved to |
45 |
the process IPMAP[i]. IPLEN is such that the number of rows |
46 |
of the source process row is IPLEN[1] - IPLEN[0], and the |
47 |
remaining entries of this array are sorted so that the |
48 |
quantities IPLEN[i+1]-IPLEN[i] are logarithmically sorted. |
49 |
.TP 8 |
50 |
IPMAP (global output) int * |
51 |
On entry, IPMAP is an array of dimension NPROCS. On exit, |
52 |
array contains the logarithmic mapping of the processes. In |
53 |
other words, IPMAP[myroc] is the corresponding sorted process |
54 |
coordinate. |
55 |
.TP 8 |
56 |
IPMAPM1 (global output) int * |
57 |
On entry, IPMAPM1 is an array of dimension NPROCS. On exit, |
58 |
this array contains the inverse of the logarithmic mapping |
59 |
contained in IPMAP: IPMAPM1[ IPMAP[i] ] = i, for all i in |
60 |
[0.. NPROCS) |
61 |
.SH SEE ALSO |
62 |
.BR HPL_plindx1 \ (3), |
63 |
.BR HPL_plindx10 \ (3), |
64 |
.BR HPL_pdlaswp01N \ (3), |
65 |
.BR HPL_pdlaswp01T \ (3). |