rocblas_sgemm Interface Reference

rocblas_sgemm Interface Reference#

HIPFORT API Reference: hipfort_rocblas::rocblas_sgemm Interface Reference
hipfort_rocblas::rocblas_sgemm Interface Reference

BLAS Level 3 API. More...

Public Member Functions

integer(kind(rocblas_status_success)) function rocblas_sgemm_ (handle, transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
 
integer(kind(rocblas_status_success)) function rocblas_sgemm_rank_0 (handle, transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
 
integer(kind(rocblas_status_success)) function rocblas_sgemm_rank_1 (handle, transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
 
integer(kind(rocblas_status_success)) function rocblas_sgemm_full_rank (handle, transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
 

Detailed Description

BLAS Level 3 API.

The gemm functions perform 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.

Although not widespread, some gemm kernels might use atomic operations. See Atomic Operations in the API Reference Guide for more information.

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]alpha- device pointer or host pointer specifying the scalar alpha.
[in]A- device pointer storing matrix A.
[in]lda- [rocblas_int] specifies the leading dimension of A.
[in]B- device pointer storing matrix B.
[in]ldb- [rocblas_int] specifies the leading dimension of B.
[in]beta- device pointer or host pointer specifying the scalar beta.
[in,out]C- device pointer storing matrix C on the GPU.
[in]ldc- [rocblas_int] specifies the leading dimension of C.

Member Function/Subroutine Documentation

◆ rocblas_sgemm_()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_sgemm::rocblas_sgemm_ ( 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,
real(c_float)  alpha,
type(c_ptr), value  a,
integer(c_int), value  lda,
type(c_ptr), value  b,
integer(c_int), value  ldb,
real(c_float)  beta,
type(c_ptr), value  c,
integer(c_int), value  ldc 
)

◆ rocblas_sgemm_full_rank()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_sgemm::rocblas_sgemm_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,
real(c_float)  alpha,
real(c_float), dimension(:,:), target  a,
integer(c_int)  lda,
real(c_float), dimension(:,:), target  b,
integer(c_int)  ldb,
real(c_float)  beta,
real(c_float), dimension(:,:), target  c,
integer(c_int)  ldc 
)

◆ rocblas_sgemm_rank_0()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_sgemm::rocblas_sgemm_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,
real(c_float)  alpha,
real(c_float), target  a,
integer(c_int)  lda,
real(c_float), target  b,
integer(c_int)  ldb,
real(c_float)  beta,
real(c_float), target  c,
integer(c_int)  ldc 
)

◆ rocblas_sgemm_rank_1()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_sgemm::rocblas_sgemm_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,
real(c_float)  alpha,
real(c_float), dimension(:), target  a,
integer(c_int)  lda,
real(c_float), dimension(:), target  b,
integer(c_int)  ldb,
real(c_float)  beta,
real(c_float), dimension(:), target  c,
integer(c_int)  ldc 
)

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