p?lared1d
p?lared1d
Redistributes an array assuming that the input array,
bycol
, is distributed across rows and that all process columns contain the same copy of bycol
.Syntax
void
pslared1d
(
MKL_INT
*n
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desc
,
float
*bycol
,
float
*byall
,
float
*work
,
MKL_INT
*lwork
);
void
pdlared1d
(
MKL_INT
*n
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desc
,
double
*bycol
,
double
*byall
,
double
*work
,
MKL_INT
*lwork
);
Include Files
- mkl_scalapack.h
Description
The
p?lared1d
function
redistributes a 1D array. It assumes that the input array bycol
is distributed across rows and that all process column contain the same copy of bycol
. The output array byall
is identical on all processes and contains the entire array.Input Parameters
np
= Number of local rows in bycol
()- n
- (global)The number of elements to be redistributed..n≥0
- ia,ja
- (global)ia,jamust be equal to 1.
- desc
- (local) array of size 9. A 2D array descriptor, which describesbycol.
- bycol
- (local).Distributed block cyclic array of global sizenand of local sizenp.bycolis distributed across the process rows. All process columns are assumed to contain the same value.
- work
- (local).sizelwork. Used to hold the buffers sent from one process to another.
- lwork
- (local)The size of theworkarray..lwork≥numroc(n,, 0, 0,desc[nb_]npcol)
Output Parameters
- byall
- (global).Global sizen, local sizen.byallis exactly duplicated on all processes. It contains the same values asbycol, but it is replicated across all processes rather than being distributed.