getrs_batch_scratchpad_size#
Computes size of scratchpad memory required for the getrs_batch function.
Description
getrs_batch_scratchpad_size
supports the following precisions.
T
float
double
std::complex<float>
std::complex<double>
Group API
Computes the number of elements of type T
the scratchpad memory should able to hold to be passed to the Group API of the getrs_batch function.
Syntax
namespace oneapi::mkl::lapack {
template <typename T>
std::int64_t getrs_batch_scratchpad_size(sycl::queue &queue, mkl::transpose *trans, std::int64_t *n, std::int64_t *nrhs, std::int64_t *lda, std::int64_t *ldb, std::int64_t group_count, std::int64_t *group_sizes)
}
Input Parameters
- queue
Device queue where calculations will be performed.
- trans
- Array of
group_count
parameters \(\text{trans}_g\) indicating the form of the equations for the group \(g\):Iftrans = mkl::transpose::nontrans
, then \(A_iX_i = B_i\) is solved for \(X_i\).Iftrans = mkl::transpose::trans
, then \(A_i^TX_i = B_i\) is solved for \(X_i\).Iftrans = mkl::transpose::conjtrans
, then \(A_iHX_i = B_i\) is solved for \(X_i\). - n
Array of
group_count
parameters \(n_g\) specifying the order of the matrices \(A_i\) and the number of rows in matrices \(B_i\) (\(0 \le n_g\)) belonging to group \(g\).- nrhs
Array of
group_count
parameters nrhsg specifying the number of right-hand sides (\(0 \le \text{nrhs}_g\)) for group \(g\).- lda
Array of
group_count
parameters \(\text{lda}_g\) specifying the leading dimensions of \(A_i\) from group \(g\).- ldb
Array of
group_count
parameters \(\text{ldb}_g\) specifying the leading dimensions of \(B_i\) in the group \(g\).- group_count
Number of groups of parameters. Must be at least 0.
- group_sizes
Array of
group_count
integers. Array element with index \(g\) specifies the number of problems to solve for each of the groups of parameters \(g\). So the total number of problems to solve,batch_size
, is a sum of all parameter group sizes.
Return Values
Number of elements of type T
the scratchpad memory should able to hold to be passed to the Group API of the getrs_batch function.
Strided API
Computes the number of elements of type T
the scratchpad memory should able to hold to be passed to the Strided API of the getrs_batch function.
Syntax
namespace oneapi::mkl::lapack {
template <typename T>
std::int64_t getrs_batch_scratchpad_size(sycl::queue &queue, mkl::transpose trans, std::int64_t n, std::int64_t nrhs, std::int64_t lda, std::int64_t stride_a, std::int64_t stride_ipiv, std::int64_t ldb, std::int64_t stride_b, std::int64_t batch_size)
};
Input Parameters
- queue
Device queue where calculations will be performed.
- trans
- Indicates the form of the equations:
If trans = mkl::transpose::nontrans
, then \(A_iX_i = B_i\) is solved for \(X_i\).Iftrans = mkl::transpose::trans
, then \(A_i^TX_i = B_i\) is solved for \(X_i\).Iftrans = mkl::transpose::conjtrans
, then \(A_i^HX_i = B_i\) is solved for \(X_i\). - n
Order of the matrices \(A_i\) and the number of rows in matrices \(B_i\) (\(0 \le n\)).
- nrhs
Number of right-hand sides (\(0 \le \text{nrhs}\)).
- lda
Leading dimension of \(A_i\).
- stride_a
Stride between the beginnings of matrices \(B_i\) inside the batch array
b
.- stride_ipiv
Stride between the beginnings of arrays ipivi inside the array
ipiv
.- ldb
Leading dimension of \(B_i\).
- batch_size
Number of problems in a batch.
Return Values
Number of elements of type T
the scratchpad memory should able to hold to be passed to the Strided API of the getrs_batch function.
Parent topic: LAPACK-like Extensions Routines