Keywords: slug

Next: Quick Reference Guide to Up: Quick Reference Guides Previous: ScaLAPACK Quick Reference Guide

# Quick Reference Guide to the PBLAS

An html version of this Quick Reference Guide , along with the leading comments from each of the routines, is available via the ScaLAPACK homepage.

> `http://www.netlib.org/scalapack/index.html`

At the lowest level, the efficiency of the PBLAS is determined by the local performance of the BLAS and the BLACS. In addition, depending on the shape of its input and output distributed matrices, the PBLAS select the best algorithm in terms of data transfer across the process grid. Transparent to the user, this relatively simple selection process ensures high efficiency independent of the actual computation performed.

``

Level 1 PBLAS

             dim scalar     vector                  vector
    P_SWAP ( N,             X, IX, JX, DESCX, INCX, Y, IY, JY, DESCY, INCY )
    P_SCAL ( N, ALPHA,      X, IX, JX, DESCX, INCX )
    P_COPY ( N,             X, IX, JX, DESCX, INCX, Y, IY, JY, DESCY, INCY )
    P_AXPY ( N, ALPHA,      X, IX, JX, DESCX, INCX, Y, IY, JY, DESCY, INCY )
    P_DOT  ( N, DOT,        X, IX, JX, DESCX, INCX, Y, IY, JY, DESCY, INCY )
    P_DOTU ( N, DOTU,       X, IX, JX, DESCX, INCX, Y, IY, JY, DESCY, INCY )
    P_DOTC ( N, DOTC,       X, IX, JX, DESCX, INCX, Y, IY, JY, DESCY, INCY )
    P_NRM2 ( N, NORM2,      X, IX, JX, DESCX, INCX )
    P_ASUM ( N, ASUM,       X, IX, JX, DESCX, INCX )
    P_AMAX ( N, AMAX, INDX, X, IX, JX, DESCX, INCX )

Level 2 PBLAS

             options            dim   scalar matrix            vector                 scalar vector
    P_GEMV (       TRANS,       M, N, ALPHA, A, IA, JA, DESCA, X, IX, JX, DESCX, INCX, BETA, Y, IY, JY, DESCY, INCY )
    P_HEMV ( UPLO,                 N, ALPHA, A, IA, JA, DESCA, X, IX, JX, DESCX, INCX, BETA, Y, IY, JY, DESCY, INCY )
    P_SYMV ( UPLO,                 N, ALPHA, A, IA, JA, DESCA, X, IX, JX, DESCX, INCX, BETA, Y, IY, JY, DESCY, INCY )
    P_TRMV ( UPLO, TRANS, DIAG,    N,        A, IA, JA, DESCA, X, IX, JX, DESCX, INCX )
    P_TRSV ( UPLO, TRANS, DIAG,    N,        A, IA, JA, DESCA, X, IX, JX, DESCX, INCX )

             options            dim   scalar vector                  vector                  matrix
    P_GER  (                    M, N, ALPHA, X, IX, JX, DESCX, INCX, Y, IY, JY, DESCY, INCY, A, IA, JA, DESCA )
    P_GERU (                    M, N, ALPHA, X, IX, JX, DESCX, INCX, Y, IY, JY, DESCY, INCY, A, IA, JA, DESCA )
    P_GERC (                    M, N, ALPHA, X, IX, JX, DESCX, INCX, Y, IY, JY, DESCY, INCY, A, IA, JA, DESCA )
    P_HER  ( UPLO,                 N, ALPHA, X, IX, JX, DESCX, INCX,                         A, IA, JA, DESCA )
    P_HER2 ( UPLO,                 N, ALPHA, X, IX, JX, DESCX, INCX, Y, IY, JY, DESCY, INCY, A, IA, JA, DESCA )
    P_SYR  ( UPLO,                 N, ALPHA, X, IX, JX, DESCX, INCX,                         A, IA, JA, DESCA )
    P_SYR2 ( UPLO,                 N, ALPHA, X, IX, JX, DESCX, INCX, Y, IY, JY, DESCY, INCY, A, IA, JA, DESCA )

Level 3 PBLAS

             options                           dim      scalar matrix            matrix            scalar matrix
    P_GEMM (             TRANSA, TRANSB,       M, N, K, ALPHA, A, IA, JA, DESCA, B, IB, JB, DESCB, BETA, C, IC, JC, DESCC )
    P_SYMM ( SIDE, UPLO,                       M, N,    ALPHA, A, IA, JA, DESCA, B, IB, JB, DESCB, BETA, C, IC, JC, DESCC )
    P_HEMM ( SIDE, UPLO,                       M, N,    ALPHA, A, IA, JA, DESCA, B, IB, JB, DESCB, BETA, C, IC, JC, DESCC )
    P_SYRK (       UPLO, TRANS,                   N, K, ALPHA, A, IA, JA, DESCA,                   BETA, C, IC, JC, DESCC )
    P_HERK (       UPLO, TRANS,                   N, K, ALPHA, A, IA, JA, DESCA,                   BETA, C, IC, JC, DESCC )
    P_SYR2K(       UPLO, TRANS,                   N, K, ALPHA, A, IA, JA, DESCA, B, IB, JB, DESCB, BETA, C, IC, JC, DESCC )
    P_HER2K(       UPLO, TRANS,                   N, K, ALPHA, A, IA, JA, DESCA, B, IB, JB, DESCB, BETA, C, IC, JC, DESCC )
    P_TRAN (                                   M, N,    ALPHA, A, IA, JA, DESCA,                   BETA, C, IC, JC, DESCC )
    P_TRANU(                                   M, N,    ALPHA, A, IA, JA, DESCA,                   BETA, C, IC, JC, DESCC )
    P_TRANC(                                   M, N,    ALPHA, A, IA, JA, DESCA,                   BETA, C, IC, JC, DESCC )
    P_TRMM ( SIDE, UPLO, TRANSA,         DIAG, M, N,    ALPHA, A, IA, JA, DESCA, B, IB, JB, DESCB )
    P_TRSM ( SIDE, UPLO, TRANSA,         DIAG, M, N,    ALPHA, A, IA, JA, DESCA, B, IB, JB, DESCB )