Developer Reference for Intel® oneAPI Math Kernel Library for C
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
voidpslared1d ( MKL_INT*n , MKL_INT*ia , MKL_INT*ja , MKL_INT*desc , float*bycol , float*byall , float*work , MKL_INT*lwork );
voidpdlared1d ( 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
pslared1d pdlared1d The p?lared1d routine 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 , ja must be equal to 1.
desc
(local) array of size 9. A 2D array descriptor, which describes bycol .
- bycol
-
(local). REAL for pslared1d DOUBLE PRECISION for pdlared1d COMPLEX for pclared1d COMPLEX*16 for pzlared1d . Distributed block cyclic array of global size n and of local size np . bycol is distributed across the process rows. All process columns are assumed to contain the same value.
- work
-
(local). REAL for pslared1d DOUBLE PRECISION for pdlared1d COMPLEX for pclared1d COMPLEX*16 for pzlared1d . size lwork . Used to hold the buffers sent from one process to another.
- lwork
-
(local)
The size of the work array. lwork ≥ numroc(n, desc(nb_)desc[nb_], 0, 0, npcol) .
Output Parameters
byall
(global).
DOUBLE PRECISION for pdlared1d COMPLEX for pclared1d COMPLEX*16 for pzlared1d . Global size n , local size n . byall is exactly duplicated on all processes. It contains the same values as bycol , but it is replicated across all processes rather than being distributed.