onemkl::sparse::trsvOptimize

Performs internal optimizations for onemkl::sparse::trsv by analyzing the matrix structure.

Syntax

Note

Currently, complex types are not supported.

The API is the same when using SYCL buffers or USM pointers.

void onemkl::sparse::trsvOptimize(cl::sycl::queue &queue, onemkl::uplo uplo_val, onemkl::transpose transpose_val, onemkl::diag diag_val, matrixHandle_t handle)

Include Files

  • mkl_spblas_sycl.hpp

Description

Note

Refer to Exceptions for a detailed description of the exceptions thrown. The onemkl::sparse::trsvOptimize routine analyzes matrix structure and performs optimizations. Optimized data is then stored in the handle.

Input Parameters

queue

Specifies the SYCL command queue which will be used for SYCL kernels execution.

uplo_val

Specifies the triangular matrix part for the input matrix.

onemkl::uplo::lower

The lower triangular matrix part is processed.

onemkl::uplo::upper

The upper triangular matrix part is processed.

transpose_val

Specifies operation op() on input matrix.

onemkl::transpose::nontrans

Non-transpose, op(A) = A.

onemkl::transpose::trans

Transpose, op(A) = AT.

onemkl::transpose::conjtrans

Conjugate transpose, op(A) = AH.

Note

Currently, the only supported case for operation is onemkl::transpose::nontrans.

diag_val

Specifies if the input matrix has a unit diagonal or not.

onemkl::diag::nonunit

Diagonal elements might not be equal to one.

onemkl::diag::unit

Diagonal elements are equal to one.

handle

Handle to object containing sparse matrix and other internal data. Created using one of the onemkl::sparse::set<sparse_matrix_type>structure routines.

Note

Currently, the only supported case for <sparse_matrix_type> is CSR.