rocsolver_sgetf2_batched Interface Reference#
The GETF2_BATCHED functions compute the LU factorization of a batch of general m-by-n matrices using partial pivoting with row interchanges.
More...
Public Member Functions | |
| integer(kind(rocblas_status_success)) function | rocsolver_sgetf2_batched_ (handle, m, n, a, lda, ipiv, stridep, myinfo, batch_count) |
| integer(kind(rocblas_status_success)) function | rocsolver_sgetf2_batched_rank_0 (handle, m, n, a, lda, ipiv, stridep, myinfo, batch_count) |
| integer(kind(rocblas_status_success)) function | rocsolver_sgetf2_batched_rank_1 (handle, m, n, a, lda, ipiv, stridep, myinfo, batch_count) |
Detailed Description
The GETF2_BATCHED functions compute the LU factorization of a batch of general m-by-n matrices using partial pivoting with row interchanges.
(This is the unblocked Level-2-BLAS version of the algorithm. An optimized internal implementation without rocBLAS calls could be executed with small and mid-size matrices if optimizations are enabled (default option). For more details, see the "rocSOLVER performance tuning" guide.)
The factorization of matrix \(A_l\) in the batch has the form
\[ A_l = P_l L_l U_l \]
where \(P_l\) is a permutation matrix, \(L_l\) is lower triangular with unit diagonal elements (lower trapezoidal if m > n), and \(U_l\) is upper triangular (upper trapezoidal if m < n).
- Parameters
-
[in] handle - rocblas_handle. [in] m - rocblas_int. m >= 0. The number of rows of all matrices A_l in the batch. [in] n - rocblas_int. n >= 0. The number of columns of all matrices A_l in the batch. [in,out] A - array of pointers to type. Each pointer points to an array on the GPU of dimension lda*n. On entry, the m-by-n matrices A_l to be factored. On exit, the factors L_l and U_l from the factorizations. The unit diagonal elements of L_l are not stored. [in] lda - rocblas_int. lda >= m. Specifies the leading dimension of matrices A_l. [out] ipiv - pointer to rocblas_int. Array on the GPU (the size depends on the value of strideP). Contains the vectors of pivot indices ipiv_l (corresponding to A_l). Dimension of ipiv_l is min(m,n). Elements of ipiv_l are 1-based indices. For each instance A_l in the batch and for 1 <= i <= min(m,n), row i of the matrix A_l was interchanged with row ipiv_l[i]. Matrix P_l of the factorization can be derived from ipiv_l. [in] strideP - rocblas_stride. Stride from the start of one vector ipiv_l to the next one ipiv_(l+1). There is no restriction for the value of strideP. The normal use case is strideP >= min(m,n). [out] myInfo - pointer to rocblas_int. Array of batch_count integers on the GPU. If info[l] = 0, successful exit for factorization of A_l. If info[l] = i > 0, U_l is singular. U_l[i,i] is the first zero pivot. [in] batch_count - rocblas_int. batch_count >= 0. Number of matrices in the batch.
Member Function/Subroutine Documentation
◆ rocsolver_sgetf2_batched_()
| integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sgetf2_batched::rocsolver_sgetf2_batched_ | ( | 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, | ||
| type(c_ptr), value | ipiv, | ||
| integer(c_int64_t), value | stridep, | ||
| type(c_ptr), value | myinfo, | ||
| integer(c_int), value | batch_count | ||
| ) |
◆ rocsolver_sgetf2_batched_rank_0()
| integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sgetf2_batched::rocsolver_sgetf2_batched_rank_0 | ( | type(c_ptr) | handle, |
| integer(c_int) | m, | ||
| integer(c_int) | n, | ||
| type(c_ptr) | a, | ||
| integer(c_int) | lda, | ||
| integer(c_int), target | ipiv, | ||
| integer(c_int64_t) | stridep, | ||
| type(c_ptr) | myinfo, | ||
| integer(c_int) | batch_count | ||
| ) |
◆ rocsolver_sgetf2_batched_rank_1()
| integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sgetf2_batched::rocsolver_sgetf2_batched_rank_1 | ( | type(c_ptr) | handle, |
| integer(c_int) | m, | ||
| integer(c_int) | n, | ||
| type(c_ptr) | a, | ||
| integer(c_int) | lda, | ||
| integer(c_int), dimension(:), target | ipiv, | ||
| integer(c_int64_t) | stridep, | ||
| type(c_ptr) | myinfo, | ||
| integer(c_int) | batch_count | ||
| ) |
The documentation for this interface was generated from the following file: