Search:

HPL_plindx10(3) HPL Library Functions HPL_plindx10(3)## NAME

HPL_plindx10 - Compute the logarithmic maps for the spreading.## SYNOPSIS

#include"hpl.h"voidHPL_plindx10(HPL_T_panel*PANEL,constintK,constint*IPID,int*IPLEN,int*IPMAP,int*IPMAPM1);## DESCRIPTION

HPL_plindx10computes 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)## SEE ALSO

HPL_pdlaswp00N(3),HPL_pdlaswp00T(3),HPL_pdlaswp01N(3),HPL_pdlaswp01T(3). HPL 2.1 October 26, 2012 HPL_plindx10(3)

Search: