# 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] 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

## ◆ 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: