1HPL_rollT(3) HPL Library Functions HPL_rollT(3)
2
3
4
6 HPL_rollT - Roll U and forward the column panel.
7
9 #include "hpl.h"
10
11 void HPL_rollT( HPL_T_panel * PBCST, int * IFLAG, HPL_T_panel * PANEL,
12 const int N, double * U, const int LDU, const int * IPLEN, const int *
13 IPMAP, const int * IPMAPM1 );
14
16 HPL_rollT rolls the local arrays containing the local pieces of U, so
17 that on exit to this function U is replicated in every process row.
18 In addition, this function probe for the presence of the column panel
19 and forwards it when available.
20
22 PBCST (local input/output) HPL_T_panel *
23 On entry, PBCST points to the data structure containing the
24 panel (to be broadcast) information.
25
26 IFLAG (local input/output) int *
27 On entry, IFLAG indicates whether or not the broadcast has
28 already been completed. If not, probing will occur, and the
29 outcome will be contained in IFLAG on exit.
30
31 PANEL (local input/output) HPL_T_panel *
32 On entry, PANEL points to the data structure containing the
33 panel (to be rolled) information.
34
35 N (local input) const int
36 On entry, N specifies the local number of rows of U. N must
37 be at least zero.
38
39 U (local input/output) double *
40 On entry, U is an array of dimension (LDU,*) containing the
41 local pieces of U in each process row.
42
43 LDU (local input) const int
44 On entry, LDU specifies the local leading dimension of U. LDU
45 should be at least MAX(1,N).
46
47 IPLEN (global input) const int *
48 On entry, IPLEN is an array of dimension NPROW+1. This array
49 is such that IPLEN[i+1] - IPLEN[i] is the number of rows of U
50 in each process row.
51
52 IPMAP (global input) const int *
53 On entry, IMAP is an array of dimension NPROW. This array
54 contains the logarithmic mapping of the processes. In other
55 words, IMAP[myrow] is the absolute coordinate of the sorted
56 process.
57
58 IPMAPM1 (global input) const int *
59 On entry, IMAPM1 is an array of dimension NPROW. This array
60 contains the inverse of the logarithmic mapping contained in
61 IMAP: For i in [0.. NPROW) IMAPM1[IMAP[i]] = i.
62
64 HPL_pdlaswp01T (3).
65
66
67
68HPL 2.1 October 26, 2012 HPL_rollT(3)