Computes size of scratchpad memory required for orgbr function.

orgbr_scratchpad_size supports the following precisions.

T

float

double

Description

Computes the number of elements of type T the scratchpad memory to be passed to orgbr function should be able to hold. Calls to this routine must specify the template parameter explicitly.

Syntax

namespace oneapi::mkl::lapack {
template <typename T>
std::int64_t orgbr_scratchpad_size(cl::sycl::queue &queue, oneapi::mkl::generate gen, std::int64_t m, std::int64_t n, std::int64_t k, std::int64_t lda, std::int64_t &scratchpad_size)
}


Input Parameters

queue

Device queue where calculations by orgbr function will be performed.

gen

Must be generate::q or generate::p.

If gen = generate::q, the routine generates the matrix $$Q$$.

If gen = generate::p, the routine generates the matrix $$P^{T}$$.

m

The number of rows in the matrix $$Q$$ or $$P^{T}$$ to be returned $$(0 \le m)$$.

If gen = generate::q, $$m \le n \le \min(m, k)$$.

If gen = generate::p, $$n \le m \le \min(n, k)$$.

n

The number of rows in the matrix $$Q$$ or $$P^{T}$$ to be returned $$(0 \le n)$$. See m for constraints.

k

If gen = generate::q, the number of columns in the original $$m \times k$$ matrix returned by gebrd.

If gen = generate::p, the number of rows in the original $$k \times n$$ matrix returned by gebrd.

lda

The leading dimension of a.

Throws

This routine shall throw the following exceptions if the associated condition is detected. An implementation may throw additional implementation-specific exception(s) in case of error conditions not covered here.

oneapi::mkl::unimplemented

oneapi::mkl::unsupported_device

oneapi::mkl::lapack::invalid_argument

Exception is thrown in case of incorrect supplied argument value. Position of wrong argument can be determined by info() method of exception object.

Return Value

The number of elements of type T the scratchpad memory to be passed to orgbr function should be able to hold.