rocblas_ztrmm Interface Reference

rocblas_ztrmm Interface Reference#

HIPFORT API Reference: hipfort_rocblas::rocblas_ztrmm Interface Reference
hipfort_rocblas::rocblas_ztrmm Interface Reference

! More...

Public Member Functions

integer(kind(rocblas_status_success)) function rocblas_ztrmm_ (handle, side, uplo, transA, diag, m, n, alpha, A, lda, B, ldb)
 
integer(kind(rocblas_status_success)) function rocblas_ztrmm_full_rank (handle, side, uplo, transA, diag, m, n, alpha, A, lda, B, ldb)
 
integer(kind(rocblas_status_success)) function rocblas_ztrmm_rank_0 (handle, side, uplo, transA, diag, m, n, alpha, A, lda, B, ldb)
 
integer(kind(rocblas_status_success)) function rocblas_ztrmm_rank_1 (handle, side, uplo, transA, diag, m, n, alpha, A, lda, B, ldb)
 

Detailed Description

!

BLAS Level 3 API

\details

trmm performs one of the matrix-matrix operations

B := alphaop( A )B,   or   B := alphaBop( A )

where  alpha  is a scalar,  B  is an m by n matrix,  A  is a unit, or
non-unit,  upper or lower triangular matrix  and  op( A )  is one  of

    op( A ) = A   or   op( A ) = A^T   or   op( A ) = A^H.

@param[in]
handle    [rocblas_handle]
          handle to the rocblas library context queue.

@param[in]
side    [rocblas_side]
        Specifies whether op(A) multiplies B from the left or right as follows:
        rocblas_side_left:       B := alphaop( A )B.
        rocblas_side_right:      B := alphaBop( A ).

@param[in]
uplo    [rocblas_fill]
        Specifies whether the matrix A is an uppoer or lower triangular matrix as follows:
        rocblas_fill_upper:  A is an upper triangular matrix.
        rocblas_fill_lower:  A is a  lower triangular matrix.

@param[in]
transA  [rocblas_operation]
        Specifies the form of op(A) to be used in the matrix multiplication as follows:
        rocblas_operation_none:    op(A) = A.
        rocblas_operation_transpose:      op(A) = A^T.
        rocblas_operation_conjugate_transpose:  op(A) = A^H.

@param[in]
diag    [rocblas_diagonal]
        Specifies whether or not A is unit triangular as follows:
        rocblas_diagonal_unit:      A is assumed to be unit triangular.
        rocblas_diagonal_non_unit:  A is not assumed to be unit triangular.

@param[in]
m       [rocblas_int]
        m specifies the number of rows of B. m >= 0.

@param[in]
n       [rocblas_int]
        n specifies the number of columns of B. n >= 0.

@param[in]
alpha
        alpha specifies the scalar alpha. When alpha is
        zero then A is not referenced and B need not be set before
        entry.

@param[in]
A       Device pointer to matrix A on the GPU.
        A has dimension ( lda, k ), where k is m
        when  side == rocblas_side_left  and
        is  n  when  side == rocblas_side_right.

    When uplo == rocblas_fill_upper the  leading  k by k
    upper triangular part of the array  A must contain the upper
    triangular matrix  and the strictly lower triangular part of
    A is not referenced.

    When uplo == rocblas_fill_lower the  leading  k by k
    lower triangular part of the array  A must contain the lower
    triangular matrix  and the strictly upper triangular part of
    A is not referenced.

    Note that when  diag == rocblas_diagonal_unit  the diagonal elements of
    A  are not referenced either,  but are assumed to be  unity.

@param[in]
lda     [rocblas_int]
        lda specifies the first dimension of A.
        if side == rocblas_side_left,  lda >= max( 1, m ),
        if side == rocblas_side_right, lda >= max( 1, n ).

@param[in]
B       Device pointer to the first matrix B_0 on the GPU.
        On entry,  the leading  m by n part of the array  B must
       contain the matrix  B,  and  on exit  is overwritten  by the
       transformed matrix.

@param[in]
ldb    [rocblas_int]
       ldb specifies the first dimension of B. ldb >= max( 1, m ).

Member Function/Subroutine Documentation

◆ rocblas_ztrmm_()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_ztrmm::rocblas_ztrmm_ ( type(c_ptr), value  handle,
integer(kind(rocblas_side_left)), value  side,
integer(kind(rocblas_fill_upper)), value  uplo,
integer(kind(rocblas_operation_none)), value  transA,
integer(kind(rocblas_diagonal_non_unit)), value  diag,
integer(c_int), value  m,
integer(c_int), value  n,
complex(c_double_complex)  alpha,
type(c_ptr), value  A,
integer(c_int), value  lda,
type(c_ptr), value  B,
integer(c_int), value  ldb 
)

◆ rocblas_ztrmm_full_rank()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_ztrmm::rocblas_ztrmm_full_rank ( type(c_ptr)  handle,
integer(kind(rocblas_side_left))  side,
integer(kind(rocblas_fill_upper))  uplo,
integer(kind(rocblas_operation_none))  transA,
integer(kind(rocblas_diagonal_non_unit))  diag,
integer(c_int)  m,
integer(c_int)  n,
complex(c_double_complex)  alpha,
complex(c_double_complex), dimension(:,:), target  A,
integer(c_int)  lda,
complex(c_double_complex), dimension(:,:), target  B,
integer(c_int)  ldb 
)

◆ rocblas_ztrmm_rank_0()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_ztrmm::rocblas_ztrmm_rank_0 ( type(c_ptr)  handle,
integer(kind(rocblas_side_left))  side,
integer(kind(rocblas_fill_upper))  uplo,
integer(kind(rocblas_operation_none))  transA,
integer(kind(rocblas_diagonal_non_unit))  diag,
integer(c_int)  m,
integer(c_int)  n,
complex(c_double_complex)  alpha,
complex(c_double_complex), target  A,
integer(c_int)  lda,
complex(c_double_complex), target  B,
integer(c_int)  ldb 
)

◆ rocblas_ztrmm_rank_1()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_ztrmm::rocblas_ztrmm_rank_1 ( type(c_ptr)  handle,
integer(kind(rocblas_side_left))  side,
integer(kind(rocblas_fill_upper))  uplo,
integer(kind(rocblas_operation_none))  transA,
integer(kind(rocblas_diagonal_non_unit))  diag,
integer(c_int)  m,
integer(c_int)  n,
complex(c_double_complex)  alpha,
complex(c_double_complex), dimension(:), target  A,
integer(c_int)  lda,
complex(c_double_complex), dimension(:), target  B,
integer(c_int)  ldb 
)

The documentation for this interface was generated from the following file: