PLASMA prototypes

Matrix-matrix multiply

PLASMA_[sdcz] gemm                   ( transA, transB,           m, n, k, alpha, A, ldA, B, ldB, beta, C, ldC                    )
PLASMA_[sdcz] gemm_Tile              ( transA, transB,                    alpha, A,      B,      beta, C                         )
PLASMA_[sdcz] gemm_Tile_Async        ( transA, transB,                    alpha, A,      B,      beta, C,      sequence, request )

PLASMA_[sdcz] symm                   ( side, uplo,               m, n,    alpha, A, ldA, B, ldB, beta, C, ldC                    )
PLASMA_[sdcz] symm_Tile              ( side, uplo,                        alpha, A,      B,      beta, C                         )
PLASMA_[sdcz] symm_Tile_Async        ( side, uplo,                        alpha, A,      B,      beta, C,      sequence, request )

PLASMA_[  cz] hemm                   ( side, uplo,               m, n,    alpha, A, ldA, B, ldB, beta, C, ldC                    )
PLASMA_[  cz] hemm_Tile              ( side, uplo,                        alpha, A,      B,      beta, C                         )
PLASMA_[  cz] hemm_Tile_Async        ( side, uplo,                        alpha, A,      B,      beta, C,      sequence, request )

PLASMA_[sdcz] trmm                   ( side, uplo, transA, diag, n, nrhs, alpha, A, ldA, B, ldB                                  )
PLASMA_[sdcz] trmm_Tile              ( side, uplo, transA, diag,          alpha, A,      B                                       )
PLASMA_[sdcz] trmm_Tile_Async        ( side, uplo, transA, diag,          alpha, A,      B,                    sequence, request )

Rank-k update

PLASMA_[sdcz] syrk                   ( uplo, trans,              n, k,    alpha, A, ldA,         beta, C, ldC                    )
PLASMA_[  cz] herk                   ( uplo, trans,              n, k,    alpha, A, ldA,         beta, C, ldC                    )
PLASMA_[sdcz] syrk_Tile              ( uplo, trans,                       alpha, A,              beta, C                         )
PLASMA_[  cz] herk_Tile              ( uplo, trans,                       alpha, A,              beta, C                         )
PLASMA_[sdcz] syrk_Tile_Async        ( uplo, trans,                       alpha, A,              beta, C,      sequence, request )
PLASMA_[  cz] herk_Tile_Async        ( uplo, trans,                       alpha, A,              beta, C,      sequence, request )

Rank-2k update

PLASMA_[sdcz] syr2k                  ( uplo, trans,              n, k,    alpha, A, ldA, B, ldB, beta, C, ldC                    )
PLASMA_[  cz] her2k                  ( uplo, trans,              n, k,    alpha, A, ldA, B, ldB, beta, C, ldC                    )
PLASMA_[sdcz] syr2k_Tile             ( uplo, trans,                       alpha, A,      B,      beta, C                         )
PLASMA_[  cz] her2k_Tile             ( uplo, trans,                       alpha, A,      B,      beta, C                         )
PLASMA_[sdcz] syr2k_Tile_Async       ( uplo, trans,                       alpha, A,      B,      beta, C,      sequence, request )
PLASMA_[  cz] her2k_Tile_Async       ( uplo, trans,                       alpha, A,      B,      beta, C,      sequence, request )

Triangular solve

PLASMA_[sdcz] trsm                   ( side, uplo, transA, diag, n, nrhs, alpha, A, ldA, B, ldB                                  )
PLASMA_[sdcz] trsm_Tile              ( side, uplo, transA, diag,          alpha, A,      B                                       )
PLASMA_[sdcz] trsm_Tile_Async        ( side, uplo, transA, diag,          alpha, A,      B,                    sequence, request )



Solve AX = B

LAPACK_[sdcz] gesv                   (        n, nrhs,    A, ldA,    ipiv, B, ldB,              info )
PLASMA_[sdcz] gesv                   (        n, nrhs,    A, ldA,    ipiv, B, ldB                    )
PLASMA_[sdcz] gesv_Tile              (                    A,         ipiv, B                         )
PLASMA_[sdcz] gesv_Tile_Async        (                    A,         ipiv, B,      sequence, request )

