hipblasgemmstridedbatchedex Interface Reference

hipblasgemmstridedbatchedex Interface Reference#

HIPFORT API Reference: hipfort_hipblas::hipblasgemmstridedbatchedex Interface Reference
hipfort_hipblas::hipblasgemmstridedbatchedex Interface Reference

BLAS EX API. More...

Public Member Functions

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

Detailed Description

BLAS EX API.

The gemmStridedBatchedEx functions perform 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 ) a k by n by batchCount strided_batched matrix, and C an m by n by batchCount strided_batched matrix.

The strided_batched matrices are multiple matrices separated by a constant stride. The number of matrices is batchCount.

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

hipblasGemmStridedBatchedExWithFlags is also available. This is identical to hipblasStridedBatchedGemmEx 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 pointing to first matrix A_1.
[in]aType[hipDataType] specifies the datatype of each matrix A_i.
[in]lda- [int] specifies the leading dimension of each A_i.
[in]strideA- [hipblasStride] specifies stride from start of one A_i matrix to the next A_(i + 1).
[in]B- [void *] device pointer pointing to first matrix B_1.
[in]bType[hipDataType] specifies the datatype of each matrix B_i.
[in]ldb- [int] specifies the leading dimension of each B_i.
[in]strideB- [hipblasStride] specifies stride from start of one B_i matrix to the next B_(i + 1).
[in]beta- [const void *] device pointer or host pointer specifying the scalar beta. Same datatype as computeType.
[in]C- [void *] device pointer pointing to first matrix C_1.
[in]cType[hipDataType] specifies the datatype of each matrix C_i.
[in]ldc- [int] specifies the leading dimension of each C_i.
[in]strideC- [hipblasStride] specifies stride from start of one C_i matrix to the next C_(i + 1).
[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

◆ hipblasgemmstridedbatchedex_()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblasgemmstridedbatchedex::hipblasgemmstridedbatchedex_ ( 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,
integer(c_int64_t), value  stridea,
type(c_ptr), value  b,
integer(kind(hip_r_32f)), value  btype,
integer(c_int), value  ldb,
integer(c_int64_t), value  strideb,
type(c_ptr), value  beta,
type(c_ptr), value  c,
integer(kind(hip_r_32f)), value  ctype,
integer(c_int), value  ldc,
integer(c_int64_t), value  stridec,
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: