Name

HPL_plindx10 Compute the logarithmic maps for the spreading.

Synopsis

`#include "hpl.h"`

`void` `HPL_plindx10(` `HPL_T_panel *` `PANEL`, `const int` `K`, `const int *` `IPID`, `int *` `IPLEN`, `int *` `IPMAP`, `int *` `IPMAPM1` `);`

Description

HPL_plindx10 computes three arrays IPLEN, IPMAP and IPMAPM1 that contain the logarithmic mapping information for the spreading phase.

Arguments

```PANEL   (local input/output)          HPL_T_panel *
On entry,  PANEL  points to the data structure containing the
panel information.
```
```K       (global input)                const int
On entry, K specifies the number of entries in IPID.  K is at
least 2*N, and at most 4*N.
```
```IPID    (global input)                const int *
On entry,  IPID  is an array of length K. The first K entries
of that array contain the src and final destination resulting
from the application of the interchanges.
```
```IPLEN   (global output)               int *
On entry, IPLEN  is an array of dimension NPROW + 1. On exit,
this array is such that  IPLEN[i]  is the number of rows of A
in the processes  before process IMAP[i] after the sort, with
the convention that IPLEN[nprow] is the total number of rows.
In other words,  IPLEN[i+1] - IPLEN[i] is the local number of
rows of  A  that should be moved for each process.  IPLEN  is
such that the number of rows of the source process row can be
computed as IPLEN[1] - IPLEN[0], and the remaining entries of
this  array are sorted  so  that  the quantities IPLEN[i+1] -
IPLEN[i] are logarithmically sorted.
```
```IPMAP   (global output)               int *
On entry, IPMAP is an array of dimension NPROW. On exit, this
array contains  the logarithmic mapping of the processes.  In
other words, IPMAP[myrow] is the corresponding sorted process
coordinate.
```
```IPMAPM1 (global output)               int *
On entry, IPMAPM1  is an array of dimension NPROW.  On  exit,
this  array  contains  the inverse of the logarithmic mapping
contained  in  IPMAP:  IPMAPM1[ IPMAP[i] ] = i,  for all i in
[0.. NPROW)
```