rocblas_zgbmv_batched Interface Reference

rocblas_zgbmv_batched Interface Reference#

HIPFORT API Reference: hipfort_rocblas::rocblas_zgbmv_batched Interface Reference
hipfort_rocblas::rocblas_zgbmv_batched Interface Reference

! More...

Public Member Functions

integer(kind(rocblas_status_success)) function rocblas_zgbmv_batched_ (handle, trans, m, n, kl, ku, alpha, A, lda, x, incx, beta, y, incy, batch_count)
 
integer(kind(rocblas_status_success)) function rocblas_zgbmv_batched_full_rank (handle, trans, m, n, kl, ku, alpha, A, lda, x, incx, beta, y, incy, batch_count)
 
integer(kind(rocblas_status_success)) function rocblas_zgbmv_batched_rank_0 (handle, trans, m, n, kl, ku, alpha, A, lda, x, incx, beta, y, incy, batch_count)
 
integer(kind(rocblas_status_success)) function rocblas_zgbmv_batched_rank_1 (handle, trans, m, n, kl, ku, alpha, A, lda, x, incx, beta, y, incy, batch_count)
 

Detailed Description

!

BLAS Level 2 API

\details
xGBMV_BATCHED performs one of the matrix-vector operations

    y_i := alphaA_ix_i    + betay_i,   or
    y_i := alphaA_iTx_i + betay_i,   or
    y_i := alphaA_iHx_i + betay_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 banded matrix with kl sub-diagonals and ku super-diagonals,
for i = 1, ..., batch_count.

@param[in]
handle    [rocblas_handle]
          handle to the rocblas library context queue.
@param[in]
trans     [rocblas_operation]
          indicates whether matrix A is tranposed (conjugated) or not
@param[in]
m         [rocblas_int]
          number of rows of each matrix A_i
@param[in]
n         [rocblas_int]
          number of columns of each matrix A_i
@param[in]
kl        [rocblas_int]
          number of sub-diagonals of each A_i
@param[in]
ku        [rocblas_int]
          number of super-diagonals of each A_i
@param[in]
alpha     device pointer or host pointer to scalar alpha.
@param[in]
    A     device array of device pointers storing each banded matrix A_i.
          Leading (kl + ku + 1) by n part of the matrix contains the coefficients
          of the banded matrix. The leading diagonal resides in row (ku + 1) with
          the first super-diagonal above on the RHS of row ku. The first sub-diagonal
          resides below on the LHS of row ku + 2. This propogates up and down across
          subsuper-diagonals.
            Ex: (m = n = 7; ku = 2, kl = 2)
            1 2 3 0 0 0 0             0 0 3 3 3 3 3
            4 1 2 3 0 0 0             0 2 2 2 2 2 2
            5 4 1 2 3 0 0    ---->    1 1 1 1 1 1 1
            0 5 4 1 2 3 0             4 4 4 4 4 4 0
            0 0 5 4 1 2 0             5 5 5 5 5 0 0
            0 0 0 5 4 1 2             0 0 0 0 0 0 0
            0 0 0 0 5 4 1             0 0 0 0 0 0 0
          Note that the empty elements which don't correspond to data will not
          be referenced.
@param[in]
lda       [rocblas_int]
          specifies the leading dimension of each A_i. Must be >= (kl + ku + 1)
@param[in]
x         device array of device pointers storing each vector x_i.
@param[in]
incx      [rocblas_int]
          specifies the increment for the elements of each x_i.
@param[in]
beta      device pointer or host pointer to scalar beta.
@param[inout]
y         device array of device pointers storing each vector y_i.
@param[in]
incy      [rocblas_int]
          specifies the increment for the elements of each y_i.
@param[in]
batch_count [rocblas_int]
            specifies the number of instances in the batch.

Member Function/Subroutine Documentation

◆ rocblas_zgbmv_batched_()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zgbmv_batched::rocblas_zgbmv_batched_ ( type(c_ptr), value  handle,
integer(kind(rocblas_operation_none)), value  trans,
integer(c_int), value  m,
integer(c_int), value  n,
integer(c_int), value  kl,
integer(c_int), value  ku,
complex(c_double_complex)  alpha,
type(c_ptr)  A,
integer(c_int), value  lda,
type(c_ptr)  x,
integer(c_int), value  incx,
complex(c_double_complex)  beta,
type(c_ptr)  y,
integer(c_int), value  incy,
integer(c_int), value  batch_count 
)

◆ rocblas_zgbmv_batched_full_rank()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zgbmv_batched::rocblas_zgbmv_batched_full_rank ( type(c_ptr)  handle,
integer(kind(rocblas_operation_none))  trans,
integer(c_int)  m,
integer(c_int)  n,
integer(c_int)  kl,
integer(c_int)  ku,
complex(c_double_complex)  alpha,
complex(c_double_complex), dimension(:,:,:), target  A,
integer(c_int)  lda,
complex(c_double_complex), dimension(:,:), target  x,
integer(c_int)  incx,
complex(c_double_complex)  beta,
complex(c_double_complex), dimension(:,:), target  y,
integer(c_int)  incy,
integer(c_int)  batch_count 
)

◆ rocblas_zgbmv_batched_rank_0()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zgbmv_batched::rocblas_zgbmv_batched_rank_0 ( type(c_ptr)  handle,
integer(kind(rocblas_operation_none))  trans,
integer(c_int)  m,
integer(c_int)  n,
integer(c_int)  kl,
integer(c_int)  ku,
complex(c_double_complex)  alpha,
complex(c_double_complex), target  A,
integer(c_int)  lda,
complex(c_double_complex), target  x,
integer(c_int)  incx,
complex(c_double_complex)  beta,
complex(c_double_complex), target  y,
integer(c_int)  incy,
integer(c_int)  batch_count 
)

◆ rocblas_zgbmv_batched_rank_1()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zgbmv_batched::rocblas_zgbmv_batched_rank_1 ( type(c_ptr)  handle,
integer(kind(rocblas_operation_none))  trans,
integer(c_int)  m,
integer(c_int)  n,
integer(c_int)  kl,
integer(c_int)  ku,
complex(c_double_complex)  alpha,
complex(c_double_complex), dimension(:), target  A,
integer(c_int)  lda,
complex(c_double_complex), dimension(:), target  x,
integer(c_int)  incx,
complex(c_double_complex)  beta,
complex(c_double_complex), dimension(:), target  y,
integer(c_int)  incy,
integer(c_int)  batch_count 
)

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