rocblas_zgemm_strided_batched Interface Reference

rocblas_zgemm_strided_batched Interface Reference#

HIPFORT API Reference: hipfort_rocblas::rocblas_zgemm_strided_batched Interface Reference
hipfort_rocblas::rocblas_zgemm_strided_batched Interface Reference

BLAS Level 3 API. More...

Public Member Functions

integer(kind(rocblas_status_success)) function rocblas_zgemm_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_zgemm_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)
 
integer(kind(rocblas_status_success)) function rocblas_zgemm_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_zgemm_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)
 

Detailed Description

BLAS Level 3 API.

gemm_strided_batched performs 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 ) an 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]alphadevice pointer or host pointer specifying the scalar alpha.
[in]Adevice 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]Bdevice 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]betadevice pointer or host pointer specifying the scalar beta.
[in,out]Cdevice 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_zgemm_strided_batched_()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zgemm_strided_batched::rocblas_zgemm_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,
complex(c_double_complex)  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,
complex(c_double_complex)  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_zgemm_strided_batched_full_rank()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zgemm_strided_batched::rocblas_zgemm_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,
complex(c_double_complex)  alpha,
complex(c_double_complex), dimension(:,:), target  A,
integer(c_int)  lda,
integer(c_int64_t)  stride_a,
complex(c_double_complex), dimension(:,:), target  B,
integer(c_int)  ldb,
integer(c_int64_t)  stride_b,
complex(c_double_complex)  beta,
complex(c_double_complex), dimension(:,:), target  C,
integer(c_int)  ldc,
integer(c_int64_t)  stride_c,
integer(c_int)  batch_count 
)

◆ rocblas_zgemm_strided_batched_rank_0()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zgemm_strided_batched::rocblas_zgemm_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,
complex(c_double_complex)  alpha,
complex(c_double_complex), target  A,
integer(c_int)  lda,
integer(c_int64_t)  stride_a,
complex(c_double_complex), target  B,
integer(c_int)  ldb,
integer(c_int64_t)  stride_b,
complex(c_double_complex)  beta,
complex(c_double_complex), target  C,
integer(c_int)  ldc,
integer(c_int64_t)  stride_c,
integer(c_int)  batch_count 
)

◆ rocblas_zgemm_strided_batched_rank_1()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zgemm_strided_batched::rocblas_zgemm_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,
complex(c_double_complex)  alpha,
complex(c_double_complex), dimension(:), target  A,
integer(c_int)  lda,
integer(c_int64_t)  stride_a,
complex(c_double_complex), dimension(:), target  B,
integer(c_int)  ldb,
integer(c_int64_t)  stride_b,
complex(c_double_complex)  beta,
complex(c_double_complex), 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: