Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
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?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

void pslared1d (MKL_INT *n , MKL_INT *ia , MKL_INT *ja , MKL_INT *desc , float *bycol , float *byall , float *work , MKL_INT *lwork );

void pdlared1d (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

The p?lared1dfunction 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).

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

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_], 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 bycol, but it is replicated across all processes rather than being distributed.

See Also