rocblas_ztrmm_batched Interface Reference

rocblas_ztrmm_batched Interface Reference#

HIPFORT API Reference: hipfort_rocblas::rocblas_ztrmm_batched Interface Reference
hipfort_rocblas::rocblas_ztrmm_batched Interface Reference

! More...

Public Member Functions

integer(kind(rocblas_status_success)) function rocblas_ztrmm_batched_ (handle, side, uplo, transa, diag, m, n, alpha, a, lda, c, ldc, batch_count)
 

Detailed Description

!

BLAS Level 3 API

\details

trmm_batched performs one of the batched matrix-matrix operations

B_i := alphaop( A_i )B_i,   or   B_i := alphaB_iop( A_i )  for i = 0, 1, ... batch_count -1

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

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

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

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

@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_i) to be used in the matrix multiplication as follows:
        rocblas_operation_none:    op(A_i) = A_i.
        rocblas_operation_transpose:      op(A_i) = A_i^T.
        rocblas_operation_conjugate_transpose:  op(A_i) = A_i^H.

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

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

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

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

@param[in]
A       Device array of device pointers storing each matrix A_i on the GPU.
        Each A_i is of 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_i  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 array of device pointers storing each matrix B_i on the GPU.
        On entry,  the leading  m by n part of the array  B_i must
       contain the matrix  B_i,  and  on exit  is overwritten  by the
       transformed matrix.

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

@param[in]
batch_count [rocblas_int]
            number of instances i in the batch.

Member Function/Subroutine Documentation

◆ rocblas_ztrmm_batched_()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_ztrmm_batched::rocblas_ztrmm_batched_ ( 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)  a,
integer(c_int), value  lda,
type(c_ptr)  c,
integer(c_int), value  ldc,
integer(c_int), value  batch_count 
)

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