rocblas_chpr2_batched Interface Reference

rocblas_chpr2_batched Interface Reference#

HIPFORT API Reference: hipfort_rocblas::rocblas_chpr2_batched Interface Reference
hipfort_rocblas::rocblas_chpr2_batched Interface Reference

BLAS Level 2 API. More...

Public Member Functions

integer(kind(rocblas_status_success)) function rocblas_chpr2_batched_ (handle, uplo, n, alpha, x, incx, y, incy, ap, batch_count)
 

Detailed Description

BLAS Level 2 API.

The hpr2_batched functions perform the matrix-vector operations:

A_i := A_i + alpha*x_i*y_i**H + conj(alpha)*y_i*x_i**H

where alpha is a complex scalar, x_i andy_i are vectors, and A_i is an n by n symmetric matrix, supplied in packed form, for i = 1, ..., batch_count.

Parameters
[in]handle- [rocblas_handle] handle to the rocBLAS library context queue.
[in]uplo- [rocblas_fill] specifies either upper (rocblas_fill_upper) or lower (rocblas_fill_lower).
  • rocblas_fill_upper: The upper triangular part of each A_i is supplied in AP.
  • rocblas_fill_lower: The lower triangular part of each A_i is supplied in AP.
[in]n- [rocblas_int] the number of rows and columns of each matrix A_i. Must be at least 0.
[in]alphadevice pointer or host pointer to scalar alpha.
[in]x- device array of device pointers storing each vector x_i.
[in]incx- [rocblas_int] specifies the increment for the elements of each x_i.
[in]y- device array of device pointers storing each vector y_i.
[in]incy- [rocblas_int] specifies the increment for the elements of each y_i.
[in,out]AP- device array of device pointers storing the packed version of the specified triangular portion of each Hermitian matrix A_i of at least size ((n * (n + 1)) / 2). Array is of at least size batch_count.
  if uplo == rocblas_fill_upper:
      The upper triangular portion of each Hermitian matrix A_i 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) (4,9)
          (2,-1) (3, 0) (5,3) ---> [(1,0),(2,1),(3,0),(4,9),(5,3),(6,0)]
          (4,-9) (5,-3) (6,0)

  if uplo == rocblas_fill_lower:
      The lower triangular portion of each Hermitian matrix A_i 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) (4,9)
          (2,-1) (3, 0) (5,3) --> [(1,0),(2,-1),(4,-9),(3,0),(5,-3),(6,0)]
          (4,-9) (5,-3) (6,0)
Note that the imaginary parts of the diagonal elements are not accessed and are assumed to be 0.
[in]batch_count- [rocblas_int] number of instances in the batch.

Member Function/Subroutine Documentation

◆ rocblas_chpr2_batched_()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_chpr2_batched::rocblas_chpr2_batched_ ( 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  x,
integer(c_int), value  incx,
type(c_ptr), value  y,
integer(c_int), value  incy,
type(c_ptr), value  ap,
integer(c_int), value  batch_count 
)

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