p?lared2d
p?lared2d
Redistributes an array assuming that the input array
byrow
is distributed across columns and that all process rows contain the same copy of byrow
.Syntax
void
pslared2d
(
MKL_INT
*n
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desc
,
float
*byrow
,
float
*byall
,
float
*work
,
MKL_INT
*lwork
);
void
pdlared2d
(
MKL_INT
*n
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desc
,
double
*byrow
,
double
*byall
,
double
*work
,
MKL_INT
*lwork
);
Include Files
- mkl_scalapack.h
Description
The
p?lared2d
function
redistributes a 1D array. It assumes that the input array byrow
is distributed across columns and that all process rows contain the same copy of byrow
. The output array byall
will be identical on all processes and will contain the entire array.Input Parameters
np
= Number of local rows in byrow
()- n
- (global)The number of elements to be redistributed..n≥0
- ia,ja
- (global)ia,jamust be equal to 1.
- desc
- (local) array of sizedlen_. A 2D array descriptor, which describesbyrow.
- byrow
- Distributed block cyclic array of global size(local).nand of local sizenp.byrowis distributed across the process columns. All process rows 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 asbyrow, but it is replicated across all processes rather than being distributed.