Visible to Intel only — GUID: GUID-8C458304-0F8B-49BA-BBE4-878719FBE6B3
Visible to Intel only — GUID: GUID-8C458304-0F8B-49BA-BBE4-878719FBE6B3
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
call pslared2d(n, ia, ja, desc, byrow, byall, work, lwork)
call pdlared2d(n, ia, ja, desc, byrow, byall, work, lwork)
Description
The p?lared2droutine 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) INTEGER.
The number of elements to be redistributed. n≥ 0.
- ia, ja
-
(global) INTEGER. ia, ja must be equal to 1.
- desc
-
(local) INTEGER array of size dlen_. A 2D array descriptor, which describes byrow.
- byrow
-
(local).
REAL for pslared2d
DOUBLE PRECISION for pdlared2d
COMPLEX for pclared2d
COMPLEX*16 for pzlared2d.
Distributed block cyclic array of global size n and of local size np. byrow is distributed across the process columns. All process rows are assumed to contain the same value. - work
-
(local).
REAL for pslared2d
DOUBLE PRECISION for pdlared2d
COMPLEX for pclared2d
COMPLEX*16 for pzlared2d.
size lwork. Used to hold the buffers sent from one process to another.
- lwork
-
(local) INTEGER. The size of the work array. lwork ≥ numroc(n, desc(nb_), 0, 0, npcol).
Output Parameters
- byall
-
(global). REAL for pslared2d
DOUBLE PRECISION for pdlared2d
COMPLEX for pclared2d
COMPLEX*16 for pzlared2d.
Global size n, local size n. byall is exactly duplicated on all processes. It contains the same values as byrow, but it is replicated across all processes rather than being distributed.