rocsolver_sgetf2_npvt_strided_batched Interface Reference#
The GETF2_NPVT_STRIDED_BATCHED functions compute the LU factorization of a batch of general m-by-n matrices without partial pivoting.
More...
Public Member Functions | |
| integer(kind(rocblas_status_success)) function | rocsolver_sgetf2_npvt_strided_batched_ (handle, m, n, a, lda, stridea, myinfo, batch_count) |
| integer(kind(rocblas_status_success)) function | rocsolver_sgetf2_npvt_strided_batched_rank_0 (handle, m, n, a, lda, stridea, myinfo, batch_count) |
| integer(kind(rocblas_status_success)) function | rocsolver_sgetf2_npvt_strided_batched_rank_1 (handle, m, n, a, lda, stridea, myinfo, batch_count) |
| integer(kind(rocblas_status_success)) function | rocsolver_sgetf2_npvt_strided_batched_full_rank (handle, m, n, a, lda, stridea, myinfo, batch_count) |
Detailed Description
The GETF2_NPVT_STRIDED_BATCHED functions compute the LU factorization of a batch of general m-by-n matrices without partial pivoting.
(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 = L_l U_l \]
where \(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).
- Note
- Although this routine can offer better performance, Gaussian elimination without pivoting is not backward stable. If numerical accuracy is compromised, use GETF2_STRIDED_BATCHED routines instead.
- 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 - pointer to type. Array on the GPU (the size depends on the value of strideA). On entry, the m-by-n matrices A_l to be factored. On exit, the factors L_l and U_l from the factorization. The unit diagonal elements of L_l are not stored. [in] lda - rocblas_int. lda >= m. Specifies the leading dimension of matrices A_l. [in] strideA - rocblas_stride. Stride from the start of one matrix A_l to the next one A_(l+1). There is no restriction for the value of strideA. The normal use case is strideA >= lda*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 element in the diagonal. The factorization from this point might be incomplete. [in] batch_count - rocblas_int. batch_count >= 0. Number of matrices in the batch.
Member Function/Subroutine Documentation
◆ rocsolver_sgetf2_npvt_strided_batched_()
| integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sgetf2_npvt_strided_batched::rocsolver_sgetf2_npvt_strided_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, | ||
| integer(c_int64_t), value | stridea, | ||
| type(c_ptr), value | myinfo, | ||
| integer(c_int), value | batch_count | ||
| ) |
◆ rocsolver_sgetf2_npvt_strided_batched_full_rank()
| integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sgetf2_npvt_strided_batched::rocsolver_sgetf2_npvt_strided_batched_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, | ||
| type(c_ptr) | myinfo, | ||
| integer(c_int) | batch_count | ||
| ) |
◆ rocsolver_sgetf2_npvt_strided_batched_rank_0()
| integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sgetf2_npvt_strided_batched::rocsolver_sgetf2_npvt_strided_batched_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, | ||
| type(c_ptr) | myinfo, | ||
| integer(c_int) | batch_count | ||
| ) |
◆ rocsolver_sgetf2_npvt_strided_batched_rank_1()
| integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sgetf2_npvt_strided_batched::rocsolver_sgetf2_npvt_strided_batched_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, | ||
| type(c_ptr) | myinfo, | ||
| integer(c_int) | batch_count | ||
| ) |
The documentation for this interface was generated from the following file: