rocsolver_sgesv_batched Interface Reference

rocsolver_sgesv_batched Interface Reference#

HIPFORT API Reference: hipfort_rocsolver::rocsolver_sgesv_batched Interface Reference
hipfort_rocsolver::rocsolver_sgesv_batched Interface Reference

The GESV_BATCHED functions solve a batch of general systems of n linear equations on n variables. More...

Public Member Functions

integer(kind(rocblas_status_success)) function rocsolver_sgesv_batched_ (handle, n, nrhs, a, lda, ipiv, stridep, b, ldb, myinfo, batch_count)
 
integer(kind(rocblas_status_success)) function rocsolver_sgesv_batched_rank_0 (handle, n, nrhs, a, lda, ipiv, stridep, b, ldb, myinfo, batch_count)
 
integer(kind(rocblas_status_success)) function rocsolver_sgesv_batched_rank_1 (handle, n, nrhs, a, lda, ipiv, stridep, b, ldb, myinfo, batch_count)
 

Detailed Description

The GESV_BATCHED functions solve a batch of general systems of n linear equations on n variables.

The linear systems are of the form

\[ A_l X_l = B_l \]

where \(A_l\) is a general n -by-n matrix. Matrix \(A_l\) is first factorized in triangular factors \(L_l\) and \(U_l\) using GETRF_BATCHED, then the solutions are computed with GETRS_BATCHED.

Parameters
[in]handle- rocblas_handle.
[in]n- rocblas_int. n >= 0. The order of the system, that is, the number of columns and rows of all A_l matrices.
[in]nrhs- rocblas_int. nrhs >= 0. The number of right hand sides, that is, the number of columns of all the matrices B_l.
[in,out]A- Array of pointers to type. Each pointer points to an array on the GPU of dimension lda*n. On entry, the matrices A_l. On exit, if info[l] = 0, the factors L_l and U_l of the LU decomposition of A_l returned by GETRF_BATCHED.
[in]lda- rocblas_int. lda >= n. 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). The vectors ipiv_l of pivot indices returned by GETRF_BATCHED.
[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 >= n.
[in,out]B- Array of pointers to type. Each pointer points to an array on the GPU of dimension ldb*nrhs. On entry, the right hand side matrices B_l. On exit, the solution matrix X_l of each system in the batch.
[in]ldb- rocblas_int. ldb >= n. The leading dimension of matrices B_l.
[out]myInfo- pointer to rocblas_int. Array of batch_count integers on the GPU. If info[l] = 0, successful exit for A_l. If info[l] = i > 0, U_l is singular, and the solution could not be computed. U_l[i,i] is the first zero element in the diagonal.
[in]batch_count- rocblas_int. batch_count >= 0. Number of instances (systems) in the batch.

Member Function/Subroutine Documentation

◆ rocsolver_sgesv_batched_()

integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sgesv_batched::rocsolver_sgesv_batched_ ( type(c_ptr), value  handle,
integer(c_int), value  n,
integer(c_int), value  nrhs,
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  b,
integer(c_int), value  ldb,
type(c_ptr), value  myinfo,
integer(c_int), value  batch_count 
)

◆ rocsolver_sgesv_batched_rank_0()

integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sgesv_batched::rocsolver_sgesv_batched_rank_0 ( type(c_ptr)  handle,
integer(c_int)  n,
integer(c_int)  nrhs,
type(c_ptr)  a,
integer(c_int)  lda,
integer(c_int), target  ipiv,
integer(c_int64_t)  stridep,
type(c_ptr)  b,
integer(c_int)  ldb,
type(c_ptr)  myinfo,
integer(c_int)  batch_count 
)

◆ rocsolver_sgesv_batched_rank_1()

integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sgesv_batched::rocsolver_sgesv_batched_rank_1 ( type(c_ptr)  handle,
integer(c_int)  n,
integer(c_int)  nrhs,
type(c_ptr)  a,
integer(c_int)  lda,
integer(c_int), dimension(:), target  ipiv,
integer(c_int64_t)  stridep,
type(c_ptr)  b,
integer(c_int)  ldb,
type(c_ptr)  myinfo,
integer(c_int)  batch_count 
)

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