Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

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. lworknumroc(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.

See Also