hipblasstbmvbatched Interface Reference

hipblasstbmvbatched Interface Reference#

HIPFORT API Reference: hipfort_hipblas::hipblasstbmvbatched Interface Reference
hipfort_hipblas::hipblasstbmvbatched Interface Reference

BLAS Level 2 API. More...

Public Member Functions

integer(kind(hipblas_status_success)) function hipblasstbmvbatched_ (handle, uplo, transa, diag, n, k, ap, lda, x, incx, batchcount)
 

Detailed Description

BLAS Level 2 API.

The tbmvBatched functions perform one of the matrix-vector operations:

x_i := A_i*x_i      or
x_i := A_i**T*x_i   or
x_i := A_i**H*x_i,

where (A_i, x_i) is the i-th instance of the batch, x_i is a vector, and A_i is an n by n matrix, for i = 1, ..., batchCount.

  • Supported precisions in rocBLAS : s, d, 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: each A_i is an upper banded triangular matrix.
  • HIPBLAS_FILL_MODE_LOWER: each A_i is a lower banded triangular matrix.
[in]transA- [hipblasOperation_t] indicates whether each matrix A_i is tranposed (conjugated) or not.
[in]diag- [hipblasDiagType_t]
  • HIPBLAS_DIAG_UNIT: The main diagonal of each A_i is assumed to consist of only 1's and is not referenced.
  • HIPBLAS_DIAG_NON_UNIT: No assumptions are made of each A_i's main diagonal.
[in]n- [int] the number of rows and columns of the matrix represented by each A_i.
[in]k- [int]
  • if uplo == HIPBLAS_FILL_MODE_UPPER, k specifies the number of super-diagonals of each matrix A_i.
  • if uplo == HIPBLAS_FILL_MODE_LOWER, k specifies the number of sub-diagonals of each matrix A_i.
  • k must satisfy k > 0 && k < lda.
[in]AP- device array of device pointers storing each banded triangular matrix A_i.
  • if uplo == HIPBLAS_FILL_MODE_UPPER: The matrix represented is an upper banded triangular matrix with the main diagonal and k super-diagonals. Everything else can be assumed to be 0. The matrix is compacted so that the main diagonal resides on the k'th row, the first super diagonal resides on the RHS of the k-1'th row, and so forth, with the k'th diagonal on the RHS of the 0'th row. Ex: (HIPBLAS_FILL_MODE_UPPER; n = 5; k = 2) 1 6 9 0 0 -> 0 0 9 8 7 0 2 7 8 0 -> 0 6 7 8 9 0 0 3 8 7 -> 1 2 3 4 5 0 0 0 4 9 -> 0 0 0 0 0 0 0 0 0 5 -> 0 0 0 0 0
  • if uplo == HIPBLAS_FILL_MODE_LOWER: The matrix represnted is a lower banded triangular matrix with the main diagonal and k sub-diagonals. Everything else can be assumed to be 0. The matrix is compacted so that the main diagonal resides on the 0'th row, working up to the k'th diagonal residing on the LHS of the k'th row. Ex: (HIPBLAS_FILL_MODE_LOWER; n = 5; k = 2) 1 0 0 0 0 -> 1 2 3 4 5 6 2 0 0 0 -> 6 7 8 9 0 9 7 3 0 0 -> 9 8 7 0 0 0 8 8 4 0 -> 0 0 0 0 0 0 0 7 9 5 -> 0 0 0 0 0
[in]lda- [int] specifies the leading dimension of each A_i. lda must satisfy lda > k.
[in,out]x- device array of device pointer storing each vector x_i.
[in]incx- [int] specifies the increment for the elements of each x_i.
[in]batchCount- [int] number of instances in the batch.

Member Function/Subroutine Documentation

◆ hipblasstbmvbatched_()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblasstbmvbatched::hipblasstbmvbatched_ ( type(c_ptr), value  handle,
integer(kind(hipblas_fill_mode_upper)), value  uplo,
integer(kind(hipblas_op_n)), value  transa,
integer(kind(hipblas_diag_non_unit)), value  diag,
integer(c_int), value  n,
integer(c_int), value  k,
type(c_ptr), value  ap,
integer(c_int), value  lda,
type(c_ptr), value  x,
integer(c_int), value  incx,
integer(c_int), value  batchcount 
)

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