Computes size of scratchpad memory required for trtrs (USM Version) function. This routine belongs to the mkl::lapack namespace.
template<typename T>
std::int64_t gebrd_scratchpad_size(cl::sycl::queue &queue, mkl::uplo uplo, mkl::transpose trans, mkl::diag diag, std::int64_t n, std::int64_t lda, std::int64_t ldb);
Computes the number of elements of type T the scratchpad memory to be passed to the trtrs (buffer or USM version) function should be able to hold.
Device queue where calculations by the trtrs (buffer or USM version) function will be performed.
Indicates whether A is upper or lower triangular:
If uplo = uplo::upper, then A is upper triangular.
If uplo = uplo::lower, then A is lower triangular.
If transa = transpose::nontrans, then A*X = B is solved for X.
If transa = transpose::trans, then AT*X = B is solved for X.
If transa = transpose::conjtrans, then AH*X = B is solved for X.
If diag = diag::nonunit, then A is not a unit triangular matrix.
If diag = diag::unit, then A is unit triangular: diagonal elements of A are assumed to be 1 and not referenced in the array a.
The order of A; the number of rows in B; n≥ 0.
The number of right-hand sides; nrhs≥ 0.
The leading dimension of a; lda≥ max(1, n).
The leading dimension of b; ldb≥ max(1, n).
Exceptions
mkl::lapack::exception |
This exception is thrown when an incorrect argument value is supplied. You can determine the position of the incorrect argument by the info() method of the exception object. |
The number of elements of type T the scratchpad memory to be passed to the trtrs (buffer or USM version) function should be able to hold.