hipblaschpmvstridedbatched Interface Reference

hipblaschpmvstridedbatched Interface Reference#

HIPFORT API Reference: hipfort_hipblas::hipblaschpmvstridedbatched Interface Reference
hipfort_hipblas::hipblaschpmvstridedbatched Interface Reference

BLAS Level 2 API. More...

Public Member Functions

integer(kind(hipblas_status_success)) function hipblaschpmvstridedbatched_ (handle, uplo, n, alpha, ap, stridea, x, incx, stridex, beta, y, incy, stridey, batchcount)
 
integer(kind(hipblas_status_success)) function hipblaschpmvstridedbatched_rank_0 (handle, uplo, n, alpha, ap, stridea, x, incx, stridex, beta, y, incy, stridey, batchcount)
 
integer(kind(hipblas_status_success)) function hipblaschpmvstridedbatched_rank_1 (handle, uplo, n, alpha, ap, stridea, x, incx, stridex, beta, y, incy, stridey, batchcount)
 

Detailed Description

BLAS Level 2 API.

The hpmvStridedBatched functions perform the matrix-vector operation:

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 matrix, supplied in packed form (see description below), for each batch in i = [1, batchCount].

  • Supported precisions in rocBLAS : c and z.
  • Supported precisions in cuBLAS : No support.
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 Hermitian matrix A_i is supplied in AP.
  • HIPBLAS_FILL_MODE_LOWER: the lower triangular part of each Hermitian matrix A_i is supplied in AP.
[in]n- [int] the order of each matrix A_i.
[in]alpha- device pointer or host pointer to scalar alpha.
[in]AP- device pointer pointing to the beginning of the first matrix (AP_1). Stores the packed version of the specified triangular portion of each Hermitian matrix AP_i of size ((n * (n + 1)) / 2).
  • if uplo == HIPBLAS_FILL_MODE_UPPER: The upper triangular portion of each Hermitian matrix A_i is supplied. The matrix is compacted so that each AP_i 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 each Hermitian matrix A_i is supplied. The matrix is compacted so that each AP_i 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]strideA- [hipblasStride] stride from the start of one matrix (AP_i) to the next one (AP_i+1).
[in]x- device array pointing to the beginning of the first vector (x_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) to the next one (x_i+1).
[in]beta- device pointer or host pointer to scalar beta.
[in,out]y- device array pointing to the beginning of 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) to the next one (y_i+1).
[in]batchCount- [int] number of instances in the batch.

Member Function/Subroutine Documentation

◆ hipblaschpmvstridedbatched_()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblaschpmvstridedbatched::hipblaschpmvstridedbatched_ ( 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,
integer(c_int64_t), value  stridea,
type(c_ptr), value  x,
integer(c_int), value  incx,
integer(c_int64_t), value  stridex,
complex(c_float_complex)  beta,
type(c_ptr), value  y,
integer(c_int), value  incy,
integer(c_int64_t), value  stridey,
integer(c_int), value  batchcount 
)

◆ hipblaschpmvstridedbatched_rank_0()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblaschpmvstridedbatched::hipblaschpmvstridedbatched_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,
integer(c_int64_t)  stridea,
complex(c_float_complex), target  x,
integer(c_int)  incx,
integer(c_int64_t)  stridex,
complex(c_float_complex)  beta,
complex(c_float_complex), target  y,
integer(c_int)  incy,
integer(c_int64_t)  stridey,
integer(c_int)  batchcount 
)

◆ hipblaschpmvstridedbatched_rank_1()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblaschpmvstridedbatched::hipblaschpmvstridedbatched_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,
integer(c_int64_t)  stridea,
complex(c_float_complex), dimension(:), target  x,
integer(c_int)  incx,
integer(c_int64_t)  stridex,
complex(c_float_complex)  beta,
complex(c_float_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: