gesvd_scratchpad_size

Computes size of scratchpad memory required for gesvd (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 gesvd (buffer or USM version) function should be able to hold.

API

Syntax

namespace oneapi::mkl::lapack {
  template<typename T>
  std::int64_t gesvd_scratchpad_size(cl::sycl::queue &queue,
  mkl::jobsvd jobu,
  mkl::jobsvd jobvt,
  std::int64_t m,
  std::int64_t n,
  std::int64_t lda,
  std::int64_t ldu,
  std::int64_t ldvt)
}

Input Parameters

queue

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

jobu

Must be jobsvd::vectors, jobsvd::somevec, jobsvd::vectorsina, or jobsvd::novec. Specifies options for computing all or part of the matrix U.

If jobu = jobsvd::vectors, all m columns of U are returned in the array u;

if jobu = jobsvd::somevec, the first min(m, n) columns of U (the left singular vectors) are returned in the array u;

if jobu = jobsvd::vectorsina, the first min(m, n) columns of U (the left singular vectors) are overwritten on the array a;

if jobu = jobsvd::novec, no columns of U (no left singular vectors) are computed.

jobvt

Must be jobsvd::vectors, jobsvd::somevec, jobsvd::vectorsina, or jobsvd::novec. Specifies options for computing all or part of the matrix VT/VH.

If jobvt = jobsvd::vectors, all n columns of VT/VH are returned in the array vt;

if jobvt = jobsvd::somevec, the first min(m, n) columns of VT/VH (the left singular vectors) are returned in the array vt;

if jobvt = jobsvd::vectorsina, the first min(m, n) columns of VT/VH (the left singular vectors) are overwritten on the array a;

if jobvt = jobsvd::novec, no columns of VT/VH (no left singular vectors) are computed.

jobvt and jobu cannot both be job::overwritevec.

m

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

n

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

lda

The leading dimension of a.

ldu

The leading dimension of u.

ldvt

The leading dimension of vt.

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 get_info() method of the exception object.

Return Values

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