root / www / HPL_plindx10.html @ 1
Historique | Voir | Annoter | Télécharger (2,89 ko)
1 |
<HTML>
|
---|---|
2 |
<HEAD>
|
3 |
<TITLE>HPL_plindx10 HPL 2.0 Library Functions September 10, 2008</TITLE> |
4 |
</HEAD>
|
5 |
|
6 |
<BODY BGCOLOR="WHITE" TEXT = "#000000" LINK = "#0000ff" VLINK = "#000099" |
7 |
ALINK = "#ffff00"> |
8 |
|
9 |
<H1>Name</H1> |
10 |
<B>HPL_plindx10</B> Compute the logarithmic maps for the spreading. |
11 |
|
12 |
<H1>Synopsis</H1> |
13 |
<CODE>#include "hpl.h"</CODE><BR><BR> |
14 |
<CODE>void</CODE> |
15 |
<CODE>HPL_plindx10(</CODE> |
16 |
<CODE>HPL_T_panel *</CODE> |
17 |
<CODE>PANEL</CODE>, |
18 |
<CODE>const int</CODE> |
19 |
<CODE>K</CODE>, |
20 |
<CODE>const int *</CODE> |
21 |
<CODE>IPID</CODE>, |
22 |
<CODE>int *</CODE> |
23 |
<CODE>IPLEN</CODE>, |
24 |
<CODE>int *</CODE> |
25 |
<CODE>IPMAP</CODE>, |
26 |
<CODE>int *</CODE> |
27 |
<CODE>IPMAPM1</CODE> |
28 |
<CODE>);</CODE> |
29 |
|
30 |
<H1>Description</H1> |
31 |
<B>HPL_plindx10</B> |
32 |
computes three arrays IPLEN, IPMAP and IPMAPM1 that |
33 |
contain the logarithmic mapping information for the spreading phase. |
34 |
|
35 |
<H1>Arguments</H1> |
36 |
<PRE>
|
37 |
PANEL (local input/output) HPL_T_panel * |
38 |
On entry, PANEL points to the data structure containing the |
39 |
panel information. |
40 |
</PRE>
|
41 |
<PRE>
|
42 |
K (global input) const int |
43 |
On entry, K specifies the number of entries in IPID. K is at |
44 |
least 2*N, and at most 4*N. |
45 |
</PRE>
|
46 |
<PRE>
|
47 |
IPID (global input) const int * |
48 |
On entry, IPID is an array of length K. The first K entries |
49 |
of that array contain the src and final destination resulting |
50 |
from the application of the interchanges. |
51 |
</PRE>
|
52 |
<PRE>
|
53 |
IPLEN (global output) int * |
54 |
On entry, IPLEN is an array of dimension NPROW + 1. On exit, |
55 |
this array is such that IPLEN[i] is the number of rows of A |
56 |
in the processes before process IMAP[i] after the sort, with |
57 |
the convention that IPLEN[nprow] is the total number of rows. |
58 |
In other words, IPLEN[i+1] - IPLEN[i] is the local number of |
59 |
rows of A that should be moved for each process. IPLEN is |
60 |
such that the number of rows of the source process row can be |
61 |
computed as IPLEN[1] - IPLEN[0], and the remaining entries of |
62 |
this array are sorted so that the quantities IPLEN[i+1] - |
63 |
IPLEN[i] are logarithmically sorted. |
64 |
</PRE>
|
65 |
<PRE>
|
66 |
IPMAP (global output) int * |
67 |
On entry, IPMAP is an array of dimension NPROW. On exit, this |
68 |
array contains the logarithmic mapping of the processes. In |
69 |
other words, IPMAP[myrow] is the corresponding sorted process |
70 |
coordinate. |
71 |
</PRE>
|
72 |
<PRE>
|
73 |
IPMAPM1 (global output) int * |
74 |
On entry, IPMAPM1 is an array of dimension NPROW. On exit, |
75 |
this array contains the inverse of the logarithmic mapping |
76 |
contained in IPMAP: IPMAPM1[ IPMAP[i] ] = i, for all i in |
77 |
[0.. NPROW) |
78 |
</PRE>
|
79 |
|
80 |
<H1>See Also</H1> |
81 |
<A HREF="HPL_pdlaswp00N.html">HPL_pdlaswp00N</A>, |
82 |
<A HREF="HPL_pdlaswp00T.html">HPL_pdlaswp00T</A>, |
83 |
<A HREF="HPL_pdlaswp01N.html">HPL_pdlaswp01N</A>, |
84 |
<A HREF="HPL_pdlaswp01T.html">HPL_pdlaswp01T</A>. |
85 |
|
86 |
</BODY>
|
87 |
</HTML>
|