hipblasgemmbatchedex Interface Reference

hipblasgemmbatchedex Interface Reference#

HIPFORT API Reference: hipfort_hipblas::hipblasgemmbatchedex Interface Reference
hipfort_hipblas::hipblasgemmbatchedex Interface Reference

BLAS EX API. More...

Public Member Functions

integer(kind(hipblas_status_success)) function hipblasgemmbatchedex_ (handle, transa, transb, m, n, k, alpha, a, atype, lda, b, btype, ldb, beta, c, ctype, ldc, batchcount, computetype, algo)
 

Detailed Description

BLAS EX API.

The gemmBatchedEx functions perform one of the 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 batched pointers to matrices, with op( A ) an m by k by batchCount batched matrix, op( B ) a k by n by batchCount batched matrix, and C an m by n by batchCount batched matrix. The batched matrices are an array of pointers to matrices. The number of pointers to matrices is batchCount.

  • Supported types are determined by the backend. See the rocBLAS or cuBLAS documentation.

hipblasGemmBatchedExWithFlags is also available. This is identical to hipblasGemmBatchedEx with the addition of a flags parameter which controls the flags used in Tensile to control gemm algorithms with the rocBLAS backend. When using a cuBLAS backend, this parameter is ignored.

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 dimension m.
[in]n- [int] matrix dimension n.
[in]k- [int] matrix dimension k.
[in]alpha- [const void *] device pointer or host pointer specifying the scalar alpha. Same datatype as computeType.
[in]A- [void *] device pointer storing array of pointers to each matrix A_i.
[in]aType[hipDataType] specifies the datatype of each matrix A_i.
[in]lda- [int] specifies the leading dimension of each A_i.
[in]B- [void *] device pointer storing array of pointers to each matrix B_i.
[in]bType[hipDataType] specifies the datatype of each matrix B_i.
[in]ldb- [int] specifies the leading dimension of each B_i.
[in]beta- [const void *] device pointer or host pointer specifying the scalar beta. Same datatype as computeType.
[in]C- [void *] device array of device pointers to each matrix C_i.
[in]cType[hipDataType] specifies the datatype of each matrix C_i.
[in]ldc- [int] specifies the leading dimension of each C_i.
[in]batchCount[int] number of gemm operations in the batch.
[in]computeType[hipblasComputeType_t] specifies the datatype of computation.
[in]algo- [hipblasGemmAlgo_t] enumerant specifying the algorithm type.

Member Function/Subroutine Documentation

◆ hipblasgemmbatchedex_()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblasgemmbatchedex::hipblasgemmbatchedex_ ( 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,
type(c_ptr), value  alpha,
type(c_ptr), value  a,
integer(kind(hip_r_32f)), value  atype,
integer(c_int), value  lda,
type(c_ptr), value  b,
integer(kind(hip_r_32f)), value  btype,
integer(c_int), value  ldb,
type(c_ptr), value  beta,
type(c_ptr), value  c,
integer(kind(hip_r_32f)), value  ctype,
integer(c_int), value  ldc,
integer(c_int), value  batchcount,
integer(kind(hipblas_compute_16f)), value  computetype,
integer(kind(hipblas_gemm_default)), value  algo 
)

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