rocblas_zdgmm_strided_batched Interface Reference

rocblas_zdgmm_strided_batched Interface Reference#

HIPFORT API Reference: hipfort_rocblas::rocblas_zdgmm_strided_batched Interface Reference
hipfort_rocblas::rocblas_zdgmm_strided_batched Interface Reference

BLAS Level 3 API. More...

Public Member Functions

integer(kind(rocblas_status_success)) function rocblas_zdgmm_strided_batched_ (handle, side, m, n, A, lda, stride_a, x, incx, stride_x, C, ldc, stride_c, batch_count)
 
integer(kind(rocblas_status_success)) function rocblas_zdgmm_strided_batched_full_rank (handle, side, m, n, A, lda, stride_a, x, incx, stride_x, C, ldc, stride_c, batch_count)
 
integer(kind(rocblas_status_success)) function rocblas_zdgmm_strided_batched_rank_0 (handle, side, m, n, A, lda, stride_a, x, incx, stride_x, C, ldc, stride_c, batch_count)
 
integer(kind(rocblas_status_success)) function rocblas_zdgmm_strided_batched_rank_1 (handle, side, m, n, A, lda, stride_a, x, incx, stride_x, C, ldc, stride_c, batch_count)
 

Detailed Description

BLAS Level 3 API.

dgmm_strided_batched performs one of the batched matrix-matrix operations

C_i = A_i * diag(x_i)   if side == rocblas_side_right   for i = 0, 1, ... batch_count-1
C_i = diag(x_i) * A_i   if side == rocblas_side_left    for i = 0, 1, ... batch_count-1

where C_i and A_i are m by n dimensional matrices. diag(x_i) is a diagonal matrix and x_i is vector of dimension n if side == rocblas_side_right and dimension m if side == rocblas_side_left.

Parameters
[in]handle[rocblas_handle] handle to the rocblas library context queue.
[in]side[rocblas_side] specifies the side of diag(x)
[in]m[rocblas_int] matrix dimension m.
[in]n[rocblas_int] matrix dimension n.
[in]Adevice pointer to the first matrix A_0 on the GPU. Each A_i is of dimension ( lda, n )
[in]lda[rocblas_int] specifies the leading dimension of A.
[in]stride_A[rocblas_stride] stride from the start of one matrix (A_i) and the next one (A_i+1)
[in]xpointer to the first vector x_0 on the GPU. Each x_i is of dimension n if side == rocblas_side_right and dimension m if side == rocblas_side_left
[in]incx[rocblas_int] specifies the increment between values of x
[in]stride_x[rocblas_stride] stride from the start of one vector(x_i) and the next one (x_i+1)
[in,out]Cdevice pointer to the first matrix C_0 on the GPU. Each C_i is of dimension ( ldc, n ).
[in]ldc[rocblas_int] specifies the leading dimension of C.
[in]stride_C[rocblas_stride] stride from the start of one matrix (C_i) and the next one (C_i+1)
[in]batch_count[rocblas_int] number of instances i in the batch.

Member Function/Subroutine Documentation

◆ rocblas_zdgmm_strided_batched_()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zdgmm_strided_batched::rocblas_zdgmm_strided_batched_ ( type(c_ptr), value  handle,
integer(kind(rocblas_side_left)), value  side,
integer(c_int), value  m,
integer(c_int), value  n,
type(c_ptr), value  A,
integer(c_int), value  lda,
integer(c_int64_t), value  stride_a,
type(c_ptr), value  x,
integer(c_int), value  incx,
integer(c_int64_t), value  stride_x,
type(c_ptr), value  C,
integer(c_int), value  ldc,
integer(c_int64_t), value  stride_c,
integer(c_int), value  batch_count 
)

◆ rocblas_zdgmm_strided_batched_full_rank()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zdgmm_strided_batched::rocblas_zdgmm_strided_batched_full_rank ( type(c_ptr)  handle,
integer(kind(rocblas_side_left))  side,
integer(c_int)  m,
integer(c_int)  n,
complex(c_double_complex), dimension(:,:), target  A,
integer(c_int)  lda,
integer(c_int64_t)  stride_a,
complex(c_double_complex), dimension(:), target  x,
integer(c_int)  incx,
integer(c_int64_t)  stride_x,
complex(c_double_complex), dimension(:,:), target  C,
integer(c_int)  ldc,
integer(c_int64_t)  stride_c,
integer(c_int)  batch_count 
)

◆ rocblas_zdgmm_strided_batched_rank_0()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zdgmm_strided_batched::rocblas_zdgmm_strided_batched_rank_0 ( type(c_ptr)  handle,
integer(kind(rocblas_side_left))  side,
integer(c_int)  m,
integer(c_int)  n,
complex(c_double_complex), target  A,
integer(c_int)  lda,
integer(c_int64_t)  stride_a,
complex(c_double_complex), target  x,
integer(c_int)  incx,
integer(c_int64_t)  stride_x,
complex(c_double_complex), target  C,
integer(c_int)  ldc,
integer(c_int64_t)  stride_c,
integer(c_int)  batch_count 
)

◆ rocblas_zdgmm_strided_batched_rank_1()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zdgmm_strided_batched::rocblas_zdgmm_strided_batched_rank_1 ( type(c_ptr)  handle,
integer(kind(rocblas_side_left))  side,
integer(c_int)  m,
integer(c_int)  n,
complex(c_double_complex), dimension(:), target  A,
integer(c_int)  lda,
integer(c_int64_t)  stride_a,
complex(c_double_complex), dimension(:), target  x,
integer(c_int)  incx,
integer(c_int64_t)  stride_x,
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: