1HPL_plindx10(3) HPL Library Functions HPL_plindx10(3)
2
3
4
6 HPL_plindx10 - Compute the logarithmic maps for the spreading.
7
9 #include "hpl.h"
10
11 void HPL_plindx10( HPL_T_panel * PANEL, const int K, const int * IPID,
12 int * IPLEN, int * IPMAP, int * IPMAPM1 );
13
15 HPL_plindx10 computes three arrays IPLEN, IPMAP and IPMAPM1 that
16 contain the logarithmic mapping information for the spreading phase.
17
19 PANEL (local input/output) HPL_T_panel *
20 On entry, PANEL points to the data structure containing the
21 panel information.
22
23 K (global input) const int
24 On entry, K specifies the number of entries in IPID. K is at
25 least 2*N, and at most 4*N.
26
27 IPID (global input) const int *
28 On entry, IPID is an array of length K. The first K entries
29 of that array contain the src and final destination resulting
30 from the application of the interchanges.
31
32 IPLEN (global output) int *
33 On entry, IPLEN is an array of dimension NPROW + 1. On exit,
34 this array is such that IPLEN[i] is the number of rows of A
35 in the processes before process IMAP[i] after the sort, with
36 the convention that IPLEN[nprow] is the total number of rows.
37 In other words, IPLEN[i+1] - IPLEN[i] is the local number of
38 rows of A that should be moved for each process. IPLEN is
39 such that the number of rows of the source process row can be
40 computed as IPLEN[1] - IPLEN[0], and the remaining entries of
41 this array are sorted so that the quantities IPLEN[i+1] -
42 IPLEN[i] are logarithmically sorted.
43
44 IPMAP (global output) int *
45 On entry, IPMAP is an array of dimension NPROW. On exit, this
46 array contains the logarithmic mapping of the processes. In
47 other words, IPMAP[myrow] is the corresponding sorted process
48 coordinate.
49
50 IPMAPM1 (global output) int *
51 On entry, IPMAPM1 is an array of dimension NPROW. On exit,
52 this array contains the inverse of the logarithmic mapping
53 contained in IPMAP: IPMAPM1[ IPMAP[i] ] = i, for all i in
54 [0.. NPROW)
55
57 HPL_pdlaswp00N (3), HPL_pdlaswp00T (3), HPL_pdlaswp01N (3),
58 HPL_pdlaswp01T (3).
59
60
61
62HPL 2.1 October 26, 2012 HPL_plindx10(3)