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$$:
If trans = mkl::transpose::nontrans, then $$A_iX_i = B_i$$ is solved for $$X_i$$.
If trans = mkl::transpose::trans, then $$A_i^TX_i = B_i$$ is solved for $$X_i$$.
If trans = 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$$.
If trans = mkl::transpose::trans, then $$A_i^TX_i = B_i$$ is solved for $$X_i$$.
If trans = 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