rocblas_zhpr2_strided_batched Interface Reference

rocblas_zhpr2_strided_batched Interface Reference#

HIPFORT API Reference: hipfort_rocblas::rocblas_zhpr2_strided_batched Interface Reference
hipfort_rocblas::rocblas_zhpr2_strided_batched Interface Reference

BLAS Level 2 API. More...

Public Member Functions

integer(kind(rocblas_status_success)) function rocblas_zhpr2_strided_batched_ (handle, uplo, n, alpha, x, incx, stride_x, y, incy, stride_y, AP, stride_A, batch_count)
 
integer(kind(rocblas_status_success)) function rocblas_zhpr2_strided_batched_rank_0 (handle, uplo, n, alpha, x, incx, stride_x, y, incy, stride_y, AP, stride_A, batch_count)
 
integer(kind(rocblas_status_success)) function rocblas_zhpr2_strided_batched_rank_1 (handle, uplo, n, alpha, x, incx, stride_x, y, incy, stride_y, AP, stride_A, batch_count)
 

Detailed Description

BLAS Level 2 API.

hpr2_strided_batched performs 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 and y_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 whether the 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]xdevice pointer pointing to the first vector (x_1).
[in]incx[rocblas_int] specifies the increment for the elements of each x_i.
[in]stride_x[rocblas_stride] stride from the start of one vector (x_i) and the next one (x_i+1).
[in]ydevice pointer pointing to the first vector (y_1).
[in]incy[rocblas_int] specifies the increment for the elements of each y_i.
[in]stride_y[rocblas_stride] stride from the start of one vector (y_i) and the next one (y_i+1).
[in,out]APdevice array of device pointers storing the packed version of the specified triangular portion of each Hermitian matrix A_i. Points to the first matrix (A_1). 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 part of the diagonal elements are not accessed and are assumed to be 0.
[in]stride_A[rocblas_stride] stride from the start of one (A_i) and the next (A_i+1)
[in]batch_count[rocblas_int] number of instances in the batch.

Member Function/Subroutine Documentation

◆ rocblas_zhpr2_strided_batched_()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zhpr2_strided_batched::rocblas_zhpr2_strided_batched_ ( type(c_ptr), value  handle,
integer(kind(rocblas_fill_upper)), value  uplo,
integer(c_int), value  n,
complex(c_double_complex)  alpha,
type(c_ptr), value  x,
integer(c_int), value  incx,
integer(c_int64_t), value  stride_x,
type(c_ptr), value  y,
integer(c_int), value  incy,
integer(c_int64_t), value  stride_y,
type(c_ptr), value  AP,
integer(c_int64_t), value  stride_A,
integer(c_int), value  batch_count 
)

◆ rocblas_zhpr2_strided_batched_rank_0()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zhpr2_strided_batched::rocblas_zhpr2_strided_batched_rank_0 ( type(c_ptr)  handle,
integer(kind(rocblas_fill_upper))  uplo,
integer(c_int)  n,
complex(c_double_complex)  alpha,
complex(c_double_complex), target  x,
integer(c_int)  incx,
integer(c_int64_t)  stride_x,
complex(c_double_complex), target  y,
integer(c_int)  incy,
integer(c_int64_t)  stride_y,
type(c_ptr)  AP,
integer(c_int64_t)  stride_A,
integer(c_int)  batch_count 
)

◆ rocblas_zhpr2_strided_batched_rank_1()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zhpr2_strided_batched::rocblas_zhpr2_strided_batched_rank_1 ( type(c_ptr)  handle,
integer(kind(rocblas_fill_upper))  uplo,
integer(c_int)  n,
complex(c_double_complex)  alpha,
complex(c_double_complex), dimension(:), target  x,
integer(c_int)  incx,
integer(c_int64_t)  stride_x,
complex(c_double_complex), dimension(:), target  y,
integer(c_int)  incy,
integer(c_int64_t)  stride_y,
type(c_ptr)  AP,
integer(c_int64_t)  stride_A,
integer(c_int)  batch_count 
)

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