PLASMA_[sdcz] gesv_incpiv            (        n, nrhs,    A, ldA, L, ipiv, B, ldB                    )
PLASMA_[sdcz] gesv_incpiv_Tile       (                    A,      L, ipiv, B                         )
PLASMA_[sdcz] gesv_incpiv_Tile_Async (                    A,      L, ipiv, B,      sequence, request )

LAPACK_[sdcz] posv                   ( uplo,  n, nrhs,    A, ldA,          B, ldB,              info )
PLASMA_[sdcz] posv                   ( uplo,  n, nrhs,    A, ldA,          B, ldB                    )
PLASMA_[sdcz] posv_Tile              ( uplo,              A,               B                         )
PLASMA_[sdcz] posv_Tile_Async        ( uplo,              A,               B,      sequence, request )

Triangular factorization (LU, Cholesky, LDL)

/* missing sytrf, symmetric indefinite LDLT */

LAPACK_[sdcz] getrf                  (       m, n,     A, ldA,    ipiv,                      info )
PLASMA_[sdcz] getrf                  (       m, n,     A, ldA,    ipiv                            )
PLASMA_[sdcz] getrf_Tile             (                 A,         ipiv                            )
PLASMA_[sdcz] getrf_Tile_Async       (                 A,         ipiv,         sequence, request )

PLASMA_[sdcz] getrf_incpiv           (       m, n,     A, ldA, L, ipiv                            )
PLASMA_[sdcz] getrf_incpiv_Tile      (                 A,      L, ipiv                            )
PLASMA_[sdcz] getrf_incpiv_Tile_Async(                 A,      L, ipiv,         sequence, request )

LAPACK_[sdcz] potrf                  ( uplo, n,        A, ldA,                               info )
PLASMA_[sdcz] potrf                  ( uplo, n,        A, ldA                                     )
PLASMA_[sdcz] potrf_Tile             ( uplo,           A                                          )
PLASMA_[sdcz] potrf_Tile_Async       ( uplo,           A,                       sequence, request )

Triangular solve, after factorization

LAPACK_[sdcz] getrs                  ( trans, n, nrhs, A, ldA,    ipiv, B, ldB,              info )
PLASMA_[sdcz] getrs                  ( trans, n, nrhs, A, ldA,    ipiv, B, ldB                    )
PLASMA_[sdcz] getrs_Tile             ( trans,          A,         ipiv, B                         )
PLASMA_[sdcz] getrs_Tile_Async       ( trans,          A,         ipiv, B,      sequence, request )

PLASMA_[sdcz] getrs_incpiv           ( trans, n, nrhs, A, ldA, L, ipiv, B, ldB                    )
PLASMA_[sdcz] getrs_incpiv_Tile      (                 A,      L, ipiv, B                         )
PLASMA_[sdcz] getrs_incpiv_Tile_Async(                 A,      L, ipiv, B,      sequence, request )

LAPACK_[sdcz] potrs                  ( uplo,  n, nrhs, A, ldA,          B, ldB,              info )
PLASMA_[sdcz] potrs                  ( uplo,  n, nrhs, A, ldA,          B, ldB                    )
PLASMA_[sdcz] potrs_Tile             ( uplo,           A,               B                         )
PLASMA_[sdcz] potrs_Tile_Async       ( uplo,           A,               B,      sequence, request )

Matrix inverse, after factorization

/* missing getri, general non-symmetric inverse */

LAPACK_[sdcz] potri                  ( uplo,       n,  A, ldA,                               info )
PLASMA_[sdcz] potri                  ( uplo,       n,  A, ldA                                     )
PLASMA_[sdcz] potri_Tile             ( uplo,           A                                          )
PLASMA_[sdcz] potri_Tile_Async       ( uplo,           A,                       sequence, request )

LAPACK_[sdcz] trtri                  ( uplo, diag, n,  A, ldA,                               info )
PLASMA_[sdcz] trtri                  ( uplo, diag, n,  A, ldA                                     )
PLASMA_[sdcz] trtri_Tile             ( uplo, diag,     A                                          )
PLASMA_[sdcz] trtri_Tile_Async       ( uplo, diag,     A,                       sequence, request )



Least squares, minimize || B - AX ||2


LAPACK_[sdcz] gels                   ( trans, m, n, nrhs, A, ldA,          B, ldB, work, lwork, info )  # QR
PLASMA_[sdcz] gels                   ( trans, m, n, nrhs, A, ldA, T,       B, ldB                    )  # why is T out-of-order?
PLASMA_[sdcz] gels_Tile              ( trans,             A,               B, T                      )
PLASMA_[sdcz] gels_Tile_Async        ( trans,             A,               B, T,   sequence, request )

QR, LQ orthogonal factorizations

LAPACK_[sdcz] geqrf                  ( m, n, A, ldA, tau, work, lwork, info )
PLASMA_[sdcz] geqrf                  ( m, n, A, ldA, T                      )
PLASMA_[sdcz] geqrf_Tile             (       A,      T                      )
PLASMA_[sdcz] geqrf_Tile_Async       (       A,      T,   sequence, request )

LAPACK_[sdcz] gelqf                  ( m, n, A, ldA, tau, work, lwork, info )
PLASMA_[sdcz] gelqf                  ( m, n, A, ldA, T                      )
PLASMA_[sdcz] gelqf_Tile             (       A,      T                      )
PLASMA_[sdcz] gelqf_Tile_Async       (       A,      T,   sequence, request )

Generate Q, after QR, LQ factorization

LAPACK_[sd  ] orgqr                  ( m, n, k, A, ldA, tau,       work, lwork, info )
LAPACK_[  cz] ungqr                  ( m, n, k, A, ldA, tau,       work, lwork, info )
PLASMA_[sd  ] orgqr                  ( m, n, k, A, ldA, T, B, ldB                    )
PLASMA_[  cz] ungqr                  ( m, n, k, A, ldA, T, B, ldB                    )
PLASMA_[sd  ] orgqr_Tile             (          A,      T, B                         )
PLASMA_[  cz] ungqr_Tile             (          A,      T, B                         )
PLASMA_[sd  ] orgqr_Tile_Async       (          A,      T, B,      sequence, request )
PLASMA_[  cz] ungqr_Tile_Async       (          A,      T, B,      sequence, request )

LAPACK_[sd  ] orglq                  ( m, n, k, A, ldA, tau,       work, lwork, info )
LAPACK_[  cz] unglq                  ( m, n, k, A, ldA, tau,       work, lwork, info )
PLASMA_[sd  ] orglq                  ( m, n, k, A, ldA, T, B, ldB                    )
PLASMA_[  cz] unglq                  ( m, n, k, A, ldA, T, B, ldB                    )
PLASMA_[sd  ] orglq_Tile             (          A,      T, B                         )
PLASMA_[  cz] unglq_Tile             (          A,      T, B                         )
PLASMA_[sd  ] orglq_Tile_Async       (          A,      T, B,      sequence, request )
PLASMA_[  cz] unglq_Tile_Async       (          A,      T, B,      sequence, request )

Multiply by Q, after QR, LQ factorization

LAPACK_[sd  ] ormqr                  ( side, trans, m, n, k, A, ldA, tau, C, ldC, work, lwork, info )
LAPACK_[  cz] unmqr                  ( side, trans, m, n, k, A, ldA, tau, C, ldC, work, lwork, info )
PLASMA_[sd  ] ormqr                  ( side, trans, m, n, k, A, ldA, T, B, ldB                    )
PLASMA_[  cz] unmqr                  ( side, trans, m, n, k, A, ldA, T, B, ldB                    )
PLASMA_[sd  ] ormqr_Tile             ( side, trans,          A,      T, B                         )
PLASMA_[  cz] unmqr_Tile             ( side, trans,          A,      T, B                         )
PLASMA_[sd  ] ormqr_Tile_Async       ( side, trans,          A,      T, B,      sequence, request )
PLASMA_[  cz] unmqr_Tile_Async       ( side, trans,          A,      T, B,      sequence, request )

LAPACK_[sd  ] ormlq                  ( side, trans, m, n, k, A, ldA, tau, C, ldC, work, lwork, info )
LAPACK_[  cz] unmlq                  ( side, trans, m, n, k, A, ldA, tau, C, ldC, work, lwork, info )
PLASMA_[sd  ] ormlq                  ( side, trans, m, n, k, A, ldA, T, B, ldB                    )
PLASMA_[  cz] unmlq                  ( side, trans, m, n, k, A, ldA, T, B, ldB                    )
PLASMA_[sd  ] ormlq_Tile             ( side, trans,          A,      T, B                         )
PLASMA_[  cz] unmlq_Tile             ( side, trans,          A,      T, B                         )
PLASMA_[sd  ] ormlq_Tile_Async       ( side, trans,          A,      T, B,      sequence, request )
PLASMA_[  cz] unmlq_Tile_Async       ( side, trans,          A,      T, B,      sequence, request )

Solve least squares, after QR, LQ factorization

/* these are not in lapack */

PLASMA_[sdcz] gelqs                  ( m, n, nrhs, A, ldA, T, B, ldB                       )  # why is T out-of-order?
PLASMA_[sdcz] gelqs_Tile             (             A,         B,      T                    )
PLASMA_[sdcz] gelqs_Tile_Async       (             A,         B,      T, sequence, request )

PLASMA_[sdcz] geqrs                  ( m, n, nrhs, A, ldA, T, B, ldB                       )  # why is T out-of-order?
PLASMA_[sdcz] geqrs_Tile             (             A,         B,      T                    )
PLASMA_[sdcz] geqrs_Tile_Async       (             A,         B,      T, sequence, request )



Eigenvalues

LAPACK_[sd  ] geev                   ( jobvl, jobvr,      n, A, ldA,         Wr, Wi, Vl, ldVl, Vr, ldVr, work, lwork,        info )
LAPACK_[  cz] geev                   ( jobvl, jobvr,      n, A, ldA,         W,      Vl, ldVl, Vr, ldVr, work, lwork, rwork, info )
PLASMA_[sdcz] geev                   ( jobvl, jobvr,      n, A, ldA,         W,      Vl, ldVl, Vr, ldVr, T                    )
PLASMA_[sdcz] geev_Tile              ( jobvl, jobvr,         A,              W,      Vl,       Vr,       T                    )
PLASMA_[sdcz] geev_Tile_Async        ( jobvl, jobvr,         A,              W,      Vl,       Vr,       T, sequence, request )

LAPACK_[sd  ] syev                   ( jobz,  uplo,       n, A, ldA,         W,                 work, lwork,        info )
LAPACK_[  cz] heev                   ( jobz,  uplo,       n, A, ldA,         W,                 work, lwork, rwork, info )
PLASMA_[sd  ] syev                   ( jobz,  uplo,       n, A, ldA,         W, T, Q, ldQ                                )
PLASMA_[  cz] heev                   ( jobz,  uplo,       n, A, ldA,         W, T, Q, ldQ                                )
PLASMA_[sd  ] syev_Tile              ( jobz,  uplo,          A,              W, T, Q                                     )
PLASMA_[  cz] heev_Tile              ( jobz,  uplo,          A,              W, T, Q                                     )
PLASMA_[sd  ] syev_Tile_Async        ( jobz,  uplo,          A,              W, T, Q,                  sequence, request )
PLASMA_[  cz] heev_Tile_Async        ( jobz,  uplo,          A,              W, T, Q,                  sequence, request )

LAPACK_[sd  ] sygv                   ( itype, jobz, uplo, n, A, ldA, B, ldB, W,                 work, lwork,        info )
LAPACK_[  cz] hegv                   ( itype, jobz, uplo, n, A, ldA, B, ldB, W,                 work, lwork, rwork, info )
PLASMA_[sd  ] sygv                   ( itype, jobz, uplo, n, A, ldA, B, ldB, W, T, Q, ldQ                                )
PLASMA_[  cz] hegv                   ( itype, jobz, uplo, n, A, ldA, B, ldB, W, T, Q, ldQ                                )
PLASMA_[sd  ] sygv_Tile              ( itype, jobz, uplo,    A,      B,      W, T, Q                                     )
PLASMA_[  cz] hegv_Tile              ( itype, jobz, uplo,    A,      B,      W, T, Q                                     )
PLASMA_[sd  ] sygv_Tile_Async        ( itype, jobz, uplo,    A,      B,      W, T, Q,                  sequence, request )
PLASMA_[  cz] hegv_Tile_Async        ( itype, jobz, uplo,    A,      B,      W, T, Q,                  sequence, request )



Reduce to tri-diagonal

LAPACK_[sd  ] sytrd                  (       uplo, n, A, ldA, D, E, tau,         work, lwork, info )
LAPACK_[  cz] hetrd                  (       uplo, n, A, ldA, D, E, tau,         work, lwork, info )
PLASMA_[sd  ] sytrd                  ( jobz, uplo, n, A, ldA, D, E, T, Q, ldQ                      )
PLASMA_[  cz] hetrd                  ( jobz, uplo, n, A, ldA, D, E, T, Q, ldQ                      )
PLASMA_[sd  ] sytrd_Tile             ( jobz, uplo,    A,      D, E, T, Q                           )
PLASMA_[  cz] hetrd_Tile             ( jobz, uplo,    A,      D, E, T, Q                           )
PLASMA_[sd  ] sytrd_Tile_Async       ( jobz, uplo,    A,      D, E, T, Q,        sequence, request )
PLASMA_[  cz] hetrd_Tile_Async       ( jobz, uplo,    A,      D, E, T, Q,        sequence, request )

Generate Q, after tri-diagonalization

LAPACK_[sd  ] orgtr                  (       uplo, n, A, ldA, tau,               work, lwork, info )
LAPACK_[  cz] ungtr                  (       uplo, n, A, ldA, tau,               work, lwork, info )
PLASMA_[sd  ] orgtr                  (       uplo, n, A, ldA, T, B, ldB                            )
PLASMA_[  cz] ungtr                  (       uplo, n, A, ldA, T, B, ldB                            )
PLASMA_[sd  ] orgtr_Tile             (       uplo,    A,      T, B                                 )
PLASMA_[  cz] ungtr_Tile             (       uplo,    A,      T, B                                 )
PLASMA_[sd  ] orgtr_Tile_Async       (       uplo,    A,      T, B,              sequence, request )
PLASMA_[  cz] ungtr_Tile_Async       (       uplo,    A,      T, B,              sequence, request )

Reduce generalized eigenvalue problem to standard form

LAPACK_[sd  ] sygst                  ( itype, uplo, n, A, ldA, B, ldB,                        info )
LAPACK_[  cz] hegst                  ( itype, uplo, n, A, ldA, B, ldB,                        info )
PLASMA_[sd  ] sygst                  ( itype, uplo, n, A, ldA, B, ldB                              )
PLASMA_[  cz] hegst                  ( itype, uplo, n, A, ldA, B, ldB                              )
PLASMA_[sd  ] sygst_Tile             ( itype, uplo,    A,      B                                   )
PLASMA_[  cz] hegst_Tile             ( itype, uplo,    A,      B                                   )
PLASMA_[sd  ] sygst_Tile_Async       ( itype, uplo,    A,      B,                sequence, request )
PLASMA_[  cz] hegst_Tile_Async       ( itype, uplo,    A,      B,                sequence, request )



Reduce to upper Hessenberg

LAPACK_[sdcz] gehrd                  ( n, ilo, ihi, A, ldA, tau,                 work, lwork, info )
PLASMA_[sdcz] gehrd                  ( n, ilo, ihi, A, ldA, T                                      )
PLASMA_[sdcz] gehrd_Tile             (              A,      T                                      )
PLASMA_[sdcz] gehrd_Tile_Async       (              A,      T,                   sequence, request )

Generate Q, after reduction to upper Hessenberg

