This page contains proposed changes for a future release of ROCm. Read the latest Linux release of ROCm documentation for your production environments.

hipblaszhbmvstridedbatched Interface Reference

hipblaszhbmvstridedbatched Interface Reference#

HIPFORT API Reference: hipfort_hipblas::hipblaszhbmvstridedbatched Interface Reference
hipfort_hipblas::hipblaszhbmvstridedbatched Interface Reference

BLAS Level 2 API. More...

Public Member Functions

integer(kind(hipblas_status_success)) function hipblaszhbmvstridedbatched_ (handle, uplo, n, k, alpha, A, lda, strideA, x, incx, stridex, beta, y, incy, stridey, batchCount)
 
integer(kind(hipblas_status_success)) function hipblaszhbmvstridedbatched_full_rank (handle, uplo, n, k, alpha, A, lda, strideA, x, incx, stridex, beta, y, incy, stridey, batchCount)
 
integer(kind(hipblas_status_success)) function hipblaszhbmvstridedbatched_rank_0 (handle, uplo, n, k, alpha, A, lda, strideA, x, incx, stridex, beta, y, incy, stridey, batchCount)
 
integer(kind(hipblas_status_success)) function hipblaszhbmvstridedbatched_rank_1 (handle, uplo, n, k, alpha, A, lda, strideA, x, incx, stridex, beta, y, incy, stridey, batchCount)
 

Detailed Description

BLAS Level 2 API.

hbmvStridedBatched performs one of the matrix-vector operations

y_i := alpha*A_i*x_i + beta*y_i

where alpha and beta are scalars, x_i and y_i are n element vectors and A_i is an n by n Hermitian band matrix with k super-diagonals, for each batch in i = [1, batchCount].

Parameters
[in]handle[hipblasHandle_t] handle to the hipblas library context queue.
[in]uplo[hipblasFillMode_t] HIPBLAS_FILL_MODE_UPPER: The upper triangular part of each A_i is being supplied. HIPBLAS_FILL_MODE_LOWER: The lower triangular part of each A_i is being supplied.
[in]n[int] the order of each matrix A_i.
[in]k[int] the number of super-diagonals of each matrix A_i. Must be >= 0.
[in]alphadevice pointer or host pointer to scalar alpha.
[in]Adevice array pointing to the first matrix A_1. Each A_i is of dimension (lda, n). if uplo == HIPBLAS_FILL_MODE_UPPER: The leading (k + 1) by n part of each A_i must contain the upper triangular band part of the Hermitian matrix, with the leading diagonal in row (k + 1), the first super-diagonal on the RHS of row k, etc. The top left k by x triangle of each A_i will not be referenced. Ex (upper, lda = n = 4, k = 1): A Represented matrix (0,0) (5,9) (6,8) (7,7) (1, 0) (5, 9) (0, 0) (0, 0) (1,0) (2,0) (3,0) (4,0) (5,-9) (2, 0) (6, 8) (0, 0) (0,0) (0,0) (0,0) (0,0) (0, 0) (6,-8) (3, 0) (7, 7) (0,0) (0,0) (0,0) (0,0) (0, 0) (0, 0) (7,-7) (4, 0)

if uplo == HIPBLAS_FILL_MODE_LOWER: The leading (k + 1) by n part of each A_i must contain the lower triangular band part of the Hermitian matrix, with the leading diagonal in row (1), the first sub-diagonal on the LHS of row 2, etc. The bottom right k by k triangle of each A_i will not be referenced. Ex (lower, lda = 2, n = 4, k = 1): A Represented matrix (1,0) (2,0) (3,0) (4,0) (1, 0) (5,-9) (0, 0) (0, 0) (5,9) (6,8) (7,7) (0,0) (5, 9) (2, 0) (6,-8) (0, 0) (0, 0) (6, 8) (3, 0) (7,-7) (0, 0) (0, 0) (7, 7) (4, 0)

As a Hermitian matrix, the imaginary part of the main diagonal of each A_i will not be referenced and is assumed to be == 0.

Parameters
[in]lda[int] specifies the leading dimension of each A_i. must be >= max(1, n)
[in]strideA[hipblasStride] stride from the start of one matrix (A_i) and the next one (A_i+1)
[in]xdevice array pointing to the first vector y_1.
[in]incx[int] specifies the increment for the elements of each x_i.
[in]stridex[hipblasStride] stride from the start of one vector (x_i) and the next one (x_i+1)
[in]betadevice pointer or host pointer to scalar beta.
[in,out]ydevice array pointing to the first vector y_1.
[in]incy[int] specifies the increment for the elements of y.
[in]stridey[hipblasStride] stride from the start of one vector (y_i) and the next one (y_i+1)
[in]batchCount[int] number of instances in the batch.

Member Function/Subroutine Documentation

◆ hipblaszhbmvstridedbatched_()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblaszhbmvstridedbatched::hipblaszhbmvstridedbatched_ ( type(c_ptr), value  handle,
integer(kind(hipblas_fill_mode_upper)), value  uplo,
integer(c_int), value  n,
integer(c_int), value  k,
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  batchCount 
)

◆ hipblaszhbmvstridedbatched_full_rank()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblaszhbmvstridedbatched::hipblaszhbmvstridedbatched_full_rank ( type(c_ptr)  handle,
integer(kind(hipblas_fill_mode_upper))  uplo,
integer(c_int)  n,
integer(c_int)  k,
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)  batchCount 
)

◆ hipblaszhbmvstridedbatched_rank_0()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblaszhbmvstridedbatched::hipblaszhbmvstridedbatched_rank_0 ( type(c_ptr)  handle,
integer(kind(hipblas_fill_mode_upper))  uplo,
integer(c_int)  n,
integer(c_int)  k,
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)  batchCount 
)

◆ hipblaszhbmvstridedbatched_rank_1()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblaszhbmvstridedbatched::hipblaszhbmvstridedbatched_rank_1 ( type(c_ptr)  handle,
integer(kind(hipblas_fill_mode_upper))  uplo,
integer(c_int)  n,
integer(c_int)  k,
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)  batchCount 
)

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