Skip to content

Latest commit

 

History

History
125 lines (62 loc) · 1.95 KB

blas_api.rst

File metadata and controls

125 lines (62 loc) · 1.95 KB

BLAS/LAPACK API

Below a description of prometeo's BLAS/LAPACK API can be found:

LEVEL 1 BLAS

LEVEL 2 BLAS

  • General matrix-vector multiplication (GEMV)


z ← β ⋅ y + α ⋅ op(A)x

pmt_gemv(A[.T], x, [y], z, [alpha=1.0], [beta=0.0])
  • Solve linear system with (lower or upper) triangular matrix coefficient (TRSV)


op(A) x = b

pmt_trsv(A[.T], b, [lower=True])
  • Matrix-vector multiplication with (lower or upper) triangular matrix coefficient (TRMV)


z ← op(A) x

pmt_trmv(A[.T], x, z, [lower=True])

LEVEL 3 BLAS

  • General matrix-matrix multiplication (GEMM)


D ← β ⋅ C + α ⋅ op(A) op(B)

pmt_gemm(A[.T], B[.T], [C], D, [alpha=1.0], [beta=0.0])
  • Symmetric rank k update (SYRK)


D ← β ⋅ C + α ⋅ op(A) op(B)

with C and D lower triangular.

pmt_syrk(A[.T], B[.T], [C], D, [alpha=1.0], [beta=0.0])
  • Triangular matrix-matrix multiplication (TRMM)


D ← α ⋅ BA

with B upper triangular or


D ← α ⋅ AB

with A lower triangular.

pmt_trmm(A[.T], B, D, [alpha=1.0], [beta=0.0])

LAPACK

  • Cholesky factorization (POTRF)


C = DD

with D lower triangular and C symmetric and positive definite

pmt_potrf(C, D)
  • LU factorization (GETRF)


C = LPU

pmt_getr(C, D)
  • QR factorization (GEQRF)


C = QR

pmt_geqrf(C, D)