Visible to Intel only — GUID: GUID-BDD80A89-DF60-4109-8A90-65E88BC47BD3
Visible to Intel only — GUID: GUID-BDD80A89-DF60-4109-8A90-65E88BC47BD3
getrs_batch (USM Strided Version)
Solves a system of linear equations with a batch of LU-factored square coefficient matrices, with multiple right-hand sides. This routine belongs to the oneapi::mkl::lapack namespace.
Description
The routine solves for Xi the following systems of linear equations:
Ai * Xi = Bi If trans = mkl::transpose::notrans
AiT * Xi = Bi If trans = mkl::transpose::trans
AiH * Xi = Bi If trans = mkl::transpose::conjtrans
Before calling this routine you must call getrf_batch (USM Strided Version) to compute the LU factorization of Ai.
API
Syntax
namespace oneapi::mkl::lapack { sycl::event getrs_batch(sycl::queue &queue, mkl::transpose trans, std::int64_t n, std::int64_t nrhs, T *a, std::int64_t lda, std::int64_t stride_a, std::int64_t *ipiv, std::int64_t stride_ipiv, T *b, std::int64_t ldb, std::int64_t stride_b, std::int64_t batch_size, T *scratchpad, std::int64_t scratchpad_size, const std::vector<sycl::event> &events = {}) }
This function supports the following precisions and devices:
T |
Devices supported |
---|---|
float |
CPU and GPU |
double |
CPU and GPU |
std::complex<float> |
CPU and GPU |
std::complex<double> |
CPU and GPU |
Input Parameters
- queue
-
Device queue where calculations will be performed.
- trans
-
Indicates the form of the equations:
If trans = mkl::transpose::nontrans, then Ai*Xi = Bi is solved for Xi.
If trans = mkl::transpose::trans, then AiT*Xi = Bi is solved for Xi.
If trans = mkl::transpose::conjtrans, then AiH*Xi = Bi is solved for Xi.
- n
-
The order of the matrices Ai and the number of rows in matrices Bi (0 ≤ n).
- nrhs
-
The number of right hand sides (0 ≤ nrhs).
- a
-
Array containing the factorizations of the matrices Ai, as returned by getrf_batch (USM Strided Version).
- lda
-
The leading dimension of Ai.
- stride_a
-
The stride between the beginnings of matrices Ai inside the batch array a.
- ipiv
-
The ipiv array, as returned by getrf_batch (USM Strided Version).
- stride_ipiv
-
The stride between the beginnings of arrays ipivi inside the array ipiv.
- b
-
The array containing the matrices Bi whose columns are the right-hand sides for the systems of equations.
- ldb
-
The leading dimensions of Bi.
- stride_b
-
The stride between the beginnings of matrices Bi inside the batch array b.
- batch_size
-
The number of problems in a batch.
- scratchpad
-
Scratchpad memory to be used by 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 then the value returned by stride version of getrs_batch_scratchpad_size (Strided Version) function.
- events
-
List of events to wait for before starting computation. Defaults to empty list.
Output Parameters
- b
-
Overwritten by the solution matrices Xi.
Exceptions
Exception |
Description |
---|---|
mkl::lapack::batch_exception |
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:
|
Return Values
Output event to wait on to ensure computation is complete.