LAPACK_[sd  ] orghr                  ( n, ilo, ihi, A, ldA, tau,                 work, lwork, info )
LAPACK_[  cz] unghr                  ( n, ilo, ihi, A, ldA, tau,                 work, lwork, info )
PLASMA_[sd  ] orghr                  ( n, ilo, ihi, A, ldA, T, Q, ldQ                              )
PLASMA_[  cz] unghr                  ( n, ilo, ihi, A, ldA, T, Q, ldQ                              )
PLASMA_[sd  ] orghr_Tile             (              A,      T, Q                                   )
PLASMA_[  cz] unghr_Tile             (              A,      T, Q                                   )
PLASMA_[sd  ] orghr_Tile_Async       (              A,      T, Q,                sequence, request )
PLASMA_[  cz] unghr_Tile_Async       (              A,      T, Q,                sequence, request )



SVD

LAPACK_[sd  ] gesvd                  ( jobu, jobvt, m, n, A, ldA, S, U, ldU, Vt, ldVt, work, lwork,        info )
LAPACK_[  cz] gesvd                  ( jobu, jobvt, m, n, A, ldA, S, U, ldU, Vt, ldVt, work, lwork, rwork, info )
PLASMA_[sdcz] gesvd                  ( jobu, jobvt, m, n, A, ldA, S, U, ldU, Vt, ldVt, T                    )
PLASMA_[sdcz] gesvd_Tile             ( jobu, jobvt,       A,      S, U,      Vt,       T                    )
PLASMA_[sdcz] gesvd_Tile_Async       ( jobu, jobvt,       A,      S, U,      Vt,       T, sequence, request )

Reduce to bi-diagonal

PLASMA_[sdcz] gebrd                  ( jobu, jobvt, m, n,    A, ldA, D, E, U, ldU, Vt, ldVt, T                    )
PLASMA_[sdcz] gebrd_Tile             ( jobu, jobvt,          A,      D, E, U,      VT,       T                    )
PLASMA_[sdcz] gebrd_Tile_Async       ( jobu, jobvt,          A,      D, E, U,      VT,       T, sequence, request )

Generate Q, after bi-diagonalization

LAPACK_[sd  ] orgbr                  ( vect,        m, n, k, A, ldA, tau,        work, lwork, info )
LAPACK_[  cz] ungbr                  ( vect,        m, n, k, A, ldA, tau,        work, lwork, info )
PLASMA_[sd  ] orgbr                  ( side,        m, n, k, A, ldA, T, Q, ldQ                     )
PLASMA_[  cz] ungbr                  ( side,        m, n, k, A, ldA, T, Q, LDQ )
PLASMA_[sd  ] orgbr_Tile             ( size,                 A,      T, Q                          )  # note typo
PLASMA_[  cz] ungbr_Tile             ( size,                 A,      T, Q                          )  # note typo
PLASMA_[sd  ] orgbr_Tile_Async       ( side,                 A,      T, Q,       sequence, request )
PLASMA_[  cz] ungbr_Tile_Async       ( side,                 A,      T, Q,       sequence, request )



Matrix norm (1, Fro, inf, largest element)

double LAPACK_[sdcz] lange           ( norm, m, n,    A, ldA, work                                 )
double PLASMA_[sdcz] lange           ( norm, m, n,    A, ldA, work                                 )
double PLASMA_[sdcz] lange_Tile      ( norm,          A,      work                                 )
       PLASMA_[sdcz] lange_Tile_Async( norm,          A,      work, value,       sequence, request )

double LAPACK_[sdcz] lansy           ( norm, uplo, n, A, ldA, work                                 )
double PLASMA_[sdcz] lansy           ( norm, uplo, n, A, ldA, work                                 )
double PLASMA_[sdcz] lansy_Tile      ( norm, uplo,    A,      work                                 )
       PLASMA_[sdcz] lansy_Tile_Async( norm, uplo,    A,      work, value,       sequence, request )

double LAPACK_[  cz] lanhe           ( norm, uplo, n, A, ldA, work                                 )
double PLASMA_[  cz] lanhe           ( norm, uplo, n, A, ldA, work                                 )
double PLASMA_[  cz] lanhe_Tile      ( norm, uplo,    A,      work                                 )
       PLASMA_[  cz] lanhe_Tile_Async( norm, uplo,    A,      work, value,       sequence, request )

Row interchanges

LAPACK_[sdcz] laswp                  ( n, A, ldA, k1, k2, ipiv, incx                               )
PLASMA_[sdcz] laswp                  ( n, A, ldA, k1, k2, ipiv, incx                               )
PLASMA_[sdcz] laswp_Tile             (    A,      k1, k2, ipiv, incx                               )
PLASMA_[sdcz] laswp_Tile_Async       (    A,      k1, k2, ipiv, incx,            sequence, request )

Compute UUT or LTL

LAPACK_[sdcz] lauum                  ( uplo, n, A, ldA,                                       info )
PLASMA_[sdcz] lauum                  ( uplo, n, A, ldA                                             )
PLASMA_[sdcz] lauum_Tile             ( uplo,    A                                                  )
PLASMA_[sdcz] lauum_Tile_Async       ( uplo,    A,                               sequence, request )

Conversion

PLASMA_[sdcz] Lapack_to_Tile         ( Af77, ldA, A                    )
PLASMA_[sdcz] Lapack_to_Tile_Async   ( Af77, ldA, A, sequence, request )
PLASMA_[sdcz] Tile_to_Lapack         ( A, Af77, ldA                    )
PLASMA_[sdcz] Tile_to_Lapack_Async   ( A, Af77, ldA, sequence, request )

PLASMA_Lapack_to_tile                ( Af77, ldA, A )
PLASMA_Tile_to_lapack                ( A, Af77, ldA )

Other

PLASMA_[sdcz] plgsy                  ( bump, n, A, ldA, seed                                       )
PLASMA_[sdcz] plgsy_Tile             ( bump,    A,      seed                                       )
PLASMA_[sdcz] plgsy_Tile_Async       ( bump,    A,      seed,                    sequence, request )

PLASMA_[sdcz] plrnt                  ( m,    n, A, ldA, seed                                       )
PLASMA_[sdcz] plrnt_Tile             (          A,      seed                                       )
PLASMA_[sdcz] plrnt_Tile_Async       (          A,      seed,                    sequence, request )

PLASMA_[sdcz] trsmpl                 ( n, nrhs, A, ldA, L, ipiv, B, ldB                            )
PLASMA_[sdcz] trsmpl_Tile            (          A,      L, ipiv, B                                 )
PLASMA_[sdcz] trsmpl_Tile_Async      (          A,      L, ipiv, B,              sequence, request )

PLASMA_[sdcz] gecfi                  ( m, n,    A, fin,  imb, inb, fout,  omb, onb                    )  # note differences (2)
PLASMA_[sdcz] gecfi_Async            ( m, n,    A, f_in, imb, inb, f_out, omb, onb, sequence, request )

PLASMA_[sdcz] getmi                  ( m, n,    A, fin,   mb,  nb                                     )  # note differences (2)
PLASMA_[sdcz] getmi_Async            ( m, n,    A, f_in,  mb, inb,                  sequence, request )

PLASMA_[  cz] plghe                  ( bump, n, A, ldA, seed                    )
PLASMA_[  cz] plghe_Tile             ( bump,    A,      seed                    )
PLASMA_[  cz] plghe_Tile_Async       ( bump,    A,      seed, sequence, request )

Auxiliary functions

PLASMA_Init           ( cores )
PLASMA_Init_affinity  ( cores, &bindtab )
PLASMA_Finalize       ()

PLASMA_Version        ( &ver_major, &ver_minor, &ver_micro )
PLASMA_Enable         ( lever )
PLASMA_Disable        ( lever )
PLASMA_Set            ( param,  value )
PLASMA_Get            ( param, &value )
PLASMA_Desc_create    ( &desc, mat, dtyp, mb, nb, bsiz, lm, ln, i, j, m, n )
PLASMA_Desc_destroy   ( &desc )

Workspace deallocation

PLASMA_Dealloc_Handle     ( handle )
PLASMA_Dealloc_Handle_Tile( &desc )

Sequence

PLASMA_Sequence_Create ( &sequence )
PLASMA_Sequence_Destroy(  sequence )
PLASMA_Sequence_Wait   (  sequence )
PLASMA_Sequence_Flush  (  sequence, request )