1HPL_rollN(3)                 HPL Library Functions                HPL_rollN(3)
2
3
4

NAME

6       HPL_rollN - Roll U and forward the column panel.
7

SYNOPSIS

9       #include "hpl.h"
10
11       void  HPL_rollN( 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

DESCRIPTION

16       HPL_rollN  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

ARGUMENTS

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 number of columns of  U.  N  must  be
37               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,IPLEN[NPROW]).
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

SEE ALSO

64       HPL_pdlaswp01N (3).
65
66
67
68HPL 2.1                        October 26, 2012                   HPL_rollN(3)
Impressum