rocblas_stbmv Interface Reference

rocblas_stbmv Interface Reference#

HIPFORT API Reference: hipfort_rocblas::rocblas_stbmv Interface Reference
hipfort_rocblas::rocblas_stbmv Interface Reference

BLAS Level 2 API. More...

Public Member Functions

integer(kind(rocblas_status_success)) function rocblas_stbmv_ (handle, uplo, trans, diag, n, k, a, lda, x, incx)
 
integer(kind(rocblas_status_success)) function rocblas_stbmv_rank_0 (handle, uplo, trans, diag, n, k, a, lda, x, incx)
 
integer(kind(rocblas_status_success)) function rocblas_stbmv_rank_1 (handle, uplo, trans, diag, n, k, a, lda, x, incx)
 
integer(kind(rocblas_status_success)) function rocblas_stbmv_full_rank (handle, uplo, trans, diag, n, k, a, lda, x, incx)
 

Detailed Description

BLAS Level 2 API.

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

x := A*x      or
x := A**T*x   or
x := A**H*x,

x is a vector, and A is a banded n by n matrix (see description below).

Parameters
[in]handle- [rocblas_handle] handle to the rocBLAS library context queue.
[in]uplo- [rocblas_fill]
  • rocblas_fill_upper: A is an upper banded triangular matrix.
  • rocblas_fill_lower: A is a lower banded triangular matrix.
[in]trans- [rocblas_operation] indicates whether matrix A is tranposed (conjugated) or not.
[in]diag- [rocblas_diagonal]
  • rocblas_diagonal_unit: The main diagonal of A is assumed to consist of only 1's and is not referenced.
  • rocblas_diagonal_non_unit: No assumptions are made about the main diagonal of A.
[in]n- [rocblas_int] the number of rows and columns of the matrix represented by A.
[in]k- [rocblas_int]
    if uplo == rocblas_fill_upper, k specifies the number of super-diagonals
    of the matrix A.

    if uplo == rocblas_fill_lower, k specifies the number of sub-diagonals
    of the matrix A.
    k must satisfy k > 0 && k < lda.
[in]A- device pointer storing banded triangular matrix A.
    if uplo == rocblas_fill_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: (rocblas_fill_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 == rocblas_fill_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: (rocblas_fill_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- [rocblas_int] specifies the leading dimension of A. lda must satisfy lda > k.
[in,out]x- device pointer storing vector x.
[in]incx- [rocblas_int] specifies the increment for the elements of x.

Member Function/Subroutine Documentation

◆ rocblas_stbmv_()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_stbmv::rocblas_stbmv_ ( type(c_ptr), value  handle,
integer(kind(rocblas_fill_upper)), value  uplo,
integer(kind(rocblas_operation_none)), value  trans,
integer(kind(rocblas_diagonal_non_unit)), value  diag,
integer(c_int), value  n,
integer(c_int), value  k,
type(c_ptr), value  a,
integer(c_int), value  lda,
type(c_ptr), value  x,
integer(c_int), value  incx 
)

◆ rocblas_stbmv_full_rank()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_stbmv::rocblas_stbmv_full_rank ( type(c_ptr)  handle,
integer(kind(rocblas_fill_upper))  uplo,
integer(kind(rocblas_operation_none))  trans,
integer(kind(rocblas_diagonal_non_unit))  diag,
integer(c_int)  n,
integer(c_int)  k,
real(c_float), dimension(:,:), target  a,
integer(c_int)  lda,
real(c_float), dimension(:), target  x,
integer(c_int)  incx 
)

◆ rocblas_stbmv_rank_0()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_stbmv::rocblas_stbmv_rank_0 ( type(c_ptr)  handle,
integer(kind(rocblas_fill_upper))  uplo,
integer(kind(rocblas_operation_none))  trans,
integer(kind(rocblas_diagonal_non_unit))  diag,
integer(c_int)  n,
integer(c_int)  k,
real(c_float), target  a,
integer(c_int)  lda,
real(c_float), target  x,
integer(c_int)  incx 
)

◆ rocblas_stbmv_rank_1()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_stbmv::rocblas_stbmv_rank_1 ( type(c_ptr)  handle,
integer(kind(rocblas_fill_upper))  uplo,
integer(kind(rocblas_operation_none))  trans,
integer(kind(rocblas_diagonal_non_unit))  diag,
integer(c_int)  n,
integer(c_int)  k,
real(c_float), dimension(:), target  a,
integer(c_int)  lda,
real(c_float), dimension(:), target  x,
integer(c_int)  incx 
)

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