hipblassgetrfstridedbatched Interface Reference

hipblassgetrfstridedbatched Interface Reference#

HIPFORT API Reference: hipfort_hipblas::hipblassgetrfstridedbatched Interface Reference
hipfort_hipblas::hipblassgetrfstridedbatched Interface Reference

SOLVER API. More...

Public Member Functions

integer(kind(hipblas_status_success)) function hipblassgetrfstridedbatched_ (handle, n, a, lda, stridea, ipiv, stridep, myinfo, batchcount)
 
integer(kind(hipblas_status_success)) function hipblassgetrfstridedbatched_rank_0 (handle, n, a, lda, stridea, ipiv, stridep, myinfo, batchcount)
 
integer(kind(hipblas_status_success)) function hipblassgetrfstridedbatched_rank_1 (handle, n, a, lda, stridea, ipiv, stridep, myinfo, batchcount)
 
integer(kind(hipblas_status_success)) function hipblassgetrfstridedbatched_full_rank (handle, n, a, lda, stridea, ipiv, stridep, myinfo, batchcount)
 

Detailed Description

SOLVER API.

The getrfStridedBatched functions compute the LU factorization of a batch of general n -by-n matrices using partial pivoting with row interchanges. The LU factorization can be done without pivoting if ipiv is passed as a nullptr.

When ipiv is not null, the factorization of matrix \(A_i\) in the batch has the form:

\[ A_i = P_iL_iU_i \]

where \(P_i\) is a permutation matrix, \(L_i\) is lower triangular with unit diagonal elements, and \(U_i\) is upper triangular.

When ipiv is null, the factorization is done without pivoting:

\[ A_i = L_iU_i \]

  • Supported precisions in rocSOLVER : s, d, c, and z.
  • Supported precisions in cuBLAS : s, d, c, and z.
Parameters
[in]handle- hipblasHandle_t.
[in]n- int. n >= 0. The number of columns and rows of all 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 n-by-n matrices A_i to be factored.
  • On exit, the factors L_i and U_i from the factorization.
  • The unit diagonal elements of L_i are not stored.
[in]lda- int. lda >= n. 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 int. Array on the GPU (the size depends on the value of strideP). Contains the vectors of pivots indices ipiv_i (corresponding to A_i). Dimension of ipiv_i is n. Elements of ipiv_i are 1-based indices. For each instance A_i in the batch and for 1 <= j <= n, row j of the matrix A_i was interchanged with row ipiv_i[j]. Matrix P_i of the factorization can be derived from ipiv_i. The factorization here can be done without pivoting if ipiv is passed in as a nullptr.
[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 case is strideP >= n.
[out]myInfo- pointer to int. Array of batchCount integers on the GPU.
  • If info[i] = 0, successful exit for factorization of A_i.
  • If info[i] = j > 0, U_i is singular. U_i[j,j] is the first zero pivot.
[in]batchCount- int. batchCount >= 0. Number of matrices in the batch.

Member Function/Subroutine Documentation

◆ hipblassgetrfstridedbatched_()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblassgetrfstridedbatched::hipblassgetrfstridedbatched_ ( type(c_ptr), value  handle,
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 
)

◆ hipblassgetrfstridedbatched_full_rank()

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

◆ hipblassgetrfstridedbatched_rank_0()

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

◆ hipblassgetrfstridedbatched_rank_1()

integer(kind(hipblas_status_success)) function hipfort_hipblas::hipblassgetrfstridedbatched::hipblassgetrfstridedbatched_rank_1 ( type(c_ptr)  handle,
integer(c_int)  n,
real(c_float), dimension(:), target  a,
integer(c_int)  lda,
integer(c_int64_t)  stridea,
integer(c_int), 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: