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

?trbr2d

Receives and participates in a broadcast along a scope for a trapezoidal matrix.

Syntax

call itrbr2d( icontxt, scope, top, uplo, diag, m, n, a, lda, rsrc, csrc )

call strbr2d( icontxt, scope, top, uplo, diag, m, n, a, lda, rsrc, csrc )

call dtrbr2d( icontxt, scope, top, uplo, diag, m, n, a, lda, rsrc, csrc )

call ctrbr2d( icontxt, scope, top, uplo, diag, m, n, a, lda, rsrc, csrc )

call ztrbr2d( icontxt, scope, top, uplo, diag, m, n, a, lda, rsrc, csrc )

Input Parameters

icontxt

INTEGER. Integer handle that indicates the context.

scope

CHARACTER*1. Indicates what scope the broadcast should proceed on. Limited to 'Row', 'Column', or 'All'.

top

CHARACTER*1. Indicates the communication pattern to use for the broadcast.

uplo, diag, m, n, lda

Describe the matrix to be sent. See Matrix Shapes for details.

rsrc

INTEGER.

The process row coordinate of the process that called broadcast/send.

csrc

INTEGER.

The process column coordinate of the process that called broadcast/send.

Output Parameters

a

An array of dimension (lda,n) to receive the incoming message into.

Description

This routine receives and participates in a broadcast along a scope. At the end of a broadcast, all processes within the scope will possess the data in the trapezoidal matrix A. Broadcasts may be globally-blocking. This means no process is guaranteed to return from a broadcast until all processes in the scope have called the appropriate routine (broadcast/send or broadcast/receive).