Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 10/31/2024
Public
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

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?lared2dfunction 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, ja must be equal to 1.

desc

(local) array of size dlen_. A 2D array descriptor, which describes byrow.

byrow

(local).

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).

size lwork. Used to hold the buffers sent from one process to another.

lwork

(local) The size of the work array. lworknumroc(n, desc[nb_], 0, 0, npcol).

Output Parameters

byall

(global).

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