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

NAME

6       HPL_plindx10 - Compute the logarithmic maps for the spreading.
7

SYNOPSIS

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

DESCRIPTION

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

ARGUMENTS

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

SEE ALSO

57       HPL_pdlaswp00N (3),       HPL_pdlaswp00T (3),       HPL_pdlaswp01N (3),
58       HPL_pdlaswp01T (3).
59
60
61
62HPL 2.2                        February 24, 2016               HPL_plindx10(3)
Impressum