rocblas_sgemm_strided_batched Interface Reference

rocblas_sgemm_strided_batched Interface Reference#

HIPFORT API Reference: hipfort_rocblas::rocblas_sgemm_strided_batched Interface Reference
hipfort_rocblas::rocblas_sgemm_strided_batched Interface Reference

BLAS Level 3 API. More...

Public Member Functions

integer(kind(rocblas_status_success)) function rocblas_sgemm_strided_batched_ (handle, transa, transb, m, n, k, alpha, a, lda, stride_a, b, ldb, stride_b, beta, c, ldc, stride_c, batch_count)
 
integer(kind(rocblas_status_success)) function rocblas_sgemm_strided_batched_rank_0 (handle, transa, transb, m, n, k, alpha, a, lda, stride_a, b, ldb, stride_b, beta, c, ldc, stride_c, batch_count)
 
integer(kind(rocblas_status_success)) function rocblas_sgemm_strided_batched_rank_1 (handle, transa, transb, m, n, k, alpha, a, lda, stride_a, b, ldb, stride_b, beta, c, ldc, stride_c, batch_count)
 
integer(kind(rocblas_status_success)) function rocblas_sgemm_strided_batched_full_rank (handle, transa, transb, m, n, k, alpha, a, lda, stride_a, b, ldb, stride_b, beta, c, ldc, stride_c, batch_count)
 

Detailed Description

BLAS Level 3 API.

The gemm_strided_batched functions perform one of the strided batched matrix-matrix operations:

C_i = alpha*op( A_i )*op( B_i ) + beta*C_i, for i = 1, ..., batch_count,

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 strided batched matrices, with op( A ) an m by k by batch_count strided_batched matrix, op( B ) a k by n by batch_count strided_batched matrix, and C an m by n by batch_count strided_batched 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] matrix dimention m.
[in]n- [rocblas_int] matrix dimention n.
[in]k- [rocblas_int] matrix dimention k.
[in]alpha- device pointer or host pointer specifying the scalar alpha.
[in]A- device pointer pointing to the first matrix A_1.
[in]lda- [rocblas_int] specifies the leading dimension of each A_i.
[in]stride_a- [rocblas_stride] stride from the start of one A_i matrix to the next A_(i + 1).
[in]B- device pointer pointing to the first matrix B_1.
[in]ldb- [rocblas_int] specifies the leading dimension of each B_i.
[in]stride_b- [rocblas_stride] stride from the start of one B_i matrix to the next B_(i + 1).
[in]beta- device pointer or host pointer specifying the scalar beta.
[in,out]C- device pointer pointing to the first matrix C_1.
[in]ldc- [rocblas_int] specifies the leading dimension of each C_i.
[in]stride_c- [rocblas_stride] stride from the start of one C_i matrix to the next C_(i + 1).
[in]batch_count[rocblas_int] number of gemm operatons in the batch.

Member Function/Subroutine Documentation

◆ rocblas_sgemm_strided_batched_()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_sgemm_strided_batched::rocblas_sgemm_strided_batched_ ( 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,
integer(c_int64_t), value  stride_a,
type(c_ptr), value  b,
integer(c_int), value  ldb,
integer(c_int64_t), value  stride_b,
real(c_float)  beta,
type(c_ptr), value  c,
integer(c_int), value  ldc,
integer(c_int64_t), value  stride_c,
integer(c_int), value  batch_count 
)

◆ rocblas_sgemm_strided_batched_full_rank()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_sgemm_strided_batched::rocblas_sgemm_strided_batched_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,
integer(c_int64_t)  stride_a,
real(c_float), dimension(:,:), target  b,
integer(c_int)  ldb,
integer(c_int64_t)  stride_b,
real(c_float)  beta,
real(c_float), dimension(:,:), target  c,
integer(c_int)  ldc,
integer(c_int64_t)  stride_c,
integer(c_int)  batch_count 
)

◆ rocblas_sgemm_strided_batched_rank_0()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_sgemm_strided_batched::rocblas_sgemm_strided_batched_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,
integer(c_int64_t)  stride_a,
real(c_float), target  b,
integer(c_int)  ldb,
integer(c_int64_t)  stride_b,
real(c_float)  beta,
real(c_float), target  c,
integer(c_int)  ldc,
integer(c_int64_t)  stride_c,
integer(c_int)  batch_count 
)

◆ rocblas_sgemm_strided_batched_rank_1()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_sgemm_strided_batched::rocblas_sgemm_strided_batched_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,
integer(c_int64_t)  stride_a,
real(c_float), dimension(:), target  b,
integer(c_int)  ldb,
integer(c_int64_t)  stride_b,
real(c_float)  beta,
real(c_float), dimension(:), target  c,
integer(c_int)  ldc,
integer(c_int64_t)  stride_c,
integer(c_int)  batch_count 
)

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