rocblas_chpmv Interface Reference

rocblas_chpmv Interface Reference#

HIPFORT API Reference: hipfort_rocblas::rocblas_chpmv Interface Reference
hipfort_rocblas::rocblas_chpmv Interface Reference

BLAS Level 2 API. More...

Public Member Functions

integer(kind(rocblas_status_success)) function rocblas_chpmv_ (handle, uplo, n, alpha, ap, x, incx, beta, y, incy)
 
integer(kind(rocblas_status_success)) function rocblas_chpmv_rank_0 (handle, uplo, n, alpha, ap, x, incx, beta, y, incy)
 
integer(kind(rocblas_status_success)) function rocblas_chpmv_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).

Parameters
[in]handle- [rocblas_handle] handle to the rocBLAS library context queue.
[in]uplo- [rocblas_fill]
  • rocblas_fill_upper: the upper triangular part of the Hermitian matrix A is supplied in AP.
  • rocblas_fill_lower: the lower triangular part of the Hermitian matrix A is supplied in AP.
[in]n- [rocblas_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 == rocblas_fill_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), etc.
      Ex: (rocblas_fill_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 == rocblas_fill_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), etc.
      Ex: (rocblas_fill_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- [rocblas_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- [rocblas_int] specifies the increment for the elements of y.

Member Function/Subroutine Documentation

◆ rocblas_chpmv_()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_chpmv::rocblas_chpmv_ ( type(c_ptr), value  handle,
integer(kind(rocblas_fill_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 
)

◆ rocblas_chpmv_rank_0()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_chpmv::rocblas_chpmv_rank_0 ( type(c_ptr)  handle,
integer(kind(rocblas_fill_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 
)

◆ rocblas_chpmv_rank_1()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_chpmv::rocblas_chpmv_rank_1 ( type(c_ptr)  handle,
integer(kind(rocblas_fill_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: