gesv (USM Version)¶
Computes the solution to the system of linear equations with a square
coefficient matrix and multiple right-hand sides.
This routine belongs to the oneapi::mkl::lapack
namespace.
Description¶
The routine solves for X
the system of linear equations A*X = B
, where A
is an n-by-n matrix, the columns of matrix B
are individual right-hand sides, and the columns of X
are the corresponding solutions.
The LU decomposition with partial pivoting and row interchanges is used to factor A
as A = P*L*U
, where P
is a permutation matrix, L
is unit lower triangular, and U
is upper triangular. The factored form of A
is then used to solve the system of equations A*X = B
.
API¶
Syntax¶
namespace oneapi::mkl::lapack {
sycl::event gesv(sycl::queue &queue,
std::int64_t n,
std::int64_t nrhs,
T *a,
std::int64_t lda,
std::int64_t *ipiv,
T *b,
std::int64_t ldb,
T *scratchpad,
std::int64_t scratchpad_size,
const std::vector<sycl::event> &events = {})
}
gesv
(USM version) supports the following precisions and
devices:
T |
Devices supported |
---|---|
|
CPU, GPU |
|
CPU, GPU |
|
CPU, GPU |
|
CPU, GPU |
Input Parameters¶
- queue
Device queue where calculations will be performed.
- n
The order of the matrix
A
;(0 ≤ n)
.- nrhs
The number of right-hand sides (
0 ≤ nrhs
).- a
Pointer to the n-by-n coefficient matrix
A
.- lda
The leading dimension of a.
- b
Pointer to the n-by-nrhs matrix of right hand side matrix
B
- ldb
The leading dimension of b.
- scratchpad
Pointer to scratchpad memory to be used by the routine for storing intermediate results.
- scratchpad_size
Size of scratchpad memory as a number of floating point elements of type
T
. Size should not be less than the value returned by the gesv_scratchpad_size function.- events
List of events to wait for before starting computation. Defaults to empty list.
Output Parameters¶
- a
Overwritten by the factors
L
andU
from the factorization ofA = P*L*U
; the unit diagonal elements ofL
are not stored.- b
The buffer b is overwritten by the solution matrix
X
.- ipiv
Array, size at least
max(1, n)
. The ipiv array, as returned by getrf (USM Version).
Exceptions¶
Exception |
Description |
---|---|
|
This exception is thrown when problems occur during calculations. You can obtain the info code of the problem using the info() method of the exception object: If If If |
Return Values¶
Output event to wait on to ensure computation is complete.