hipblasgemmgroupedbatchedex Interface Reference

hipblasgemmgroupedbatchedex Interface Reference#

hipFORT API Reference: hipfort_hipblas::hipblasgemmgroupedbatchedex Interface Reference
hipfort_hipblas::hipblasgemmgroupedbatchedex Interface Reference

BLAS EX API. More...

Public Member Functions

integer(c_int) function hipblasgemmgroupedbatchedex_ (handle, transa_array, transb_array, m_array, n_array, k_array, alpha_array, aarray, atype, lda_array, barray, btype, ldb_array, beta_array, carray, ctype, ldc_array, darray, dtype, ldd_array, group_count, group_size, computetype, algo)
 

Detailed Description

BLAS EX API.

The gemmGroupedBatchedEx functions perform grouped batched matrix-matrix operations with mixed precision types. There are group_count groups. Within group i, all problems share the same transA, transB, m, n, k, lda, ldb, ldc, ldd, alpha, and beta. Each group i contains group_size[i] problems.

For each problem j in group i:

D_j = alpha_i*op( A_j )*op( B_j ) + beta_i*C_j,

Supported types are as follows:

  • HIP_R_32F = aType = bType = cType = dType = computeType
  • HIP_R_64F = aType = bType = cType = dType = computeType
  • HIP_R_16F = aType = bType = cType = dType = computeType
  • HIP_R_16F = aType = bType = cType = dType; HIPBLAS_COMPUTE_32F = computeType
  • HIP_R_16F = aType = bType; HIP_R_32F = cType = dType = computeType
  • HIP_R_16BF = aType = bType = cType = dType; HIPBLAS_COMPUTE_32F = computeType
  • HIP_R_16BF = aType = bType; HIP_R_32F = cType = dType = computeType
  • HIP_R_8I = aType = bType; HIP_R_32I = cType = dType = computeType
  • HIP_C_32F = aType = bType = cType = dType = computeType
  • HIP_C_64F = aType = bType = cType = dType = computeType

hipblasGemmGroupedBatchedExWithFlags is also available. This is identical to hipblasGemmGroupedBatchedEx 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 function is not supported.

Parameters
[in]handle- [hipblasHandle_t] handle to the hipBLAS library context queue.
[in]transA_array- [const hipblasOperation_t*] host array of length group_count.
[in]transB_array- [const hipblasOperation_t*] host array of length group_count.
[in]m_array- [const int*] host array of length group_count.
[in]n_array- [const int*] host array of length group_count.
[in]k_array- [const int*] host array of length group_count.
[in]alpha_array- device pointer or host pointer to an array of length group_count.
[in]Aarray- device array of device pointers storing each matrix A_j.
[in]aType- [hipDataType] datatype of each matrix A_j.
[in]lda_array- [const int*] host array of length group_count.
[in]Barray- device array of device pointers storing each matrix B_j.
[in]bType- [hipDataType] datatype of each matrix B_j.
[in]ldb_array- [const int*] host array of length group_count.
[in]beta_array- device pointer or host pointer to an array of length group_count.
[in]Carray- device array of device pointers storing each matrix C_j.
[in]cType- [hipDataType] datatype of each matrix C_j.
[in]ldc_array- [const int*] host array of length group_count.
[in,out]Darray- device array of device pointers storing each matrix D_j.
[in]dType- [hipDataType] datatype of each matrix D_j.
[in]ldd_array- [const int*] host array of length group_count.
[in]group_count- [int] number of groups.
[in]group_size- [const int*] host array of length group_count.
[in]computeType- [hipblasComputeType_t] datatype of computation.
[in]algo- [hipblasGemmAlgo_t] enumerant specifying the algorithm type.

Member Function/Subroutine Documentation

◆ hipblasgemmgroupedbatchedex_()

integer(c_int) function hipfort_hipblas::hipblasgemmgroupedbatchedex::hipblasgemmgroupedbatchedex_ ( type(c_ptr), value  handle,
type(c_ptr), value  transa_array,
type(c_ptr), value  transb_array,
type(c_ptr), value  m_array,
type(c_ptr), value  n_array,
type(c_ptr), value  k_array,
type(c_ptr), value  alpha_array,
type(c_ptr), value  aarray,
integer(c_int), value  atype,
type(c_ptr), value  lda_array,
type(c_ptr), value  barray,
integer(c_int), value  btype,
type(c_ptr), value  ldb_array,
type(c_ptr), value  beta_array,
type(c_ptr), value  carray,
integer(c_int), value  ctype,
type(c_ptr), value  ldc_array,
type(c_ptr), value  darray,
integer(c_int), value  dtype,
type(c_ptr), value  ldd_array,
integer(c_int), value  group_count,
type(c_ptr), value  group_size,
integer(c_int), value  computetype,
integer(c_int), value  algo 
)

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