unmtr_scratchpad_size

Computes size of scratchpad memory required for unmtr (USM Version) function. This routine belongs to the oneapi::mkl::lapack namespace.

Description

Computes the number of elements of type T the scratchpad memory to be passed to the unmtr (buffer or USM version) function should be able to hold.

API

Syntax

namespace oneapi::mkl::lapack {
  template<typename T>
  std::int64_t unmtr_scratchpad_size(cl::sycl::queue &queue,
  mkl::side side,
  mkl::uplo uplo,
  mkl::transpose trans,
  std::int64_t n,
  std::int64_t lda,
  std::int64_t ldc)
}

Input Parameters

In the descriptions below, r denotes the order of Q:

r = m

if side = side::left

r = n

if side = side::right

queue

Device queue where calculations by the unmtr (buffer or USM version) function will be performed.

side

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.

uplo

Must be either uplo::upper or uplo::lower. Uses the same uplo as supplied to hetrd (USM Version).

trans

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.

m

The number of rows in the matrix C(m 0).

n

The number of columns in the matrix C(n 0).

lda

The leading dimension of a(max(1, r) lda).

ldc

The leading dimension of c(max(1, n) ldc).

Exceptions

Exception

Description

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.

Return Values

The number of elements of type T the scratchpad memory to be passed to the unmtr (buffer or USM version) function should be able to hold.