# Name

**HPL_rollN** Roll U and forward the column panel.
# Synopsis

`#include "hpl.h"`

`void`

`HPL_rollN(`

`HPL_T_panel *`

`PBCST`

,
`int *`

`IFLAG`

,
`HPL_T_panel *`

`PANEL`

,
`const int`

`N`

,
`double *`

`U`

,
`const int`

`LDU`

,
`const int *`

`IPLEN`

,
`const int *`

`IPMAP`

,
`const int *`

`IPMAPM1`

`);`

# Description

**HPL_rollN**
rolls the local arrays containing the local pieces of U, so
that on exit to this function U is replicated in every process row.
In addition, this function probe for the presence of the column panel
and forwards it when available.
# Arguments

PBCST (local input/output) HPL_T_panel *
On entry, PBCST points to the data structure containing the
panel (to be broadcast) information.

IFLAG (local input/output) int *
On entry, IFLAG indicates whether or not the broadcast has
already been completed. If not, probing will occur, and the
outcome will be contained in IFLAG on exit.

PANEL (local input/output) HPL_T_panel *
On entry, PANEL points to the data structure containing the
panel (to be rolled) information.

N (local input) const int
On entry, N specifies the number of columns of U. N must be
at least zero.

U (local input/output) double *
On entry, U is an array of dimension (LDU,*) containing the
local pieces of U in each process row.

LDU (local input) const int
On entry, LDU specifies the local leading dimension of U. LDU
should be at least MAX(1,IPLEN[NPROW]).

IPLEN (global input) const int *
On entry, IPLEN is an array of dimension NPROW+1. This array
is such that IPLEN[i+1] - IPLEN[i] is the number of rows of U
in each process row.

IPMAP (global input) const int *
On entry, IMAP is an array of dimension NPROW. This array
contains the logarithmic mapping of the processes. In other
words, IMAP[myrow] is the absolute coordinate of the sorted
process.

IPMAPM1 (global input) const int *
On entry, IMAPM1 is an array of dimension NPROW. This array
contains the inverse of the logarithmic mapping contained in
IMAP: For i in [0.. NPROW) IMAPM1[IMAP[i]] = i.

# See Also

HPL_pdlaswp01N.