hipblaschpmv Interface Reference#
hipfort_hipblas::hipblaschpmv Interface Reference
BLAS Level 2 API. More...
Public Member Functions | |
| integer(kind(hipblas_status_success)) function | hipblaschpmv_ (handle, uplo, n, alpha, ap, x, incx, beta, y, incy) |
| integer(kind(hipblas_status_success)) function | hipblaschpmv_rank_0 (handle, uplo, n, alpha, ap, x, incx, beta, y, incy) |
| integer(kind(hipblas_status_success)) function | hipblaschpmv_rank_1 (handle, uplo, n, alpha, ap, x, incx, beta, y, incy) |
Detailed Description
BLAS Level 2 API.
The hpmv functions perform the matrix-vector operation:
y := alpha*A*x + beta*y
where alpha and beta are scalars, x and y are n -element vectors and A is an n by n Hermitian matrix, supplied in packed form (see description below).
- Supported precisions in rocBLAS :
candz. - Supported precisions in cuBLAS :
candz.
- 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 the Hermitian matrix A is supplied in AP.
- HIPBLAS_FILL_MODE_LOWER: the lower triangular part of the Hermitian matrix A is supplied in AP.
[in] n - [int] the order of the matrix A. Must be >= 0. [in] alpha - device pointer or host pointer to scalar alpha. [in] AP - device pointer storing the packed version of the specified triangular portion of the Hermitian matrix A. Of at least size ((n * (n + 1)) / 2). - if uplo == HIPBLAS_FILL_MODE_UPPER: The upper triangular portion of the Hermitian matrix A is supplied. The matrix is compacted so that AP contains the triangular portion column-by-column so that: AP(0) = A(0,0) AP(1) = A(0,1) AP(2) = A(1,1), and so forth. Ex: (HIPBLAS_FILL_MODE_UPPER; n = 3) (1, 0) (2, 1) (3, 2) (2,-1) (4, 0) (5,-1) -> [(1,0), (2,1), (4,0), (3,2), (5,-1), (6,0)] (3,-2) (5, 1) (6, 0)
- if uplo == HIPBLAS_FILL_MODE_LOWER: The lower triangular portion of the Hermitian matrix A is supplied. The matrix is compacted so that AP contains the triangular portion column-by-column so that: AP(0) = A(0,0) AP(1) = A(1,0) AP(2) = A(2,1), and so forth. Ex: (HIPBLAS_FILL_MODE_LOWER; n = 3) (1, 0) (2, 1) (3, 2) (2,-1) (4, 0) (5,-1) -> [(1,0), (2,-1), (3,-2), (4,0), (5,1), (6,0)] (3,-2) (5, 1) (6, 0)
- Note that the imaginary parts of the diagonal elements are not accessed and are assumed to be 0.
[in] x - device pointer storing vector x. [in] incx - [int] specifies the increment for the elements of x. [in] beta - device pointer or host pointer to scalar beta. [in,out] y - device pointer storing vector y. [in] incy - [int] specifies the increment for the elements of y.
Member Function/Subroutine Documentation
◆ hipblaschpmv_()
| integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblaschpmv::hipblaschpmv_ | ( | type(c_ptr), value | handle, |
| integer(kind(hipblas_fill_mode_upper)), value | uplo, | ||
| integer(c_int), value | n, | ||
| complex(c_float_complex) | alpha, | ||
| type(c_ptr), value | ap, | ||
| type(c_ptr), value | x, | ||
| integer(c_int), value | incx, | ||
| complex(c_float_complex) | beta, | ||
| type(c_ptr), value | y, | ||
| integer(c_int), value | incy | ||
| ) |
◆ hipblaschpmv_rank_0()
| integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblaschpmv::hipblaschpmv_rank_0 | ( | type(c_ptr) | handle, |
| integer(kind(hipblas_fill_mode_upper)) | uplo, | ||
| integer(c_int) | n, | ||
| complex(c_float_complex) | alpha, | ||
| complex(c_float_complex), target | ap, | ||
| complex(c_float_complex), target | x, | ||
| integer(c_int) | incx, | ||
| complex(c_float_complex) | beta, | ||
| complex(c_float_complex), target | y, | ||
| integer(c_int) | incy | ||
| ) |
◆ hipblaschpmv_rank_1()
| integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblaschpmv::hipblaschpmv_rank_1 | ( | type(c_ptr) | handle, |
| integer(kind(hipblas_fill_mode_upper)) | uplo, | ||
| integer(c_int) | n, | ||
| complex(c_float_complex) | alpha, | ||
| complex(c_float_complex), dimension(:), target | ap, | ||
| complex(c_float_complex), dimension(:), target | x, | ||
| integer(c_int) | incx, | ||
| complex(c_float_complex) | beta, | ||
| complex(c_float_complex), dimension(:), target | y, | ||
| integer(c_int) | incy | ||
| ) |
The documentation for this interface was generated from the following file: