hipblassgeqrfstridedbatched Interface Reference

hipblassgeqrfstridedbatched Interface Reference#

HIPFORT API Reference: hipfort_hipblas::hipblassgeqrfstridedbatched Interface Reference
hipfort_hipblas::hipblassgeqrfstridedbatched Interface Reference

SOLVER API. More...

Public Member Functions

integer(kind(hipblas_status_success)) function hipblassgeqrfstridedbatched_ (handle, m, n, a, lda, stridea, ipiv, stridep, myinfo, batchcount)
 
integer(kind(hipblas_status_success)) function hipblassgeqrfstridedbatched_rank_0 (handle, m, n, a, lda, stridea, ipiv, stridep, myinfo, batchcount)
 
integer(kind(hipblas_status_success)) function hipblassgeqrfstridedbatched_rank_1 (handle, m, n, a, lda, stridea, ipiv, stridep, myinfo, batchcount)
 
integer(kind(hipblas_status_success)) function hipblassgeqrfstridedbatched_full_rank (handle, m, n, a, lda, stridea, ipiv, stridep, myinfo, batchcount)
 

Detailed Description

SOLVER API.

The geqrfStridedBatched functions compute the QR factorization of a batch of general m-by-n matrices.

The factorization of matrix \(A_i\) in the batch has the form:

\[ A_i = Q_i\left[\begin{array}{c} R_i\\% 0 \end{array}\right] \]

where \(R_i\) is upper triangular (upper trapezoidal if m < n), and \(Q_i\) is an m -by-m orthogonal/unitary matrix represented as the product of Householder matrices:

\[ Q_i = H_{i_1}H_{i_2}\cdots H_{i_k}, \quad \text{with} \: k = \text{min}(m,n) \]

Each Householder matrix \(H_{i_j}\) is given by:

\[ H_{i_j} = I - \text{ipiv}_j[j] \cdot v_{i_j} v_{i_j}' \]

where the first j -1 elements of Householder vector \(v_{i_j}\) are zero, and \(v_{i_j}[j] = 1\).

  • Supported precisions in rocSOLVER : s, d, c, and z.
  • Supported precisions in cuBLAS : No support.
Parameters
[in]handle- hipblasHandle_t.
[in]m- int. m >= 0. The number of rows of all the matrices A_i in the batch.
[in]n- int. n >= 0. The number of columns of all the matrices A_i in the batch.
[in,out]A- pointer to type. Array on the GPU (the size depends on the value of strideA).
  • On entry, the m-by-n matrices A_i to be factored.
  • On exit, the elements on and above the diagonal contain the factor R_i. The elements below the diagonal are the last m - j elements of Householder vector v_(i_j).
[in]lda- int. lda >= m. Specifies the leading dimension of matrices A_i.
[in]strideA- hipblasStride. Stride from the start of one matrix A_i to the next one A_(i+1). There is no restriction for the value of strideA. Normal use case is strideA >= lda*n.
[out]ipiv- pointer to type. Array on the GPU (the size depends on the value of strideP). Contains the vectors ipiv_i of corresponding Householder scalars.
[in]strideP- hipblasStride. Stride from the start of one vector ipiv_i to the next one ipiv_(i+1). There is no restriction for the value of strideP. Normal use is strideP >= min(m,n).
[out]myInfo- pointer to a int on the host.
  • If info = 0, successful exit.
  • If info = j < 0, the argument at position -j is invalid.
[in]batchCount- int. batchCount >= 0. Number of matrices in the batch.

Member Function/Subroutine Documentation

◆ hipblassgeqrfstridedbatched_()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblassgeqrfstridedbatched::hipblassgeqrfstridedbatched_ ( type(c_ptr), value  handle,
integer(c_int), value  m,
integer(c_int), value  n,
type(c_ptr), value  a,
integer(c_int), value  lda,
integer(c_int64_t), value  stridea,
type(c_ptr), value  ipiv,
integer(c_int64_t), value  stridep,
type(c_ptr), value  myinfo,
integer(c_int), value  batchcount 
)

◆ hipblassgeqrfstridedbatched_full_rank()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblassgeqrfstridedbatched::hipblassgeqrfstridedbatched_full_rank ( type(c_ptr)  handle,
integer(c_int)  m,
integer(c_int)  n,
real(c_float), dimension(:,:), target  a,
integer(c_int)  lda,
integer(c_int64_t)  stridea,
real(c_float), dimension(:), target  ipiv,
integer(c_int64_t)  stridep,
type(c_ptr)  myinfo,
integer(c_int)  batchcount 
)

◆ hipblassgeqrfstridedbatched_rank_0()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblassgeqrfstridedbatched::hipblassgeqrfstridedbatched_rank_0 ( type(c_ptr)  handle,
integer(c_int)  m,
integer(c_int)  n,
real(c_float), target  a,
integer(c_int)  lda,
integer(c_int64_t)  stridea,
real(c_float), target  ipiv,
integer(c_int64_t)  stridep,
type(c_ptr)  myinfo,
integer(c_int)  batchcount 
)

◆ hipblassgeqrfstridedbatched_rank_1()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblassgeqrfstridedbatched::hipblassgeqrfstridedbatched_rank_1 ( type(c_ptr)  handle,
integer(c_int)  m,
integer(c_int)  n,
real(c_float), dimension(:), target  a,
integer(c_int)  lda,
integer(c_int64_t)  stridea,
real(c_float), dimension(:), target  ipiv,
integer(c_int64_t)  stridep,
type(c_ptr)  myinfo,
integer(c_int)  batchcount 
)

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