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

hipblaszgemmstridedbatched Interface Reference

hipblaszgemmstridedbatched Interface Reference#

HIPFORT API Reference: hipfort_hipblas::hipblaszgemmstridedbatched Interface Reference
hipfort_hipblas::hipblaszgemmstridedbatched Interface Reference

BLAS Level 3 API. More...

Public Member Functions

integer(kind(hipblas_status_success)) function hipblaszgemmstridedbatched_ (handle, transa, transb, m, n, k, alpha, A, lda, strideA, B, ldb, strideB, beta, C, ldc, strideC, batchCount)
 
integer(kind(hipblas_status_success)) function hipblaszgemmstridedbatched_full_rank (handle, transa, transb, m, n, k, alpha, A, lda, strideA, B, ldb, strideB, beta, C, ldc, strideC, batchCount)
 
integer(kind(hipblas_status_success)) function hipblaszgemmstridedbatched_rank_0 (handle, transa, transb, m, n, k, alpha, A, lda, strideA, B, ldb, strideB, beta, C, ldc, strideC, batchCount)
 
integer(kind(hipblas_status_success)) function hipblaszgemmstridedbatched_rank_1 (handle, transa, transb, m, n, k, alpha, A, lda, strideA, B, ldb, strideB, beta, C, ldc, strideC, batchCount)
 

Detailed Description

BLAS Level 3 API.

gemmStridedBatched performs one of the strided batched matrix-matrix operations

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

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 batchCount strided_batched matrix, op( B ) an k by n by batchCount strided_batched matrix and C an m by n by batchCount strided_batched matrix.

Parameters
[in]handle[hipblasHandle_t] handle to the hipblas library context queue.
[in]transA[hipblasOperation_t] specifies the form of op( A )
[in]transB[hipblasOperation_t] specifies the form of op( B )
[in]m[int] matrix dimention m.
[in]n[int] matrix dimention n.
[in]k[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[int] specifies the leading dimension of each A_i.
[in]strideA[hipblasStride] 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[int] specifies the leading dimension of each B_i.
[in]strideB[hipblasStride] 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[int] specifies the leading dimension of each C_i.
[in]strideC[hipblasStride] stride from the start of one C_i matrix to the next C_(i + 1).
[in]batchCount[int] number of gemm operatons in the batch

Member Function/Subroutine Documentation

◆ hipblaszgemmstridedbatched_()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblaszgemmstridedbatched::hipblaszgemmstridedbatched_ ( type(c_ptr), value  handle,
integer(kind(hipblas_op_n)), value  transa,
integer(kind(hipblas_op_n)), 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_long_long), value  strideA,
type(c_ptr), value  B,
integer(c_int), value  ldb,
integer(c_long_long), value  strideB,
complex(c_double_complex)  beta,
type(c_ptr), value  C,
integer(c_int), value  ldc,
integer(c_long_long), value  strideC,
integer(c_int), value  batchCount 
)

◆ hipblaszgemmstridedbatched_full_rank()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblaszgemmstridedbatched::hipblaszgemmstridedbatched_full_rank ( type(c_ptr)  handle,
integer(kind(hipblas_op_n))  transa,
integer(kind(hipblas_op_n))  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_long_long)  strideA,
complex(c_double_complex), dimension(:,:), target  B,
integer(c_int)  ldb,
integer(c_long_long)  strideB,
complex(c_double_complex)  beta,
complex(c_double_complex), dimension(:,:), target  C,
integer(c_int)  ldc,
integer(c_long_long)  strideC,
integer(c_int)  batchCount 
)

◆ hipblaszgemmstridedbatched_rank_0()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblaszgemmstridedbatched::hipblaszgemmstridedbatched_rank_0 ( type(c_ptr)  handle,
integer(kind(hipblas_op_n))  transa,
integer(kind(hipblas_op_n))  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_long_long)  strideA,
complex(c_double_complex), target  B,
integer(c_int)  ldb,
integer(c_long_long)  strideB,
complex(c_double_complex)  beta,
complex(c_double_complex), target  C,
integer(c_int)  ldc,
integer(c_long_long)  strideC,
integer(c_int)  batchCount 
)

◆ hipblaszgemmstridedbatched_rank_1()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblaszgemmstridedbatched::hipblaszgemmstridedbatched_rank_1 ( type(c_ptr)  handle,
integer(kind(hipblas_op_n))  transa,
integer(kind(hipblas_op_n))  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_long_long)  strideA,
complex(c_double_complex), dimension(:), target  B,
integer(c_int)  ldb,
integer(c_long_long)  strideB,
complex(c_double_complex)  beta,
complex(c_double_complex), dimension(:), target  C,
integer(c_int)  ldc,
integer(c_long_long)  strideC,
integer(c_int)  batchCount 
)

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