This page contains proposed changes for a future release of ROCm. Read the latest Linux release of ROCm documentation for your production environments.

rocblas_zgemm Interface Reference

rocblas_zgemm Interface Reference#

HIPFORT API Reference: hipfort_rocblas::rocblas_zgemm Interface Reference
hipfort_rocblas::rocblas_zgemm Interface Reference

BLAS Level 3 API. More...

Public Member Functions

integer(kind(rocblas_status_success)) function rocblas_zgemm_ (handle, transA, transB, m, n, k, alpha, A, lda, B, ldb, beta, C, ldc)
 
integer(kind(rocblas_status_success)) function rocblas_zgemm_full_rank (handle, transA, transB, m, n, k, alpha, A, lda, B, ldb, beta, C, ldc)
 
integer(kind(rocblas_status_success)) function rocblas_zgemm_rank_0 (handle, transA, transB, m, n, k, alpha, A, lda, B, ldb, beta, C, ldc)
 
integer(kind(rocblas_status_success)) function rocblas_zgemm_rank_1 (handle, transA, transB, m, n, k, alpha, A, lda, B, ldb, beta, C, ldc)
 

Detailed Description

BLAS Level 3 API.

gemm performs one of the matrix-matrix operations

C = alpha*op( A )*op( B ) + beta*C,

where op( X ) is one of

op( X ) = X      or
op( X ) = X**T   or
op( X ) = X**H,

alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.

Parameters
[in]handle[rocblas_handle] handle to the rocblas library context queue.
[in]transA[rocblas_operation] specifies the form of op( A )
[in]transB[rocblas_operation] specifies the form of op( B )
[in]m[rocblas_int] number or rows of matrices op( A ) and C
[in]n[rocblas_int] number of columns of matrices op( B ) and C
[in]k[rocblas_int] number of columns of matrix op( A ) and number of rows of matrix op( B )
[in]alphadevice pointer or host pointer specifying the scalar alpha.
[in]Adevice pointer storing matrix A.
[in]lda[rocblas_int] specifies the leading dimension of A.
[in]Bdevice pointer storing matrix B.
[in]ldb[rocblas_int] specifies the leading dimension of B.
[in]betadevice pointer or host pointer specifying the scalar beta.
[in,out]Cdevice pointer storing matrix C on the GPU.
[in]ldc[rocblas_int] specifies the leading dimension of C.

Member Function/Subroutine Documentation

◆ rocblas_zgemm_()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zgemm::rocblas_zgemm_ ( type(c_ptr), value  handle,
integer(kind(rocblas_operation_none)), value  transA,
integer(kind(rocblas_operation_none)), value  transB,
integer(c_int), value  m,
integer(c_int), value  n,
integer(c_int), value  k,
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,
complex(c_double_complex)  beta,
type(c_ptr), value  C,
integer(c_int), value  ldc 
)

◆ rocblas_zgemm_full_rank()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zgemm::rocblas_zgemm_full_rank ( type(c_ptr)  handle,
integer(kind(rocblas_operation_none))  transA,
integer(kind(rocblas_operation_none))  transB,
integer(c_int)  m,
integer(c_int)  n,
integer(c_int)  k,
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,
complex(c_double_complex)  beta,
complex(c_double_complex), dimension(:,:), target  C,
integer(c_int)  ldc 
)

◆ rocblas_zgemm_rank_0()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zgemm::rocblas_zgemm_rank_0 ( type(c_ptr)  handle,
integer(kind(rocblas_operation_none))  transA,
integer(kind(rocblas_operation_none))  transB,
integer(c_int)  m,
integer(c_int)  n,
integer(c_int)  k,
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,
complex(c_double_complex)  beta,
complex(c_double_complex), target  C,
integer(c_int)  ldc 
)

◆ rocblas_zgemm_rank_1()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zgemm::rocblas_zgemm_rank_1 ( type(c_ptr)  handle,
integer(kind(rocblas_operation_none))  transA,
integer(kind(rocblas_operation_none))  transB,
integer(c_int)  m,
integer(c_int)  n,
integer(c_int)  k,
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,
complex(c_double_complex)  beta,
complex(c_double_complex), dimension(:), target  C,
integer(c_int)  ldc 
)

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