Computes size of scratchpad memory required for ormtr (USM Version) function. This routine belongs to the mkl::lapack namespace.
template<typename T>
std::int64_t ormtr_scratchpad_size(cl::sycl::queue &queue, mkl::side side, mkl::uplo uplo, mkl::transpose trans, std::int64_t m, std::int64_t n, std::int64_t lda, std::int64_t ldc);
Computes the number of elements of type T the scratchpad memory to be passed to the ormtr (buffer or USM version) function should be able to hold.
In the descriptions below, r denotes the order of Q:
r = m | if side = side::left |
r = n | if side = side::right |
Device queue where calculations by the ormtr (buffer or USM version) function will be performed.
Must be either side::left or side::right.
If side = side::left, Q or QT is applied to C from the left.
If side = side::right, Q or QT is applied to C from the right.
Must be either uplo::upper or uplo::lower. Uses the same uplo as supplied to sytrd (USM Version).
Must be either transpose::nontrans or transpose::trans.
If trans = transpose::nontrans, the routine multiplies C by Q.
If trans = transpose::trans, the routine multiplies C by QT.
The number of rows in the matrix C(m ≥ 0).
The number of columns in the matrix C(n ≥ 0).
The leading dimension of a(max(1, r) ≤ lda).
The leading dimension of c(max(1, n) ≤ ldc).
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 ormtr (buffer or USM version) function should be able to hold.