rocblas_zgemv_strided_batched Interface Reference

rocblas_zgemv_strided_batched Interface Reference#

HIPFORT API Reference: hipfort_rocblas::rocblas_zgemv_strided_batched Interface Reference
hipfort_rocblas::rocblas_zgemv_strided_batched Interface Reference

BLAS Level 2 API. More...

Public Member Functions

integer(kind(rocblas_status_success)) function rocblas_zgemv_strided_batched_ (handle, transA, m, n, alpha, A, lda, strideA, x, incx, stridex, beta, y, incy, stridey, batch_count)
 
integer(kind(rocblas_status_success)) function rocblas_zgemv_strided_batched_full_rank (handle, transA, m, n, alpha, A, lda, strideA, x, incx, stridex, beta, y, incy, stridey, batch_count)
 
integer(kind(rocblas_status_success)) function rocblas_zgemv_strided_batched_rank_0 (handle, transA, m, n, alpha, A, lda, strideA, x, incx, stridex, beta, y, incy, stridey, batch_count)
 
integer(kind(rocblas_status_success)) function rocblas_zgemv_strided_batched_rank_1 (handle, transA, m, n, alpha, A, lda, strideA, x, incx, stridex, beta, y, incy, stridey, batch_count)
 

Detailed Description

BLAS Level 2 API.

gemv_strided_batched performs a batch of matrix-vector operations

y_i := alpha*A_i*x_i    + beta*y_i,   or
y_i := alpha*A_i**T*x_i + beta*y_i,   or
y_i := alpha*A_i**H*x_i + beta*y_i,

where (A_i, x_i, y_i) is the i-th instance of the batch. alpha and beta are scalars, x_i and y_i are vectors and A_i is an m by n matrix, for i = 1, ..., batch_count.

Parameters
[in]handle[rocblas_handle] handle to the rocblas library context queue.
[in]transA[rocblas_operation] indicates whether matrices A_i are tranposed (conjugated) or not
[in]m[rocblas_int] number of rows of matrices A_i
[in]n[rocblas_int] number of columns of matrices A_i
[in]alphadevice pointer or host pointer to scalar alpha.
[in]Adevice pointer to the first matrix (A_1) in the batch.
[in]lda[rocblas_int] specifies the leading dimension of matrices A_i.
[in]strideA[rocblas_stride] stride from the start of one matrix (A_i) and the next one (A_i+1)
[in]xdevice pointer to the first vector (x_1) in the batch.
[in]incx[rocblas_int] specifies the increment for the elements of vectors x_i.
[in]stridex[rocblas_stride] stride from the start of one vector (x_i) and the next one (x_i+1). There are no restrictions placed on stride_x, however the user should take care to ensure that stride_x is of appropriate size. When trans equals rocblas_operation_none this typically means stride_x >= n * incx, otherwise stride_x >= m * incx.
[in]betadevice pointer or host pointer to scalar beta.
[in,out]ydevice pointer to the first vector (y_1) in the batch.
[in]incy[rocblas_int] specifies the increment for the elements of vectors y_i.
[in]stridey[rocblas_stride] stride from the start of one vector (y_i) and the next one (y_i+1). There are no restrictions placed on stride_y, however the user should take care to ensure that stride_y is of appropriate size. When trans equals rocblas_operation_none this typically means stride_y >= m * incy, otherwise stride_y >= n * incy. stridey should be non zero.
[in]batch_count[rocblas_int] number of instances in the batch

Member Function/Subroutine Documentation

◆ rocblas_zgemv_strided_batched_()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zgemv_strided_batched::rocblas_zgemv_strided_batched_ ( type(c_ptr), value  handle,
integer(kind(rocblas_operation_none)), value  transA,
integer(c_int), value  m,
integer(c_int), value  n,
complex(c_double_complex)  alpha,
type(c_ptr), value  A,
integer(c_int), value  lda,
integer(c_int64_t), value  strideA,
type(c_ptr), value  x,
integer(c_int), value  incx,
integer(c_int64_t), value  stridex,
complex(c_double_complex)  beta,
type(c_ptr), value  y,
integer(c_int), value  incy,
integer(c_int64_t), value  stridey,
integer(c_int), value  batch_count 
)

◆ rocblas_zgemv_strided_batched_full_rank()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zgemv_strided_batched::rocblas_zgemv_strided_batched_full_rank ( type(c_ptr)  handle,
integer(kind(rocblas_operation_none))  transA,
integer(c_int)  m,
integer(c_int)  n,
complex(c_double_complex)  alpha,
complex(c_double_complex), dimension(:,:), target  A,
integer(c_int)  lda,
integer(c_int64_t)  strideA,
complex(c_double_complex), dimension(:), target  x,
integer(c_int)  incx,
integer(c_int64_t)  stridex,
complex(c_double_complex)  beta,
complex(c_double_complex), dimension(:), target  y,
integer(c_int)  incy,
integer(c_int64_t)  stridey,
integer(c_int)  batch_count 
)

◆ rocblas_zgemv_strided_batched_rank_0()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zgemv_strided_batched::rocblas_zgemv_strided_batched_rank_0 ( type(c_ptr)  handle,
integer(kind(rocblas_operation_none))  transA,
integer(c_int)  m,
integer(c_int)  n,
complex(c_double_complex)  alpha,
complex(c_double_complex), target  A,
integer(c_int)  lda,
integer(c_int64_t)  strideA,
complex(c_double_complex), target  x,
integer(c_int)  incx,
integer(c_int64_t)  stridex,
complex(c_double_complex)  beta,
complex(c_double_complex), target  y,
integer(c_int)  incy,
integer(c_int64_t)  stridey,
integer(c_int)  batch_count 
)

◆ rocblas_zgemv_strided_batched_rank_1()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zgemv_strided_batched::rocblas_zgemv_strided_batched_rank_1 ( type(c_ptr)  handle,
integer(kind(rocblas_operation_none))  transA,
integer(c_int)  m,
integer(c_int)  n,
complex(c_double_complex)  alpha,
complex(c_double_complex), dimension(:), target  A,
integer(c_int)  lda,
integer(c_int64_t)  strideA,
complex(c_double_complex), dimension(:), target  x,
integer(c_int)  incx,
integer(c_int64_t)  stridex,
complex(c_double_complex)  beta,
complex(c_double_complex), dimension(:), target  y,
integer(c_int)  incy,
integer(c_int64_t)  stridey,
integer(c_int)  batch_count 
)

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