# ?trbs2d

Starts a broadcast along a scope for a trapezoidal matrix.

## Syntax

call itrbs2d( icontxt, scope, top, uplo, diag, m, n, a, lda )

call strbs2d( icontxt, scope, top, uplo, diag, m, n, a, lda )

call dtrbs2d( icontxt, scope, top, uplo, diag, m, n, a, lda )

call ctrbs2d( icontxt, scope, top, uplo, diag, m, n, a, lda )

call ztrbs2d( icontxt, scope, top, uplo, diag, m, n, a, lda )

## 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, a, lda | Describe the matrix to be sent. See Matrix Shapes for details.

## Description

This routine starts a broadcast along a scope. All other processes within the scope must call broadcast/receive for the broadcast to proceed. 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).

Parent topic: BLACS Broadcast Routines