getri_batch (Out-of-place, Buffer Strided Version)

Computes the batch of inverses of an LU-factored general matrices determined by getrf_batch (Buffer stride version) function. This routine belongs to the oneapi::mkl::lapack namespace.

Description

The routine computes the inverses A i-1 of a general matrices A i. Before calling this routine, call getrf_batch (Buffer Strided Version) function to factorize A i.

API

Syntax

namespace oneapi::mkl::lapack {
 sycl::event getri_batch(sycl::queue &queue,
 std::int64_t n,
 sycl::buffer<T> &a,
 std::int64_t lda,
 std::int64_t stride_a,
 sycl::buffer<std::int64_t> &ipiv,
 std::int64_t stride_ipiv,
 sycl::buffer<T> &ainv,
 std::int64_t ldainv,
 std::int64_t stride_ainv,
 std::int64_t batch_size,
 sycl::buffer<T> &scratchpad,
 std::int64_t scratchpad_size)
}

This function supports the following precisions and devices:

T

Devices supported

float

CPU and GPU

double

CPU and GPU

std::complex<float>

CPU and GPU

std::complex<double>

CPU and GPU

Input Parameters

queue

Device queue where calculations will be performed.

n

The order of the matrices Ai (n ≥ 0).

a

Result of the getrf_batch (Buffer Strided Version) function

lda

The leading dimension of Ai (ldamax(1, n)).

stride_a

The stride between the beginnings of matrices Ai inside the batch array a (stride_amax(1, lda * n)).

ipiv

The array as returned by getrf_batch (Buffer Strided Version).

stride_ipiv

The stride between the beginnings of arrays ipivi inside the array ipiv (stride_ipivmax(1, n)).

ldainv

The leading dimension of Ainvi (ldainvmax(1, n)).

stride_ainv

The stride between the beginnings of matrices Ainvi inside the batch array ainv (stride_ainvmax(1, ldainv * n)).

batch_size

The number of problems in a batch (batch_size ≥ 0).

scratchpad

Scratchpad memory to be used by routine for storing intermediate results.

scratchpad_size

Size of scratchpad memory as a number of floating point elements of type T. Size should not be less than the value returned by the out-of-place, stride version of getri_batch_scratchpad_size (Strided Version) function.

Output Parameters

ainv

Overwritten by the n-by-n matrices Ai-1.

Exceptions

Exception

Description

mkl::lapack::batch_exception

This exception is thrown when problems occur during calculations. You can obtain the info code of the problem using the info() method of the exception object:

If info = -n, the n-th parameter had an illegal value.

If info equals the value passed as scratchpad size, and detail() returns non-zero, then the passed scratchpad is of insufficient size, and the required size should be not less then value returned by the detail() method of the exception object.